Probar nuevos lenguajes de programación me ayudó a crecer como ingeniero de software

Cuando usa un lenguaje de programación a diario en su trabajo como ingeniero de software, es fácil caer en la trampa de esta burbuja lingüística. Quiero mostrarte cómo salir de tu zona de confort y aprender nuevos lenguajes y paradigmas me ha ayudado a crecer como ingeniero de software.

A lo largo de los años, pasé de desarrollador front-end a desarrollador full-stack e incluso incursioné en el desarrollo profesional de juegos. Durante este período, administré y asesoré a desarrolladores en diferentes etapas de experiencia.

¡Vamos!

Hay docenas de lenguajes de programación. En muchos casos, nosotros como programadores hemos dominado alguno de ellos. Ocasionalmente, es el primer idioma que nos enseñaron en la universidad o en un bootcamp. Quizás un amigo más experimentado nos recomendó su idioma preferido. O tal vez soñamos con crear un tipo específico de software como los videojuegos y elegimos la tecnología más popular en la especialización. Una vez que conseguimos nuestro primer trabajo, la experiencia se dispara.

Para mí, JavaScript se convirtió en mi idioma principal y lo sigue siendo hasta el día de hoy. No era mi primer idioma, pero era el más accesible para mí en la escuela secundaria cuando podía escribirlo y ejecutarlo en prácticamente cualquier computadora sin un compilador especial o IDE.

Mientras aún estaba en la escuela secundaria, gané más y más experiencia creando muchos proyectos de juguetes. Desde juegos simples hasta juegos más complicados como "motor de juegos 2d" como una aplicación de Electron.

Gracias a algunos de mis profesores de programación, tuve la sensación de que JavaScript no era un lenguaje de programación "real". Además, era JavaScript en la interfaz, así que ya sabes, moviendo divs y botones, no algoritmos.

En ese momento, uno de mis mejores amigos me presentó Elixir. Recuerdo haber visto conferencias sobre esto durante una semana seguida. Me inspiró mucho. Es un lenguaje de backend y el frontend era mi entorno natural, por lo que no fue fácil de entender para mí en ese momento.

Afortunadamente, la programación funcional se quedó conmigo.

Esto desencadenó una espiral de fascinación por los nuevos lenguajes. A lo largo de los años había programado como pasatiempo o profesionalmente con Elm, ReScript (anteriormente conocido como ReasonML o BuckleScript), OCaml, Haskell, Scala.

Seguía trabajando con JavaScript casi a diario, pero aprender tantos conceptos nuevos como inmutabilidad, apatridia, mónadas, tipos de datos algebraicos o el modelo de actor hizo que fuera más fácil solucionar problemas. ¡Incluso me ayudó a dar una charla relámpago y una conferencia internacional!

Y debido a que algunos conceptos son más populares en diferentes comunidades, me expuso a tantas arquitecturas y patrones de programación que se encuentran en diferentes tipos de sistemas como DDD (diseño controlado por dominio) o teoría de categorías.

Un avance rápido hasta marzo de 2022, cuando dejé mi trabajo en jam.dev como Gerente de ingeniería. Decidí que necesitaba un descanso para descubrir qué es lo próximo que quiero hacer en la vida.

Desde mis inicios en la programación siempre me han fascinado los videojuegos y la infografía. En la escuela secundaria estaba experimentando con OpenGL, luego con el trazado de rayos y en la Navidad del año pasado comencé a implementar el renderizador basado en la física en Vulkan y Rust como un proyecto paralelo.

Durante mi primer mes libre, volví a este proyecto de Vulkan y Rust. Mientras trabajaba en él, llegué a la conclusión de lo que quiero que sea mi próximo trabajo: programador de gráficos. Pero no es un trabajo de nivel de entrada si no tiene experiencia en este campo. Y como el desarrollo de juegos es lo más parecido que se me ocurrió, decidí contratar personal de la empresa local de desarrollo de juegos de Cracovia, donde vivo.

Pregunté a mis amigos sobre los materiales de aprendizaje e inmediatamente me sumergí en el mundo de C++ y Unreal Engine. Me tomó dos semanas completar el curso Unreal Engine C++ de Tom Looman (lo cual es increíble, muy recomendable si quieres llevar Unreal Engine al siguiente nivel). Leí mucho sobre C++ y el entorno de desarrollo de juegos, creé un juego simple con SDL y después de 2,5 meses después de dejar mi puesto de gerente de ingeniería, comencé mi viaje como programador de C++ Unreal Engine.

Esperaba conseguir un puesto subalterno y no me preocupaba el salario. Sorprendentemente, cumplí con los requisitos para un nivel regular

