En 1930, John Maynard Keynes predijo que tendríamos una semana laboral de 15 horas a finales de siglo. Está claro que el gran economista ha hecho algo mal.
Bienvenidos a la era de los trabajos de mierda, para decirlo al antropólogo David Graeber. Desde la década de 30, ha habido industrias totalmente nuevas, que no necesariamente agregan valor a nuestras vidas. Graeber probablemente llamaría a la mayor parte del trabajo de los desarrolladores de software una mierda.

No comparto la opinión de Graeber, especialmente cuando se trata de software. Pero toca un punto interesante: a medida que se automatizan más y más procesos, la mayoría de los trabajos en algún momento se vuelven obsoletos. Según una estimación, El 45% de todos los trabajos podrían automatizarse utilizando la tecnología actual. Y con el tiempo, probablemente este sea el caso.
¿Tiempos difíciles (también) para los desarrolladores de software?
En el campo del desarrollo de software, puede verlo sucediendo en tiempo real: hace tiempo que surgieron las herramientas de automatización. Y esa es solo una de las muchas áreas en las que se han automatizado las piezas iterativas que requieren mucho tiempo (otro campo es el diseño, por ejemplo).
Esto nos lleva a la inevitable pregunta: ¿Se están volviendo obsoletos los desarrolladores de software? Si más y más máquinas pueden escribir código por sí mismos, para que son los humanos?

Del diseño de la lógica al diseño de la mente
Los desarrolladores de software son verdaderos constructores. Construyen conexiones lógicas, algoritmos, programas, proyectos y más. Diferencias en comparación con los constructores de edificios, ¿quienes construyen cosas físicas? Los desarrolladores de software construyen cosas lógicas.
Sin embargo, con el auge de la inteligencia artificial, se produce un cambio de paradigma. Los desarrolladores ya no están diseñando enlaces lógicos. Son modelos de entrenamiento sobre la heurística de estos enlaces lógicos. En la práctica, están pasando del diseño de la lógica al diseño de una mente.
¿Y cuándo se ha desarrollado bien esta mente? ¿Adiós trabajadores? ¿Cómo se verá el mundo a los ojos de una computadora?
Cuando se les pregunta si serán reemplazados por un robot en el futuro, los trabajadores humanos a menudo no lo creen. Esto es cierto para el desarrollo de software y muchas otras áreas.
El motivo es claro: cualidades como la creatividad, la empatía, la colaboración o el pensamiento crítico, en definitiva, las "soft skills", no son para lo que son buenos los ordenadores.
Pero a menudo eso no es lo que importa para hacer un trabajo. Incluso los proyectos más complejos se componen de muchas piezas pequeñas que pueden automatizarse.
No me malinterpretes; las cualidades humanas son asombrosas. Pero hemos sobreestimado la importancia de estos temas cuando se trata de actividades regulares.
Durante mucho tiempo, por ejemplo, incluso los investigadores creyeron que las máquinas nunca serían capaces de reconocer a un gato en una foto. Hoy en día, una sola máquina puede clasificar miles de millones de fotos a la vez y con mayor precisión que un ser humano. Es posible que una máquina nunca pueda maravillarse con la dulzura de un gatito, pero es excelente para trabajar con estados indefinidos. Porque esta es la foto de un gatito a través de los ojos de una máquina: un estado indefinido.
Hacia nuevas variantes y gran escala
Además de trabajar con estados indefinidos, hay otras dos cosas que las computadoras pueden hacer de manera más eficiente que los humanos: haciendo cosas a gran escala e trabajar en variantes.
Todos hemos experimentado lo bien que funcionan las computadoras a gran escala. Por ejemplo, si le pides a una computadora que imprima la misma oración mil veces, lo hará sin quejarse y completará la tarea en una fracción de segundo.
Pregúntele a un ser humano y tendrá que esperar días para ver el trabajo hecho.
Los coleccionistas son básicamente una forma imaginativa o matemática de referirse a subconjuntos de espacio que comparten propiedades particulares. Por ejemplo, una hoja de papel es una variedad bidimensional en un espacio tridimensional. Si arrugas la hoja de papel o la doblas en un avión, sigue siendo un coleccionista.
Las computadoras son realmente buenas para trabajar con variantes que los humanos encuentran difíciles de visualizar, tal vez abarcando veinte dimensiones o con muchos nudos y bordes complicados. Dado que muchos problemas cotidianos, como el lenguaje humano o el código informático, se pueden expresar como una variedad matemática, existe un gran potencial para implementar productos verdaderamente eficientes en el futuro.
¿Dónde estamos y adónde llegaremos?

