Después de la guerra, todos son generales.
Ese es un refrán que llevo escuchando de mi papá hace mucho tiempo.
Es claro que aún no soy la mejor versión de mi mismo. Sin embargo, es cierto que estos 10+ años de experiencia desarrollando y diseñando software me han enseñado muchísimas cosas. Saber algunas de ellas cuando empecé me hubieran acortado el camino y evitado muchos errores. Pero bueno, de eso se trata: de aprender, corregir y no volver a cometer el mismo error.
Esta lista es un intento de resumir mis principales aprendizajes y evitar que las personas que comienzan este camino cometan algunos de esos errores. Espero que los que tengan más experiencia se sientan identificados, y que si gustan añadir sus propias experiencias, los invito a que las pongan en los comentarios.
De alguna manera, este post está pensado para mi yo de hace 10 años, y para los que empiezan este camino.
1. Ser un desarrollador es mucho más que escribir código

Más que escribir código, se trata de la gente. Vas a pasar mucho tiempo interactuando con las personas antes de escribir una sola línea de código.
Vas a interactuar con usuarios, analistas de negocio, gerentes de proyecto, gente de soporte. Recuerda que como desarrollador, tú eres el centro de todo el proceso. Es muy normal que tengas que interacturar con todos los roles.
Desafortunadamente, la educación formal pocas veces enseña habilidades blandas muy útiles para esto como empatía, liderazgo, habilidades conversacionales, entre otras.
2. El inglés abre demasiadas puertas

Suena muy trillado. Incluso suena a comercial de Open English. Pero no se puede negar que el inglés crea muchísimas oportunidades. Ciertamente, a mí me las ha brindado.
Saber inglés marcó los inicios de mi carrera a nivel internacional, permitiéndome trabajar de la mano de profesionales de Latino América, Estados Unidos, Europa y Asia.
El mundo está demasiado conectado como para pensar que siempre trabajarás para empresas locales y que nunca interactuarás con personas de otros paises.
3. Pensar que tu aprendizaje termina cuando te graduas

Nada más alejado de la realidad.
En ningún trabajo que empieces, vas a llegar con todo el conocimiento necesario. Deberás que capacitarte para desempeñar tu rol. En la medida que avance tu carrera y lleguen nuevos proyectos, algo nuevo tendrás que aprender en cada uno de ellos. No necesariamente aprenderás nuevas tecnologías, pero al menos sí aprenderás del negocio o de la industria.
¡Cuidado cuando llegas al punto donde dejas de aprender! Esto es lo peor que te puede pasar.
No es extraño que llegues a ese punto. Eventualmente puede llegar a suceder. Si ese es el caso, busca aprender cosas nuevas por fuera de tu espacio laboral. Aprovecha para aprender sobre ese tema que te llama atención y no tienes idea de que trata. La ventaja de estudiar así es que eres libre de aprender lo que tú quieras. En el trabajo normalmente no tienes esa libertad.
4. No tomarse las pruebas unitarias en serio desde el comienzo
Todo el mundo habla del TDD (Test-Driven Development), de la importancia de la pruebas unitarias y como permiten cambiar tu código sin temor.
Sin embargo, aún así, muchos pecamos en no hacer las pruebas unitarias. En nuestra mente siempre está ese proyecto en qué programamos “a la buena de Dios”, mientras rezamos para que los cambios que estamos introduciendo no dañen lo que ya funciona.
A mi personalmente me tocó aprender TDD por mi cuenta. Una vez logré entender cómo funcionaba y cómo hacerlo funcionar en los escenarios más difíciles, fue mucho más fácil incorporarlo en proyectos reales.
La cantidad de veces que te van a salvar las pruebas unitarias supera con creces el esfuerzo inicial de configurarlas y la disciplina de escribirlas.
5. El egoísmo de tus compañeros puede ser una piedra con que te tropieces
También su egocentrismo.
No es ningún misterio que en nuestro medio existen colegas con un ego enorme, que les hace creerse superiores y que lo saben todo. Es más, eso tiene un nombre: el efecto Dunning-Krueger.
En algún momento te encontrarás con gente así, y eso es normal. Deberás aprender a trabajar con ellos y buscar formas de lidiar con su ego. Reconozco que no es una tarea fácil, pero si te lees el libro Cómo ganar amigos e influir sobre las personas, vas a estar 10 pasos adelante de quienes creen que la única forma de lidiar con ellos es confrontándolos.
Conclusiones
Definitivamente hay muchas más lecciones que quisiera compartir contigo, pequeño saltamontes. Yo ya cometí los errores, y aprendí de ellos. Pero si en tu caso, apenas estás comenzando, creo que con estas cinco lecciones, tendrás una ventaja enorme respecto a otras personas que inician el camino como tú.
¿Qué otras lecciones añadirías a la lista?
Manuel Zapata
PD: Gracias Jeduan Cornejo por el tweet que inspiró este post.