/ culture

El camino del Samurai

7 min read

“Los asuntos de gran importancia deben tratarse ligeramente. El Maestro Ittei comenta al respecto: Los asuntos de poca importancia deben tratarse seriamente.”
-Yamamoto Tsunetomo, Hagakure: El Libro del Samurai

Introducción


Nuestra profesión es bastante joven. No solo porque tiene pocos años de vida en comparación con otras, sino que también el promedio de edad suele ser bastante bajo. Una persona que no sea de nuestra industria podría entrar a una empresa de tecnología y preguntarse: “¿dónde están los y las programadores/as de más de 40 años?”. Como en otras tantas profesiones, y gracias a los modelos tradicionales de las organizaciones, se fue instalando el pensamiento común de que para poder crecer es necesario ir dejando el trabajo más técnico para escalar por la pirámide de cargos gerenciales. Pasar a ser “jefe/a”, tener gente a cargo, renunciar a las tareas más “operativas” suele ser el camino que muchas veces se piensa como la única vía. Irónicamente, para crecer en la carrera profesional, parece ser necesario abandonar la profesión.

Si bien existe el dilema de que nunca habrá tantos puestos de “jefe/a” como personas con expectativas de crecimiento, resulta más interesante destacar que mucha gente no desea este cambio en su carrera. Por suerte para nuestra profesión, el trabajo más “técnico”, por más años que uno pase en él, nunca se hace aburrido, ya que la tecnología se renueva constantemente y los desafíos cambian todo el tiempo. Creo que este reto, “cómo crecer sin abandonar la profesión técnica”, es válido en toda nuestra industria, pero es especialmente interesante en 10Pines, ya que aquí hemos elegido abandonar las jerarquías tradicionales. Ni siquiera tenemos esos niveles de “jefes/as” y mandos medios, por los que ir creciendo de escalón en escalón[1].

Una historia sencilla


En el año 2016, me aceptaron una charla en la conferencia de XP y tuve la posibilidad de viajar a Edimburgo para presentarla. Durante la conferencia escuché en varias ocasiones nombrar un lenguaje de programación que hasta entonces desconocía: Elixir. Por ese entonces, yo venía trabajando hace bastante tiempo con Ruby. En nuestra empresa teníamos muchas oportunidades de nuevos proyectos con ese lenguaje. Hace un tiempo que tenía la sensación de que Ruby estaba en un punto de su curva de adopción bastante avanzado, donde posiblemente muy pronto iba a ser reemplazado por alguna otra tecnología nueva. Me llamó la atención lo que escuché de Elixir y decidí comprarme un libro en la biblioteca del congreso. Leyendo más sobre el lenguaje, comencé a interesarme y a verlo como un serio candidato para reemplazar a Ruby. El lenguaje nació de una persona muy comprometida con la comunidad de Ruby y mantenía la idea de una sintaxis simple y amigable para los programadores, pero se movía al paradigma funcional que parecía estar creciendo en popularidad, además de estar construido en una VM muy robusta para escalar en ambientes de alta concurrencia (tal vez una de las falencias principales de Ruby). Una vez que la idea de que Elixir podía ser el próximo Ruby quedó plantada en mi cabeza, me lancé a encarar el desafío.

Lo primero que hice fue leer varios libros[2]. Luego vi varios videos[3] y me puse a leer algunos blogs. Escribí alguna que otra aplicación de juguete con Phoenix y, cuando me sentí listo, me animé a escribir mi primer libreria open source y un pequeño blog para anunciarla. Busqué contagiar a otras personas preparando charlas dentro de 10Pines y creando una comunidad de prácticas sobre Elixir[4]. Finalmente, cuando llegó un cliente con la necesidad de una aplicación sin tener un lenguaje de programación predilecto, aproveché la oportunidad y logré convencer al equipo y al cliente de usar Elixir para poder desarrollar nuestra primera aplicación productiva.
Cuando terminó ese pequeño proyecto, seguí atento a las novedades de Elixir, me inscribí a los newsletters para estar al tanto de las noticias y, cuando salieron features interesantes, no dude en escribir pequeñas aplicaciones para probarlos[5].

