Uno de los temas más debatidos en relación a la inteligencia artificial es la posibilidad de que los puestos de trabajo sean reemplazados debido a la automatización de los procesos que la IA está acelerando. Las discusiones sobre si los robots nos quitarán el trabajo son abundantes y el argumento común de que "los robots quitarán empleos pero también crearán nuevos" parece no ser sólido o, al menos, no compensará los empleos perdidos. Aunque esto no necesariamente es algo malo (ya que podríamos trabajar menos horas en general).
En cualquier caso, la discusión que nos concierne no es si la IA eliminará o no empleos en general, sino cómo afectará el trabajo en nuestro campo. ¿Cómo deben prepararse los programadores y los ingenieros de software para la automatización del proceso de desarrollo? Como mencioné anteriormente, muchas de las aplicaciones del futuro serán desarrolladas por bots inteligentes, ya sea solos o en colaboración con los usuarios finales que podrán interactuar con ellos utilizando entornos de programación inteligentes para implementar la aplicación.
¿Significa esto que la programación dejará de ser una carrera prometedora en el futuro? Rotundamente, NO.
Actualmente, los profesionales informáticos son de los más demandados en el mercado laboral (hay numerosos estudios disponibles sobre el mercado español y el mercado norteamericano, entre otros). Y seguirá siendo así, aunque el perfil de los desarrolladores buscados y el tipo de tareas que realizarán cambiarán.
Para entender cómo evolucionará el mundo del desarrollo de software con la IA y qué tareas seguirán siendo indispensables para los ingenieros de software humanos, podemos recurrir a un gráfico de Kai-Fu Lee (quien ha estudiado a fondo la relación entre la IA y la evolución de la sociedad en su último libro).
En el gráfico, Kai-Fu clasifica las tareas en dos dimensiones: empatía (la capacidad de comprender y conectar con las personas) y creatividad, lo que nos da cuatro tipos de tareas:
- Tareas poco creativas sin necesidad de empatía: la IA se encargará de ellas.
- Tareas poco creativas que requieren empatía: la IA realizará el análisis y el humano se ocupará de la interacción con la persona.
- Tareas creativas sin empatía: el humano estará a cargo, mientras la IA brinda soporte.
- Tareas que requieren creatividad y empatía: aquí es donde los humanos destacan.
En un proyecto de desarrollo, combinamos los cuatro tipos de tareas.
La creación de formularios CRUD para ingresar datos es un ejemplo del tipo 1. Esta es una tarea clásica que se puede automatizar fácilmente (y no requiere bots muy inteligentes). Muchos frameworks de programación actuales permiten generar interfaces de este tipo ("scaffolding") a partir de la definición de los datos del programa.
Cualquier tipo de interacción con el cliente obviamente requiere empatía y habilidades de comunicación que la IA no puede proporcionar. Siguiendo lo que mencionamos anteriormente, una vez que entendamos lo que quiere el cliente, el nivel de apoyo que la IA pueda brindarnos dependerá de la complejidad del software a desarrollar. Si se trata de una aplicación
Image by rawpixel.com on Freepik