¿Quiero ser programador pero tengo miedo de las nuevas tecnologías en lugar de la lógica abstracta? ¿Qué puedo hacer para calmar este miedo?

La coincidencia creo. Hace solo dos días tuve una discusión con mi nuevo gerente y el contexto de su pregunta es uno de los temas allí.

Así que déjame darte algunos antecedentes sobre lo que pasó.

Soy un programador de Java a lo largo de mi vida (dejando los días de graduación). El producto que estamos desarrollando en mi empresa actual, es muy grande y tiene diferentes dominios y cada dominio utiliza su propia plataforma de programación. Formé parte de los equipos que desarrollan las partes del producto utilizando Java.

Pero recientemente (probablemente desde hace unos 6 meses) los jefes de mi producto decidieron cambiar la forma de trabajar y formaron un nuevo equipo, le dieron un nombre elegante y lo llamaron equipo de funciones. La responsabilidad de este llamado equipo de funciones es desarrollar cualquier característica nueva del producto, independientemente de la plataforma en la que deba desarrollarse.

Así que, afortunadamente o desafortunadamente, formé parte de ese equipo y, para empezar, se nos asignó una función que debería desarrollarse completamente mediante el uso de scripts de Shell. No es una característica simple, implica seguridad y utiliza características existentes que ya están desarrolladas en Shell y muchas más. Entonces, lo que quería decir es que no es una solución directa y es bastante compleja.

Así que para cortar la mierda y hacerla corta, de alguna manera hemos terminado esa función. Y debido a algunas razones, mi administrador de informes ha cambiado (nada que ver con lo que he hecho para esa característica). Entonces, como una formalidad, hay una reunión de mano conmigo y con mis nuevos y viejos gerentes. Y durante la discusión, les dije que no estaba satisfecho con lo que había hecho durante el desarrollo de la función anterior, ya que era nuevo en el shell scripting y no sé nada de esto y no pude aprenderlo completamente. .

Por esto él respondió,
“Cualquier lenguaje de programación es básicamente el mismo. Tiene las mismas declaraciones de flujo de control, sentencias condicionales y de bucle. Probablemente algo de administración de memoria y así sucesivamente. Aparte de estas, habrá una sintaxis única para cada lenguaje de programación. No es un gran desafío para aprender una sintaxis de un idioma diferente, si dominas uno “.

“Pero el trabajo importante para una persona de su experiencia [tengo alrededor de 6 años de exp] es desarrollar la solución en lugar de implementarla. Y si es bueno para encontrar soluciones a los problemas que tenemos, entonces es bueno conmigo”

Entonces, después de una larga historia, lo que quiero decir es que, en algún momento de su carrera, implementar una solución NO será un desafío. El mayor desafío es encontrar la mejor solución para su problema. Además, si ve, hay cientos de formas de implementar una solución para un problema, pero hay muy pocas formas de abordar el problema de una manera eficiente. Las tecnologías cambian con el tiempo pero la base es la misma.

Así que deje de preocuparse por las nuevas tecnologías que están saliendo y comience con la que le resulte más cómoda. Estoy seguro de que cambiar a una nueva tecnología no es nada de qué preocuparse. Tendrá una pequeña dificultad al principio, pero pronto la superará en poco tiempo.

Cuando salte a un océano, no debe pensar si va a nadar con la espalda o con la mariposa, sino que su objetivo debe ser nadar hasta la orilla.

Lo siento por el largo post. Gracias por leer.

-Vikas

Si eres bueno en Ciencia de la Programación y tienes buenas habilidades para resolver problemas, no tienes por qué temer o preocuparte, ya que las nuevas tecnologías y los lenguajes van y vienen. El ritmo al que la programación se está transformando y avanzando, estos son tiempos en los que surgen nuevos lenguajes y tecnologías casi todas las estaciones, y sería una locura correr tras ellos aprendiendo todo.
El lenguaje de programación es solo una forma de expresarte en la computadora. Entonces, sé bueno en uno o pocos, con lo que te sientas cómodo. Y nunca más tengas miedo de ser un “Principiante”, de aprender cosas nuevas. El campo de TI ama a esas personas, que son ingeniosas contra su volatilidad.

Si eres bueno en el pensamiento crítico y la resolución de problemas y si puedes entender bien los algoritmos, diría que estás en buena posición para convertirte en un programador. Lo único que queda es la capacidad de convertir una solución en código. No necesitas conocer todos los lenguajes de programación que hay. Incluso si intentas aprenderlos todos, no podrás hacerlo ya que los idiomas siguen llegando. Simplemente selecciona un idioma y trata de resolver problemas en él. Una vez que domine la codificación en un idioma, le tomará menos tiempo aprender un nuevo idioma, ya que existen similitudes en los lenguajes de programación. La mayoría de los programadores simplemente comienzan con uno o dos idiomas y luego aprenden nuevos idiomas cuando sea necesario. No tengas miedo de lo desconocido y no trates de aprender todo al mismo tiempo. Aprender un nuevo idioma completamente lleva tiempo incluso para programadores experimentados. Sin embargo, el tiempo se reducirá a medida que adquiera más experiencia.

Es normal que un programador tenga dificultades al aprender un nuevo idioma. Parece que deberías encontrar un rol en el que no tengas que aprender constantemente nuevos idiomas. Elija un idioma que ya conozca bien y solicite trabajos que impliquen principalmente ese idioma.