No obstante, todavía necesitábamos darnos a conocer a potenciales clientes y que encuentren a 10Pines cuando busquen empresas que programen con Elixir. Así que busqué gente entusiasmada en la comunidad y me lancé a organizar Meetups junto con la comunidad de Erlang. Más adelante, planifiqué, con esta misma gente la primer conferencia en Argentina de Elixir&Erlang con invitados internacionales[6]. Anoté a nuestra empresa en los directorios de empresas que usan Elixir y me suscribí al Slack de la comunidad para seguir las oportunidades de negocio y ofrecer nuestros servicios cada vez que veía una interesante.

Si me preguntan, luego de este esfuerzo, cuántos proyectos con Elixir tiene 10Pines hoy en día mientras escribo estas líneas, la respuesta es: cero.

¿Éxito o fracaso?


Si medimos el éxito o fracaso únicamente por el éxito comercial o económico, entonces deberíamos decir que el esfuerzo realizado fue un fracaso. Pero estoy convencido de que esa no sería la manera correcta de medirlo. El éxito o fracaso no está solo en el punto de llegada. Está también en el camino. Fue un éxito porque me permitió aprender un nuevo lenguaje de programación y entrar en un paradigma (programación funcional) con el que no tenía mucha experiencia. Fue un éxito, porque en el camino cometí errores y aprendí qué cosas cambiaría si yo o alguien más tuviera que llevar adelante una iniciativa similar. Fue un éxito porque inspiré a otras personas a armar sus propias comunidades de práctica acerca de otros temas que les apasionaban. La conferencia fue un éxito en sí misma: nos puso en contacto con nuevas personas; nos demostró que podíamos organizar nuestras propias conferencias; y nos dio un espacio de aprendizaje. También fue un éxito porque recibimos oportunidades de clientes que no conocíamos antes y que lamentablemente no pudimos tomar por falta de capacidad, pero que nos abrieron nuevos contactos y demostraron que existe un mercado, incipiente pero en crecimiento, relacionado a Elixir. Los éxitos comerciales o resultados económicos tardan en llegar. Muchas veces llegan también por caminos inesperados. Eso no implica que tengamos que desistir de continuar por el camino que comenzamos o de re-pensar y tomar un camino nuevo aprovechando el aprendizaje obtenido. Lo fundamental es no dejarnos abatir por no obtener algún resultado que nos generaba muchas expectativas, sino de poder ver todo lo que logramos y, si hace falta, planificar una nueva estrategia para continuar y seguir avanzando.

Conclusión


“La sombra de un hombre nunca puede levantarse y caminar por sí misma”
-Cita de la película Kamegusha de Akira Kurosawa

Estoy convencido de que hay un camino de crecimiento profesional muy interesante y con muchas posibilidades para las personas que se inclinan por opciones relacionadas al desarrollo técnico. Este camino se hace cada vez más desafiante a medida que se avanza, ya que no solo implica entrar en terrenos desconocidos, sino también una cuota importante de imaginación para explorar ideas que pueden parecer poco realistas. A pesar de las infinitas oportunidades, no siempre es sencillo continuar avanzando. Ya sea por falta de tiempo, iniciativa. A veces, cuando hay tantas oportunidades diferentes, se termina cayendo en una especie de análisis-parálisis.

