El futuro de los desarrolladores de software junior en la era de AI/ML

Escrito por: Daniel Gwerzam el 8/16/23 8:13 AM

La industria del desarrollo de software está en constante evolución y, con el auge de la Inteligencia Artificial (IA), el panorama está cambiando más rápido que nunca. La generación de código impulsada por IA y otras herramientas de automatización están transformando la forma en que se desarrolla el software, y el papel de los desarrolladores de software junior en el mercado también está cambiando.

A medida que la IA se hace cargo de las tareas rutinarias, los desarrolladores junior pueden enfrentarse al desplazamiento laboral y a la falta de oportunidades para adquirir experiencia y avanzar en sus carreras. Sin embargo, esto también presenta una oportunidad para que se adapten y encuentren nuevas formas de seguir siendo valiosos en el mercado.

Recientemente, tuve la oportunidad de experimentar con ChatGPT, una herramienta de generación de código impulsada por IA, y compararla con mis experiencias trabajando con desarrolladores de software junior. Le di a ChatGPT la tarea de crear un servicio de webhook simple para filtrar los datos de entrada y escribirlos en Google BigQuery.

El resultado fue un código que funcionaba a la perfección, pero lo que fue aún más interesante fue el proceso para llegar allí. Mi primera solicitud no me dio la solución exacta que quería, pero después de dos iteraciones, recibí exactamente lo que necesitaba. Esto me recordó mis experiencias trabajando con desarrolladores junior. Cuando recibo un código de un junior, a menudo descubro que necesito aclarar mis instrucciones y expectativas, tal como tuve que hacer con ChatGPT. Aunque el proceso es similar, solo me tomó 5 minutos completar la tarea con ChatGPT, mientras que podría haber tomado un día o más con un junior.

Esta experiencia destaca las ventajas y limitaciones del código generado por IA. Si bien la IA puede producir código de manera rápida y precisa, carece de la intuición y la comprensión humanas que pueden surgir al trabajar con un desarrollador junior. Por otro lado, trabajar con un desarrollador junior puede tomar más tiempo y requerir más esfuerzo, pero esta es la mejor manera para que el junior gane experiencia y aprenda las habilidades necesarias para convertirse en un desarrollador especialista de nivel medio.

Recientemente, hablé con un experto en desarrollo web que usaba GitHub Copilot, una herramienta de IA desarrollada por GitHub y OpenAI para ayudar a los desarrolladores a escribir código mejor y más rápido. Los ojos de mi amigo brillaban cuando describió cómo podía escribir solo el comentario de una función y 2 segundos después, Copilot escribiría todo el código de la función perfectamente. “La mayor parte del trabajo que hago está ocurriendo en mi cabeza, no en mi teclado”, dijo, “una vez que tengo la solución en mi cabeza, solo está descargando el código en mi teclado y con esta nueva herramienta, está haciendo el difícil trabaja para mi". Esto me llevó a preguntar: "¿Qué pasaría con los jóvenes?". Él respondió: “¿Los jóvenes? Están condenados. Deberían haber nacido hace años si quieren una carrera en esta industria”.

Esto nos lleva a la preocupación real: para comprender los desafíos que enfrentarán los desarrolladores junior, debemos comprender cómo funciona la industria. En la jefatura técnica del departamento de I+D+i se encuentran los mejores expertos de la empresa. Son las personas con el conocimiento y la experiencia suficientes para resolver cualquier problema de ingeniería de software. Serán los arquitectos de las soluciones y los diseñadores de los métodos y flujos de trabajo. Una solución podría traducirse en 100 líneas de código o 100 millones de líneas de código. Sin embargo, la mayoría de las veces, no serán ellos quienes escriban el código. En cambio, escriben documentos que describen la solución al problema. Por lo general, estos documentos pasarán de los desarrolladores senior a los de nivel medio, quienes dividirán la solución en partes más pequeñas que se ajusten a su experiencia y conocimiento. Si la pieza es lo suficientemente pequeña, podrían escribir el código para ella. Sin embargo, para grandes empresas o proyectos, por lo general tendrán un equipo de jóvenes para ayudarlos a escribir el código. El trabajo de nivel medio será escribir parte del código y revisar el código del trabajo del junior, brindándoles retroalimentación sobre cómo escribir un mejor código. Esta es la mejor manera para que un ingeniero junior aprenda y adquiera experiencia.