Por un lado, las revisiones de código y la depuración pronto serán cosa del pasado. la empresa suiza código profundo está trabajando en una herramienta de detección automática de errores. Mente profunda Google ya puede recomendar soluciones más elegantes para el código existente. ES Aroma Facebook puede completar pequeños programas por sí solo.
No solo MISIM, un acrónimo de Machine Inferred Code Similarity System, parece ser capaz de entender el código de computadora de la misma manera que Alexa o Siri pueden entender el lenguaje humano. Es emocionante, porque un sistema de este tipo podría permitir a los desarrolladores automatizar tareas comunes que requieren mucho tiempo.
Los productos aún no son perfectos, pero estos son los comienzos: herramientas como esta serán mucho más poderosas en el futuro.
¿Las aplicaciones? pronto
Algunas de las primeras aplicaciones de estas nuevas automatizaciones podrían incluir el monitoreo de actividades humanas. Cosas como programar las horas de un trabajador o encontrar lecciones para un estudiante podrían optimizarse de esta manera.
Esto, en sí mismo, presenta enormes oportunidades económicas porque los estudiantes pueden aprender cosas importantes más rápido y los trabajadores pueden trabajar durante sus horas más productivas.
Si MISIM es tan bueno como promete, también podría usarse para reescribir código heredado. Por ejemplo, muchos software bancarios y gubernamentales están escritos en COBOL, que rara vez se enseña en la actualidad. Traducir este código a un idioma más nuevo facilitaría su mantenimiento.
A la luz de todo esto, entonces, si los desarrolladores de software no quieren desaparecer, ¿cómo pueden mantenerse al día?
Todas estas nuevas aplicaciones son emocionantes. Pero por encima de ellos pesa una gran espada de Damocles: ¿y si dejaran a los desarrolladores completamente obsoletos?
La salvación, como sucederá a menudo en el futuro cercano, está en la creatividad.
Esta es una excelente oportunidad para llevar a los desarrolladores de software a las primeras etapas de un proyecto, es decir, para involucrarlos en las etapas de planificación. No solo saben qué se puede implementar y qué no. Con su creatividad, podrían agregar valor en formas que no son imaginables a priori.

Han pasado cinco años desde que Satya Nadella de Microsoft afirmó que "toda empresa será una empresa de software". El estaba en lo correcto.
El software es el rey
Si algo nos ha enseñado la actual pandemia es que gran parte de la creación de valor y vida en los últimos meses se está produciendo en línea.
El software es el rey. Paradójicamente, esto se hace más evidente cuanto más se automatiza. La automatización está transformando a los nerds del software en los líderes mundiales del mañana.
La venganza de los nerds
Cuando era más joven, las personas a las que les gustaban las computadoras se consideraban niños poco sociales, nerds, criaturas desagradables, seres parecidos a zombies sin sentimientos ni pasiones humanas.
Sin embargo, cuanto más tiempo pasa, más gente ve los otros lados de los desarrolladores de software. El programador ya no se considera un nerd, sino una persona inteligente que puede crear cosas interesantes.
Claro, en una década (en algunos casos, incluso unos meses), los desarrolladores de software estarán haciendo cosas que ni siquiera podemos imaginar en este momento. Pero eso no significa que dejará de funcionar. Tal vez simplemente cambien sus nombres y trabajos.