Probar nuevos lenguajes de programación me ayudó a crecer como ingeniero de software

Cuando usa un lenguaje de programación a diario en su trabajo como ingeniero de software, es fácil caer en la trampa de esta burbuja lingüística. Quiero mostrarte cómo salir de tu zona de confort y aprender nuevos lenguajes y paradigmas me ha ayudado a crecer como ingeniero de software.

A lo largo de los años, pasé de desarrollador front-end a desarrollador full-stack e incluso incursioné en el desarrollo profesional de juegos. Durante este período, administré y asesoré a desarrolladores en diferentes etapas de experiencia.

¡Vamos!

Hay docenas de lenguajes de programación. En muchos casos, nosotros como programadores hemos dominado alguno de ellos. Ocasionalmente, es el primer idioma que nos enseñaron en la universidad o en un bootcamp. Quizás un amigo más experimentado nos recomendó su idioma preferido. O tal vez soñamos con crear un tipo específico de software como los videojuegos y elegimos la tecnología más popular en la especialización. Una vez que conseguimos nuestro primer trabajo, la experiencia se dispara.

Para mí, JavaScript se convirtió en mi idioma principal y lo sigue siendo hasta el día de hoy. No era mi primer idioma, pero era el más accesible para mí en la escuela secundaria cuando podía escribirlo y ejecutarlo en prácticamente cualquier computadora sin un compilador especial o IDE.

Mientras aún estaba en la escuela secundaria, gané más y más experiencia creando muchos proyectos de juguetes. Desde juegos simples hasta juegos más complicados como "motor de juegos 2d" como una aplicación de Electron.

Gracias a algunos de mis profesores de programación, tuve la sensación de que JavaScript no era un lenguaje de programación "real". Además, era JavaScript en la interfaz, así que ya sabes, moviendo divs y botones, no algoritmos.

En ese momento, uno de mis mejores amigos me presentó Elixir. Recuerdo haber visto conferencias sobre esto durante una semana seguida. Me inspiró mucho. Es un lenguaje de backend y el frontend era mi entorno natural, por lo que no fue fácil de entender para mí en ese momento.

Afortunadamente, la programación funcional se quedó conmigo.

Esto desencadenó una espiral de fascinación por los nuevos lenguajes. A lo largo de los años había programado como pasatiempo o profesionalmente con Elm, ReScript (anteriormente conocido como ReasonML o BuckleScript), OCaml, Haskell, Scala.

Seguía trabajando con JavaScript casi a diario, pero aprender tantos conceptos nuevos como inmutabilidad, apatridia, mónadas, tipos de datos algebraicos o el modelo de actor hizo que fuera más fácil solucionar problemas. ¡Incluso me ayudó a dar una charla relámpago y una conferencia internacional!

Y debido a que algunos conceptos son más populares en diferentes comunidades, me expuso a tantas arquitecturas y patrones de programación que se encuentran en diferentes tipos de sistemas como DDD (diseño controlado por dominio) o teoría de categorías.

Un avance rápido hasta marzo de 2022, cuando dejé mi trabajo en jam.dev como Gerente de ingeniería. Decidí que necesitaba un descanso para descubrir qué es lo próximo que quiero hacer en la vida.

Desde mis inicios en la programación siempre me han fascinado los videojuegos y la infografía. En la escuela secundaria estaba experimentando con OpenGL, luego con el trazado de rayos y en la Navidad del año pasado comencé a implementar el renderizador basado en la física en Vulkan y Rust como un proyecto paralelo.

Durante mi primer mes libre, volví a este proyecto de Vulkan y Rust. Mientras trabajaba en él, llegué a la conclusión de lo que quiero que sea mi próximo trabajo: programador de gráficos. Pero no es un trabajo de nivel de entrada si no tiene experiencia en este campo. Y como el desarrollo de juegos es lo más parecido que se me ocurrió, decidí contratar personal de la empresa local de desarrollo de juegos de Cracovia, donde vivo.

Pregunté a mis amigos sobre los materiales de aprendizaje e inmediatamente me sumergí en el mundo de C++ y Unreal Engine. Me tomó dos semanas completar el curso Unreal Engine C++ de Tom Looman (lo cual es increíble, muy recomendable si quieres llevar Unreal Engine al siguiente nivel). Leí mucho sobre C++ y el entorno de desarrollo de juegos, creé un juego simple con SDL y después de 2,5 meses después de dejar mi puesto de gerente de ingeniería, comencé mi viaje como programador de C++ Unreal Engine.

Esperaba conseguir un puesto subalterno y no me preocupaba el salario. Sorprendentemente, cumplí con los requisitos para un nivel regular

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow