¿El fin de la ingeniería de Software?
Por Juan Pablo Salinas CEO de Jala University
Podríamos hacer una simplificación sobre lo que significa ser ingeniero de software en pocas palabras como “conocer los lenguajes de las máquinas”. Mientras la mayoría de la humanidad habla el lenguaje de los humanos, los ingenieros de software han aprendido a hablar con los sistemas. Hasta ahora, aprender esos lenguajes ha sido la única forma de configurar la tecnología que usamos día a día, pero con el advenimiento de la Inteligencia Artificial (IA) generativa, las máquinas han aprendido a conversar con todos, sin importar su lengua.
La humanidad tiende a rechazar cambios bruscos. Es común encontrar un trasfondo de miedo y rechazo por parte de aquellos que se sienten amenazados por los cambios que estos traen consigo. En entrevista con CNN en Davos 2022, Bill Gates explicó cómo cree que la IA cambiará nuestras vidas. “Como sucedió con la productividad agrícola en 1900 (con la aparición de máquinas que trabajan la tierra por nosotros), la gente se preguntaba: ‘¿Qué van a hacer las personas?’ De hecho, se crearon muchas cosas nuevas, muchas nuevas categorías de empleo, y estamos mucho mejor que cuando todos se dedicaban al trabajo agrícola. Esto será así”, opinó Gates.
Pocos se hubieran imaginado que la inteligencia artificial significaría un cambio para la ingeniería del software, pero este rubro no ha salido inmune. Dentro de los próximos años, la IA transformará la ocupación, pero esto no significa que elimine campos, sino que expandirá sus horizontes hacia nuevas fronteras.
Dejemos ahora de lado nuestra simplificación: más que simplemente conocer un lenguaje, aquellos que han dedicado tiempo al estudio de disciplinas como matemáticas, programación, pensamiento computacional, bases de datos, estructuras de datos, algoritmos, y específicamente inteligencia artificial, poseen un conocimiento fundamental sobre cómo funciona el software y las aplicaciones que lo utilizan. En el libro de entrevistas —’Programmers at Work’ de Susan Lammers, Gates explica: “Sigo pensando que el software es una habilidad importante para desarrollar. No se trata tanto de la mecánica o los detalles específicos de un lenguaje de programación, sino de comprender los detalles a un nivel más profundo de cómo funciona, ese es el punto de partida”.
Este entendimiento profundo del funcionamiento del software prepara el terreno para una integración más eficiente de la IA en los procesos de desarrollo y mantenimiento de software. Aquellos que comprenden a fondo el dominio del problema al que se enfrentan pueden aprovechar la inteligencia artificial para amplificar su productividad y eficiencia.
En el futuro, es posible que la necesidad de conocer múltiples lenguajes de programación se vea reducida. En lugar de ello, el lenguaje natural podría convertirse en el lenguaje de programación predominante. Esta transición hacia interfaces más intuitivas y accesibles es un paso natural en la evolución de la interacción entre humanos y máquinas.
En Jala University tenemos un departamento de Investigación y Desarrollo y en él un grupo de investigadores dedicados a la inteligencia artificial. Monitoreamos de cerca los avances de esta rama, y cómo implementarlos para una mejor experiencia de aprendizaje y enseñanza dentro la universidad.
Además, mantenemos una estrecha colaboración con ingenieros del sector del high-tech quienes comparten con nosotros sus experiencias y conocimientos sobre cómo están utilizando la IA para aumentar su productividad. Uno de los puntos que más se discuten y preocupan actualmente es la propiedad intelectual. Los ingenieros de software del high-tech trabajan desarrollando Software Comercial, entonces, ¿pueden usar código generado? ¿Pueden compartir su código con herramientas IA para buscar bugs o crear pruebas? ¿Cuál es el riesgo? Al ser un tema tan novedoso, aún no están bien definidas las reglas de juego, existen juicios al respecto, que intentan delimitar lo permitido de lo prohibido. La realidad es que aún no conocemos las herramientas lo suficientemente bien para entender sus implicancias, además de que están en continuo desarrollo, por lo que estos problemas podrían desaparecer antes de que los regulemos. Es un hecho que varias empresas están restringiendo el uso de código generado, mientras esto se esclarece.
La IA ayudará a generar código más rápidamente. En una encuesta hecha en 2022 por el conocido repositorio de Microsoft, GitHub, se les consultó a 2000 programadores si les había servido su asistente AI: Copilot. El 88% respondió que les había ayudado con su productividad. La gran mayoría aseguró que le había ayudado a sentirse menos frustrado con su trabajo. Por su parte, investigadores de Google encontraron que, dentro de la compañía, el uso de AI redujo los tiempos de iteración de código por 6%.
Sin embargo, mientras más experimentado es el ingeniero de software, más se da cuenta que la ingeniería de software va más allá de solo codificar. Es muy común que el cliente no sepa bien lo que quiere, o no sepa comunicarlo bien. Entonces, ser ingeniero de software implica también poder comprender y llevar a cabo pedidos poco precisos (algo que la IA, por ahora, no puede hacer), interactuar con el equipo, debatir sobre las funcionalidades, tomar decisiones de largo plazo en la arquitectura, entre muchas otras. Estas son tareas que necesitaran a los humanos, que precisan de pensamiento crítico, creatividad y empatía. Si un ingeniero junior abusa de la inteligencia artificial para pensar por él y generar código, su software tendrá carencias, probablemente no responderá a las necesidades humanas, y este ingeniero posiblemente no logre desarrollarse como Senior.
Creemos firmemente que la ingeniería de software no va a desaparecer, y por eso estamos atentos a los avances en inteligencia artificial para poder adaptarnos rápidamente a los cambios, en beneficio de nuestros estudiantes y su futuro profesional. La educación en general, y particularmente la formación técnica que fomenta el pensamiento computacional, será fundamental para aprovechar al máximo la inteligencia artificial.
¡Descubre más artículos de tu interés! Volver atrás