Mi consejo, si tenés interés en desarrollarte por este camino, es primero comenzar por armar un pequeño listado. Enumerá todas las cosas que te gustan y apasionan, las que estarías dispuesto/a a dedicarle tiempo, incluso cuando no se espera que lo hagas, como leer un libro a la noche antes de dormir o ver un video en el viaje o durante algún otro espacio libre. Luego armá un segundo listado, con las cosas que creés que podrían agregar valor en la comunidad, o en la empresa, o producto, o proyecto o el equipo en el que estás trabajando. Cuanto más abarcativo sea el ámbito, mayor será el impacto del valor que agrega (por ejemplo, si tiene impacto en toda la empresa, agregará más valor que solo en un equipo), pero no deja de ser valioso ni debería descartarse solo por tener un impacto más pequeño. Finalmente, tratá de encontrar las cosas en común entre ambos listados y elegí priorizando entre las que más pasión y valor entregan. No olvidar que es bueno tener en cuenta un horizonte de tiempo. Pensá qué objetivos podés alcanzar y hacer realizables, teniendo en cuenta el tiempo que le vas a dedicar y la factibilidad para alcanzarlos (nunca está de más agregar una pequeña cuota de realismo a la mente más imaginativa, pero siempre sin poner un freno a las fantasías que nos permiten crear las cosas impensadas que nadie creería posibles). Una vez que tengamos elegido con qué avanzar, hay que poner manos a la obra. El primer paso más importante es: ¡Compartí tus ideas! Muy pocas cosas grandiosas se pueden lograr en soledad. Es fundamental poder armar un equipo que colabore para sumar más ideas y compartir el esfuerzo en grupo. Por último en esta instancia, el consejo que puedo dar es perseverar y no desistir frente al primer obstáculo. Pero, a la vez, tener una mirada crítica y poder aprender sobre la marcha y si en algún punto es necesario cambiar de estrategia y alejarse de la idea original, tener el valor y coraje para hacerlo.

Sin lugar a dudas, no es un camino sencillo. Por el contrario, es un camino largo y arduo, que a medida que se avanza se vuelve más complejo. No alcanza con tener las habilidades y los conocimientos, si bien estos son indispensables. Además de la capacidad personal, hace falta creatividad e imaginación. Pero, por sobre todo, hay que tener constancia, paciencia, dedicación y esfuerzo. También vamos a necesitar ayuda y tenemos que estar dispuestos/as a buscarla. Pero sin olvidar, que nadie puede recorrer el camino por nosotros/as mismos/as.


  1. Para conocer un poco al respecto ver este artículo: https://blog.10pines.com/es/2017/08/11/que-significa-sin-jefes/ ↩︎

  2. En el siguiente orden, leí Programming Phoenix, Programming Elixir, Metaprogramming Elixir y una gran parte de Functional Web Development with Elixir, OTP and Phoenix ↩︎

  3. Recomiendo especialmente los videos de Dave Thomas ↩︎

  4. En ese momento no teníamos el concepto incorporado de comunidad de prácticas, así que de paso también instalé el modelo para impulsar otras comunidades de prácticas a las que llamamos Greenhouses ↩︎

  5. El último feature interesante sin lugar a dudas fue Phoenix LIve, escribí esta pequeña aplicación para manejar varias listas de regalos para cumpleaños, navidad y otros eventos ↩︎

  6. La conferencia fue publicitada como la Erlang Factory Lite de Buenos Aires: http://www.erlang-factory.com/eflba2017/ ↩︎


¿Querés conocer más sobre el camino de los y las programadores/as en 10Pines?


Tenemos un sitio de cultura que te recomendamos ampliamente: http://cultura.10pines.com/

Tambien escribimos otro post similar a éste, que quizás te interese: https://blog.10pines.com/2021/04/12/una-pequena-charla-conmigo-mismo/

En nuestro blog podés filtrar los artículos que escribimos por el tag cultura: https://blog.10pines.com/tag/culture/


Si tenés más dudas, escribinos por cualquiera de nuestras redes sociales. A veces tardamos en responder (por todo eso que tenemos muchas responsabilidades en el día a día) pero eventualmente lo hacemos.


Recibí nuestra Newsletter!

¿Querés estar al tanto de todo lo que pasa en 10Pines?
* Campo requerido

¿Qué te gustaría recibir?