Observar este proceso plantea un problema significativo. Si un modelo de aprendizaje automático puede producir código a un ritmo más rápido y con un resultado similar o mejor en comparación con un desarrollador junior. Y si el salario de un junior siempre será más alto que usar IA. Esto crea un desafío para la industria, ya que las empresas pueden optar por optar por la solución más rentable de usar código generado por IA, lo que podría generar menos oportunidades laborales para los desarrolladores junior.

Será importante que la industria considere este problema y encuentre formas de garantizar que los desarrolladores jóvenes aún puedan obtener la experiencia y las habilidades necesarias para tener éxito en sus carreras. O tal vez, depende de las universidades y la comunidad de desarrollo en general encontrar soluciones innovadoras para garantizar el crecimiento y la relevancia de los desarrolladores junior frente a la creciente automatización y adopción de IA.

La industria de la tecnología es un panorama acelerado y en constante evolución, con nuevos avances y desarrollos que se realizan todos los días. Para tener éxito en esta industria, es crucial tener pasión por la tecnología y el impulso para aprender y crecer continuamente. Aquellos que tienen un amor genuino por la tecnología y buscan constantemente nuevos desafíos y oportunidades para mejorar sus habilidades son los que prosperarán en esta industria. Ya sea asistiendo a conferencias, tomando cursos en línea o participando en hackatones y desafíos de codificación, es importante nunca dejar de aprender y crecer para mantenerse a la vanguardia y mantener una ventaja competitiva.

Mi perspectiva es que tener una pasión por la tecnología y un impulso para mejorar constantemente son cruciales para el éxito en la industria tecnológica que cambia rápidamente y es estimulante. Si eres un principiante en el campo, mi recomendación es que domines todas las herramientas relevantes, las domines y tengas una mente curiosa para comprender lo que hay detrás de escena. La pasión y la curiosidad proporcionan una poderosa fuente de motivación que puede mantener a los jóvenes enfocados en sus objetivos profesionales y no dejarse disuadir por las demandas del mercado.

Estos son mis consejos para que los desarrolladores de software junior se mantengan a la vanguardia en la industria acelerada de hoy:

  1. Mantente actualizado dominando las nuevas tecnologías y herramientas a medida que las adopta el mercado. Si las herramientas ponen en riesgo tu trabajo, debes dominarlas para ser relevante en la industria.

  2. La industria se está moviendo muy rápido. Mantente informado siguiendo fuentes confiables como canales de YouTube, foros técnicos, Reddit, etc.

  3. Busca la tutoría de desarrolladores experimentados asistiendo a hackatones, contribuyendo a proyectos de código abierto u ofreciéndose como voluntario en talleres de desarrollo. Busca desarrolladores experimentados de nivel superior o medio que puedan revisar su código y asesorarlo.

  4. Mejora sus habilidades para resolver problemas y la eficiencia de codificación dedicando su tiempo libre a practicar.

  5. No te concentres en la experiencia todavía. Primero, comprende cómo funciona todo el sistema en conjunto y juega en cada campo para que pueda comprender la base. Más tarde, elige el área que más te apasione y sumérgete.

Buena suerte y sigue codificando.

 

Autor Original: Daniel Gwerzam
Fuente Original: https://medium.com/@zps270/the-future-of-junior-software-developers-in-the-age-of-ai-ml-8532288e7055

Tópicos: Talento junior, AI, Desarrollo de software

¡Suscríbete al newsletter!

Déjanos tus datos y recibe mensualmente actualizaciones de nuestro contenido.

Artículos destacados

¿Qué es Laboratoria?

En Laboratoria trabajamos para lograr una economía digital más diversa, inclusiva y competitiva, que abra oportunidades para que cada mujer pueda desarrollar su potencial.

➡️ Conoce más
Talento IT