La historia de Jorge
Sobre cómo cambiar de trabajo por pasión
Sobre cómo cambiar de trabajo por pasión
El poder de la decisión
Mi historia empieza, como la mayoría, con una decisión. El propósito de esta decisión era cumplir un sueño, transformar una afición en una profesión. Sé que fue difícil introducirme en este mundo tech pero nada es imposible y menos con ganas, dedicación y esfuerzo. Creo que hoy en día puedo decir que lo he cumplido.
Cómo me convertí en desarrollador de software
Todo empezó al terminar el bachillerato y decidir sobre mi futuro profesional a través de la universidad. Dudé entre estudiar mi afición, ingeniería informática, o una carrera que tenía mucha salida laboral en ese momento, ingeniería geomática. Finalmente elegí geomática por el amplio mercado laboral y porque me interesaba trabajar al aire libre. La decisión no fue desafortunada pero llegó la crisis económica, aguanté cinco años trabajando en distintas partes del mundo.
A principios de 2016 mi novia encontró un buen trabajo en Barcelona y yo no quería soportar las jornadas interminables, el poco valor como profesional y el sueldo mensual cada vez más bajo. Así que dejé mi trabajo y ambos nos vinimos a Barcelona. Al principio empecé a buscar trabajo como ingeniero geomático pero después de dos meses sin respuestas, empecé a considerar dedicarme a otra profesión. ¿Y por qué no algo relacionado con mi afición?
¿Podría convertirme en desarrollador web?
Convertir mi afición en mi profesión
La decisión fue muy difícil, básicamente por la incertidumbre que me causaba invertir tiempo y dinero en un aprendizaje del que no sabía si me daría opción a un trabajo. Y, además, dejar una profesión que me encanta y toda la experiencia ya ganada.
Finalmente, lo consideré todo y decidí arriesgarme.
Empecé a buscar másteres y cursos especializados para aprender rápido, de forma intensiva y con la idea de empezar a trabajar cuanto antes. Un mes después estaba empezando un bootcamp con Ironhack, era exactamente lo que estaba buscando. Fueron ocho semanas de trabajo duro aprendiendo contenidos que no había oído en mi vida, empezando por configurar Ubuntu 14.04 en mi máquina y siguiendo con Bootstrap, SASS, API, Git, Ruby, Sinatra, Rails…
Empezando en el mundo real
Un mes después de terminar el bootcamp, empecé a trabajar en Quipu. Albert Bellonch, el CTO, había sido mi mentor en mi proyecto de Ironhack y me había dicho que pronto podrían necesitar un perfil junior de entrada, ¡y ese era yo!
Empecé el 6 de septiembre de 2016, las primeras semanas fueron difíciles, tenía una base muy básica y había entrado en el mundo real. Yo creía que GIT era pull, add, status, commit y push, de repente tuve que entender que era rebase, checkout, branch, cherry-pick, push -f…
En mi primera semana me dediqué a aprender sobre un proyecto rails de ejemplo que había creado, creando modelos, controladores, vistas, básicamente la base de conocimiento de rails.
El 12 de septiembre logré un gran hito, mi primer commit y PR, el texto exacto del commit era “fix french copies from tour” y había cuatro líneas cambiadas.
Hoy, después de más de 500 commits, lo veo como una tontería pero en aquel momento era una gran satisfacción poder contribuir al producto en producción.
No dejar nunca de aprender
Paso a paso seguí tocando las partes más sencillas de la aplicación, haciendo pequeños arreglos, pequeñas traducciones y alguna pequeña tarea completa para el backoffice. También empecé a aprender algo de wordpress para poder gestionar el mantenimiento del blog.
Aprender, aprender y aprender era y es mi día a día, hoy en día esta es la dinámica y estoy encantado y más cuando es mi afición.
Las semanas pasaron y cada vez me veía con más confianza y capacidad para explorar partes más complejas y empecé la integración con Salesforce. Otra vez lo mismo, aprender qué es salesforce, saber para qué lo necesitamos y empezar la implementación, usar una gem para facilitar la comunicación con la API, crear un servicio para obtener y traer los datos que queremos sincronizar. Después de muchas pruebas y errores, al final obtuvimos un sistema moderadamente estable que funcionaba de forma autónoma.
A partir de aquí llegó un momento en que, sin dejar de aprender, me sentí muy cómodo con Rails y todo lo que me pedían lo entendía y, al menos, podía pensar cómo implementarlo.
Pero el aprendizaje nunca se detuvo.
Al principio de estar en Quipu no entendía nada y con mucha paciencia me explicaban las partes más difíciles para mí. Más adelante y hasta hoy, sigo aprendiendo mucho de mis compañeros especialmente mirando su código. Usamos un sistema en el que todos podemos revisar el código de todos antes de hacer deploy, y también necesitamos que al menos dos compañeros aprueben el pull request para producción, así que dedico gran parte del día a revisar/aprender código de mis compañeros.
Esto solo funciona si tienes una buena planificación y comunicación (a través del uso de muchas herramientas online que facilitan las tareas diarias, como JIRA, Trello, Slack, Github, Rollbar).
Un modus operandi eficiente
Aquí usamos una metodología Agile, con la que asumimos la responsabilidad de cada una de nuestras tareas y se fomenta el cumplimiento para ser efectivos. Para esto gestionamos unos tiempos objetivo teniendo en cuenta que parte de nuestro horario laboral está destinado a reuniones, a resolver bugs y pequeñas tareas difíciles de planificar.
Al mismo tiempo he aprendido a hacer buenas búsquedas en internet sobre problemas concretos que encuentro cada día, la base teórica es muy importante en este aspecto ya que te facilita saber cómo se llaman las cosas y poder buscar de forma más eficiente problemas que seguramente le han pasado a otra persona.
Los compañeros, junto con las búsquedas en Internet, junto con algún tutorial que hago de vez en cuando se convierte en un buen sistema de aprendizaje continuo.
Por ejemplo después de unos meses me propuse aprender Ember para colaborar en el desarrollo de la app de Quipu, empecé con un tutorial básico pero al final decidimos cambiar de lenguaje y hacerlo en react native. Gracias a otro tutorial, aprendí a hacer cosas básicas y actualmente dedico alrededor del 25% de mi tiempo al desarrollo de la app con react native. Ahora mismo estoy en un momento en que creo que entiendo qué es y cómo funciona Redux pero en realidad todavía me queda mucho por aprender para sentirme cómodo programando en este lenguaje.
El otro 75% de mi tiempo sigo usándolo para features y fixes de rails. Hoy toco muchas partes de la aplicación, tanto front como back y tanto funcionalidades internas, como nuevos proyectos, marketing.
Lo que más me gusta es hacer proyectos desde cero, y hacerlo todo, crear la lógica, las tablas de la base de datos, los modelos, controladores, las vistas.
Y finalmente mi último gran avance fue hacer deploy en producción, hace unos meses Albert me propuso empezar a hacer algún deploy y con temblores dije que sí, sabía que es algo que conlleva mucha responsabilidad pero hay que seguir adelante y seguir aprendiendo siempre, así que ahí voy, haciendo deploys de vez en cuando.
Una transición profesional exitosa
Hace casi dos años no me podía imaginar haciendo deploy de código, refactorizando y entendiendo muy bien el código, comentando PR de compañeros y considerándome un junior de verdad. Todo esto tengo que agradecerlo a mis compañeros y especialmente a Albert y Roger por confiar en mí y contratarme cuando realmente no tenía nada más que ofrecer que ganas de aprender.
Cuando llegué éramos alrededor de 10 personas y ahora mismo seremos unas 30, gente joven y muy profesional que crea un gran ambiente de trabajo, aprendiendo y disfrutando cada día.
Volviendo a las decisiones, un sueño cumplido, buena decisión.
Mi recomendación es: si te apasiona la programación, hazlo, no tengas miedo, al principio todo es muy desconocido y da miedo pero, en mi punto de vista, el único requisito para poder empezar es la pasión por la programación. Te será fácil aprender, solo tienes que dedicar horas a tu afición.
Al principio piensas que nunca llegarás a entender un código determinado pero de un día para otro te das cuenta de que ya lo has entendido y llegan nuevos retos, eso es constante, nunca lo sabrás todo, es parte del trabajo.


