Hace un par de años, después de otra campaña de marketing estresante en la agencia en la que trabajaba, supe que lo tenía todo bajo control. Había estado haciendo marketing digital durante casi 4 años y todavía sentía que no iba a ninguna parte. Primero, me metí en el campo porque pensé que trabajar en marketing digital iba a ser como una especie de Mad Men del siglo XXI. Estaba equivocado. Fue entonces cuando comencé a considerar seriamente el consejo que me dio un amigo: dedicarme al desarrollo de software. Seguramente, solo intentó venderme la idea de que iba a ganar mucho dinero, lo que, en ese momento, parecía bien, pero no era mi primera preocupación. Después de esa infame campaña de marketing, comencé a investigar todo el asunto de la ingeniería de software autodidacta.
Pronto me sumergí en el mundo de la programación. Finalmente entendí que el desarrollo era más que solo dinero. Se trataba de crear cosas nuevas, enfrentar problemas desafiantes y ser creativo. Después de un tiempo, ya estaba aprendiendo a codificar en línea y, después de 8 meses, sentí que estaba listo para trabajar en mi primer trabajo real de programación.
Choque con la realidad
Conseguir mi primer trabajo no fue precisamente difícil (no porque fuera un prodigio, claro está, sino porque una amiga me recomendó para un puesto de junior en la empresa para la que ella estaba desarrollando software). Cuando llegué a la oficina el primer día, estaba listo para hacerme cargo del mundo del desarrollo. Por supuesto, no esperaba que el mundo del desarrollo de software me tuviera reservado algo más.
En primer lugar, mi primera semana fue un poco aburrida. Tuve que configurar mi computadora con el software necesario, leer toneladas de documentación de incorporación y aprender cómo trabajaba el equipo. Nada de eso se parecía a lo que había imaginado: estar sentado frente a mi computadora codificando durante horas y horas.
Durante los primeros días de trabajo real, el equipo comenzó a enviarme algunos tickets bastante fáciles, solo para ayudarme a empezar. La realidad comenzó a calar. A diferencia de los ejercicios de codificación que aprendí por mi cuenta (centrados principalmente en el desarrollo web), estos incluían líneas de código que nunca había visto antes. Y aunque quería comenzar a escribir el mío propio, había otra verificación de realidad: como desarrollador junior, iba a pasar mucho tiempo con código escrito por otros.
Si hubieras hablado conmigo después de las primeras semanas, te habrías encontrado con una persona muy desanimada. Nada era lo que esperaba, el trabajo parecía imposible y me sentía como un impostor. Pero después de pasar más tiempo con mis colegas y el líder del proyecto, todo empezó a parecer normal. Sobreviví. Y si mi experiencia te sirve, tú también lo harás. Así que, si eres un ingeniero de software autodidacta, aquí tienes algunos consejos que me habrían encantado cuando conseguí mi primer trabajo.
Te sentirás como un impostor, y eso está bien
Esta fue la sensación que tuve después de terminar de configurar mi computadora. Una vez que mi jefe comenzó a hablarme sobre proyectos, plazos, flujos de trabajo y más, inmediatamente me sentí como un impostor. Todo me hizo sentir que estaba muy metido en algo y que todo lo que aprendí durante mis lecciones autodidactas no iba a ser de ninguna utilidad.
Intenté evitar hacer preguntas porque no quería que todos se dieran cuenta de lo poco que sabía sobre todo. Recién después de un par de semanas me encontré atrapado con un error que no sabía cómo solucionar. Hablé con un colega que fue amable conmigo desde el principio y le pedí ayuda. Después de que me lo explicó, sentí ganas de renunciar porque era un gran impostor.
Él lo notó inmediatamente. Después de que le confesé cómo me sentía, se encogió de hombros y dijo que todos los ingenieros de software autodidactas que conocía se veían a sí mismos como impostores en un momento u otro. ¡Incluso él pensaba lo mismo sobre sí mismo cada vez que tenía que buscar en Google una forma de superar un problema! Mi opinión al respecto es simple: nadie en el mundo del desarrollo lo sabe todo, por lo que nadie espera que lo sepas todo. No eres un impostor incluso si te sientes como tal. Durante tus primeras semanas, te sentirás así muchas veces, pero no te preocupes, estarás bien.
Nunca dejarás de aprender
Lo diré de nuevo porque vale la pena repetirlo: nadie que trabaje en este mundo sabe todo lo que hay que saber sobre programación. Lo cual, naturalmente, no es un argumento en defensa de la ignorancia. Todo lo contrario, es algo que debería brindarte la tranquilidad suficiente para hacer tu trabajo sin castigarte por no saber algo.
Sin embargo, también significa que aprenderás constantemente cosas nuevas, independientemente del nivel de experiencia que tengas. Uno podría pensar que, como recién llegado al mundo de la programación, aprenderás gran parte del conocimiento al principio y lo utilizarás durante el resto de tu carrera. Esa forma de pensar es errónea en dos niveles. El primero es que hay tantas cosas que pueden pasar al programar que es prácticamente imposible saberlas todas.
El segundo nivel es que la programación como disciplina está en constante evolución, por lo que tendrás que leer sobre nuevas tecnologías y frameworks, practicar con nuevos lenguajes y estar atento a los últimos avances para estar siempre actualizado.
Nunca estarás solo
Como desarrollador autodidacta, tenía la rutina de aprender cosas nuevas sobre desarrollo web todos los días. Esto implicaba que leía, practicaba y leía un poco más todos los días. También significaba que lo hacía todo por mi cuenta, buscando en Google lo que no sabía, leyendo artículos, foros y cualquier fuente que pudiera encontrar en línea.
Eso me llevó a creer que la programación era una actividad solitaria (bueno, eso y las muchas películas de Hollywood que vi sobre genios de la programación y hackers). Sin embargo, una vez que comencé a trabajar con un equipo de proveedores de servicios de desarrollo de software, noté que todos a mi alrededor hablaban sobre sus problemas y colaboraban entre sí de manera habitual.
Al principio, tenía miedo de pedir ayuda porque sentía que los demás me iban a señalar y que iba a quedar expuesta como la estafadora que yo creía ser. Después del incidente que mencioné anteriormente, me abrí mucho más y entendí una clave del trabajo de desarrollo: la mayor parte del tiempo trabajarás como parte de un equipo. Por lo tanto, está bien pedir ayuda cuando no puedes encontrar una salida a un problema. Hablar con otra persona puede aportar soluciones creativas o nuevos caminos a seguir, al mismo tiempo que crea vínculos más fuertes con las personas con las que trabajas.
Verás muchas diferencias
Por último, habrá muchas cosas que diferirán significativamente entre lo que hiciste por tu cuenta mientras aprendías y lo que tendrás que hacer como parte de un equipo de desarrollo. Incluso si lees sobre algunas cosas mientras aprendes programación, es probable que no te concentres en ellas lo suficiente, incluso cuando las necesites cuando trabajes para una empresa de software.
Tomemos como ejemplo la seguridad. Cuando trabajas en proyectos de tu empresa, puedes descuidarlos sin consecuencias. Pero cuando trabajas para un cliente, las características y prácticas de seguridad estarán entre tus principales preocupaciones. Lo mismo podría decirse de cuestiones como las pruebas o la forma de superar los obstáculos.
Para mí, la mayor diferencia fue comentar y documentar mi código. Incluso cuando leí sobre su importancia, nunca le di importancia a eso cuando estaba aprendiendo. Sin embargo, cuando trabajaba en la vida real, mi jefe fue muy claro sobre lo importantes que eran esas cosas. Entonces, tuve que implementarlas en mi rutina de trabajo, lo cual fue lo suficientemente desafiante y exigente. No digo que debas aprender todo sobre esto por tu cuenta, pero prepárate para aceptar las diferencias y aprender sobre ellas.
Cómo sobrevivir a tu primer trabajo como ingeniero autodidacta
Aprender el oficio de desarrollo requiere más de lo que uno puede hacer por sí solo. Hay una razón por la que tantas empresas de desarrollo de software buscan Candidatos con buenas habilidades blandas Muchas veces es mejor tener buenas habilidades de comunicación que ser un genio programando. Por lo tanto, tendrás que estar abierto a seguir aprendiendo cosas nuevas incluso después de conseguir tu primer trabajo.
Además, tendrás que acostumbrarte a la frustración, a sentirte un impostor y a recibir ayuda constantemente. Todos estos son sentimientos que la mayoría de los desarrolladores (si no todos) han experimentado en algún momento de su vida profesional. Lo importante que tienes que recordar para sobrevivir a tu primer trabajo de programación (y al segundo, tercero, etc.) es ser paciente y nunca perder la fe en lo que sabes. Evolucionarás a medida que sigas trabajando y te verás en lugares en los que nunca antes te habías planteado.