Una de las carreras que más requiere esfuerzo, sin duda, es la de profesional TI y en específico la de programador, que cada día se vuelven más populares, así que es interesante hacer revisiones de los retos y adversidades que se enfrentan al prepararse para la vida laboral y en el que más de uno se reconocerá.
Las dificultades que citaremos a continuación no son las únicas a las que se enfrenta un programador en formación, pero se podría decir que son las más comunes.
Una de las peores cosas que le pasa a todo el mundo cuando se empieza en cualquier actividad con algún grado de complejidad es quedarse atascado. Puede que estés intentando instalar algo y no puedes continuar porque el sistema te da un error incomprensible, o quieres añadir una ruta a tu aplicación y la aplicación te da un pantallazo sin más, sin un triste mensaje de error. ¿Qué hacer? No hay un camino claro a seguir.
En primer lugar decir que el hecho de quedarse atascado es el pan de cada día de los programadores, y no sólo los principiantes. Hay que aprender a ser un poco indulgentes con nosotros mismos. Hay días en los que parece que no avanzamos, y en los que estar atascado es la norma. Pero en verdad esos periodos de frustración son la base para progresar. No hay aprendizaje sin frustración.
Una de las mayores barreras que se tiene que superar en la rutina diaria como programadores son los despistes. La sintaxis de muchos lenguajes de programación puede ser enrevesada y difícil de retener y recordar. O lo que es peor: muy parecida de unos a otros y debes trabajar con varios de ellos. Esto forma parte inherente de la complejidad de la programación: tenemos que ser capaces de acordarnos de miles de pequeños detalles.
Para mitigar el problema se debe ser metódicos a la hora de documentarse. Es buena idea tener la documentación de lo que se esté usando a mano, para poder acceder a ella a golpe de teclado.
Muchas veces es posible que se sientan como un fraude, así podrían caer en lo que los psicólogos llaman el síndrome del fraude o síndrome del impostor. Esto ocurre a los programadores cuando no son capaces de reconocer sus logros y temen ser un fraude.
Para evitar caer en este estado de ansiedad es buena idea intentar realzar los logros. Al usar un blog técnico podrán ver de manera clara su progreso si se echa un vistazo atrás. El crecimiento de un programador novel en un año es tan grande que la mayoría no se da cuenta de cuánto han mejorado hasta que se comparan con su yo del pasado.
Tienen que saber que esta profesión implica resolver problemas. No hay otra forma de concebirla. Es muy habitual que programando se encontremos siempre en dos fases: avance-muro. Todo va bien, al avanzar, y de repente se encuentran un muro infranqueable y estamos ahí parados. Sorteas el muro tras solucionar el problema, avanzas otro poco, y de la nada, otro muro…
No es descabellado afirmar que en cualquier tarea que implique escribir código siempre vamos a tener que solucionar algún problema inesperado que nos encontraremos por el camino. La programación es así, es pegarse de frente contra muros.
Como desarrolladores junior es normal la falta experiencia para saber si los mentores están enseñando buenas prácticas o sólo están imprimiendo su estilo de programación. Si se sospecha que lo que nos están enseñando es más bien su forma de hacer las cosas que buenas prácticas, quizás resulte un poco violento plantearlo, especialmente si tu mentor es un desarrollador senior de la empresa en la que trabajas. Puede resultar muy complicado salir de estas dudas sin caer en la confrontación.
Muchas veces están en pleno proceso de aprendizaje y enseñan cómo se hacen las cosas en la empresa. Pueden ser buenas prácticas o no… De todos modos lo mejor es que en líneas generales se debe confiar en que saben lo que están haciendo. Habiendo dicho esto, como novatos muchas veces corresponde dar por hecho que sus compañeros más veteranos son algo obstinados, siempre pensarán en primer lugar que la persona que está equivocada eres tú, y que prefieren ceñirse a su forma de hacer las cosas antes que cambiar.