¿Los desarrolladores / informáticos finalmente se codificarán (automatizarán) a sí mismos para dejar sus trabajos?

No.

Espero lo contrario, es probable que los programadores se automaticen más trabajos. En última instancia, solo puede haber trabajos de programadores, todos los demás trabajos son automatizados o realizados por robots.

Por supuesto, los detalles del trabajo pueden cambiar, como ya sucedió en el pasado, pero la evolución de CS siempre dejará espacio para los desarrolladores.

¿Por qué creo eso? Porque eso es lo que sucedió en el pasado.

En los años 80 y principios de los 90 hubo tal sueño (o caballería): el final de la programación.

La idea era que podía pasar directamente de los requisitos a ejecutar software utilizando programas sofisticados llamados constructores de aplicaciones . Lo que sucedió fue que esto funcionó … pero los resultados no fueron para nada como algunas personas esperaban.

  • Todavía se necesitaban personas especializadas para codificar los requisitos en el formato esperado.
  • diseñar interfaces eficientes para usuarios finales todavía era una especie de arte.
  • Estos creadores de software solo fueron útiles para resolver un conjunto limitado de problemas.
  • los ecosistemas informáticos cambiaron tanto que estas herramientas pronto quedaron obsoletas y también tuvieron que cambiar, lo que involucró a más programadores. ¡Imagina! ¡A principios de los 90 todavía no existía la Web!

Ahora tenemos nuevos lenguajes de programación y muchos marcos y estos son solo parte del trabajo.

A medida que las cosas evolucionan, los programadores y los informáticos pueden abordar problemas más difíciles, crear interfaces más fáciles, pero no hay menos trabajo para ellos.

Esperar el final de los programadores sería como esperar el final de los escritores de libros o creadores de películas debido a la falta de historias que contar.

Mientras haya problemas que resolver, habrá programadores que resuelvan problemas, incluso para los científicos. Todo lo relacionado con computadoras y programadores hoy en día: fábricas automatizadas, automóviles, hornos, teléfonos, medicamentos, dinero. Y eso es poco probable que cambie. Siempre.

Y también puede ver que la programación también se extiende sobre la narración de historias hoy. ¿Qué son los videojuegos si no la evolución moderna de la narración de cuentos después de cuentos, libros y películas? Una experiencia distintiva más interactiva que lo que se sabía antes. Supongo que estos seguirán evolucionando, pero estoy bastante seguro de que los futuros mundos virtuales seguirán necesitando computadoras, software y personas para garantizar que todo funcione.

Puede que en algún momento lleguemos a la verdadera IA. Lo que significaría que la máquina también podría comenzar a programarse. Pero ese no será el final de la programación, simplemente entrando en la siguiente etapa de programación.

Hace unos años, habría dicho un no definitivo.

Hoy en día, mi respuesta sería más ambivalente. Con el nuevo trabajo realizado en IA por las compañías tecnológicas, mi respuesta sería sí y no.

Creo que todavía habrá programadores, aunque mucho, mucho menos.

Imagine una inteligencia artificial que puede hacer programas. Le dices lo que quieres, produce algo, luego te lo muestra. Juegas un poco con él, luego le dices lo que necesitas cambiar. Luego procede a hacer las correcciones solicitadas, luego se lo muestra. Luego juegas con él, y así sucesivamente, hasta que estés satisfecho.

Claramente, este proceso podría ser mucho más eficiente que cualquier cosa que los programadores manejen actualmente, si la IA es lo suficientemente poderosa como para hacer grandes suposiciones cada vez. Entonces uno podría pensar “OK, entonces no necesitaremos más programadores”.

Pero lo que realmente sucedió es que el trabajo de los programadores cambió. Y no tanto.

¿Cómo describirías lo que hace un programador? Tal vez algo como esto:

“Un programador es alguien que le enseña a una computadora lo que debe hacer, usando un lenguaje de programación”.

Simplemente ahora sucede que el lenguaje de programación es un lenguaje natural (como el inglés).

Esa es una pregunta muy discutible y seguramente especulativa: mi respuesta es que sí, a la larga nos encontraremos con una singularidad de algún tipo (muy probablemente el nacimiento de una IA verdadera y fuerte) que hará la codificación y básicamente la mayoría de las otras trabajos obsoletos en muy poco tiempo.

Hay una cantidad increíble de discusiones y debates sobre las singularidades tecnológicas y la posibilidad de codificar una IA fuerte, por lo que dejaré Google para cubrir esta parte.

Pero a corto plazo, supongo que estamos hablando principalmente de esto, no: creo que, por el contrario, cada vez más trabajos estarán de alguna manera orientados al código .

En primer lugar, echemos un vistazo a la historia reciente: ¿alguna mejora tanto en hardware como en software ha hecho que el trabajo del programador sea menos demandado? Por el contrario, diría, y la tendencia se mantendrá por un tiempo, a medida que la economía evolucione hacia un paradigma más intensivo en el cerebro y siempre se conecten más dispositivos. Todos ellos serán mantenidos, actualizados, reparados, actualizados y rediseñados por alguien.

Pero no veamos los trabajos 100% de TI: consideremos también otros trabajos fuera de este campo.

Hoy en día, un vendedor o una secretaria o un planificador de viajes están capacitados (o deberían estar capacitados) para desarrollar habilidades de programación que pueden parecer bastante triviales (uso básico de Excel, software de análisis financiero, herramientas de informes, uso simple de bases de datos, etc.) pero algunos Hace décadas eran el reino de muy pocos individuos seleccionados.

¿Eso no te convence todavía? Bueno, piense en esto: en la edad media, muy, muy pocas personas podían leer. escribe y habla correctamente 1-2 idiomas (en su mayoría personas de la iglesia o de la aristocracia). Luego el progreso continuó y ahora, incluso en los países más pobres, una gran parte de la población puede leer, escribir y hablar en común. lengua inteligible

Ahora te pregunto: ¿las personas alfabetizadas se escribieron fuera del mercado laboral?

Incluso con inventos como la radio, los televisores, el software y los dispositivos capaces de escribir en papel y / o leer en voz alta un texto escrito, ¿la alfabetización se volvió innecesaria o incluso no deseada en el mundo laboral?

Y en este punto, creo que ya te respondiste o al menos seguramente entendiste mi punto.

Una nota final: no se deben hacer cosas solo para ganar dinero o prestigio.

CS es un área de experiencia muy exigente pero gratificante . Uno que puede mejorarlo como ciudadano, como humano, enseñándole mejores formas de pensar .

Para aclarar aún más mi punto, pocas palabras de uno de los recuerdos más significativos de mis días universitarios.

Cuando estaba completando mi maestría, tomé un examen junto con un hombre muy viejo. Me hizo sentir curiosidad y como los otros estudiantes básicamente lo ignoraban, no había otro competidor para su atención, así que me dirigí a él para saber cómo es que ese viejo estaba tomando exámenes en medio de los jóvenes.

Se alegró de contestarme y descubrí que era incluso mayor de lo que pensaba: era un médico retirado (según los límites de la vejez, ¡de lo contrario hubiera seguido!). Y básicamente un hombre educado, realizado y rico.

Pero eso no fue suficiente para él; en sus días anteriores, quería tomar otro Máster como MD, pero la universidad rechazó su solicitud porque era demasiado viejo (un punto tonto si me preguntas, ya que todavía era astuto, no habría sido competidor de los otros estudiantes y, por el contrario, podría haberles proporcionado una valiosa información de sus 40 años de experiencia en el campo). Entonces se volvió a estudiar Negocios y Administración como yo.

Le pregunté por qué eligió eso, y respondió por dos razones: era un tema del que no sabía nada anteriormente, por lo que quería compensarlo; y luego me dijo que, aunque seguramente no tenía problemas para pagar a los contadores u otros expertos, una vez que consigue que alguien lea e interprete las cosas por usted, pierde parte de su libertad .

Entonces, cerremos esto con un …

TL; DR: ¿los codificadores perderán su lugar en la fuerza laboral? No lo sé, pero dudo seriamente que suceda pronto. ¿Sería capaz de leer y escribir código todavía vale la pena el esfuerzo? Seguro.

A menudo bromeo acerca de que mi trabajo en AI es el objetivo final y esa es la razón por la que somos tan lentos en eso 🙂

Más en serio, aunque no lo creo o al menos no veo que suceda en el futuro previsible.

Primero hay que hacer una distinción: desarrollador vs informático. Un desarrollador contribuye al desarrollo de software, es ingeniero o técnico, un científico de la computación investiga para ampliar nuestra comprensión de las computadoras, lo que se puede hacer con ellas, cómo se puede hacer, …

No son lo mismo y, por lo tanto, uno debe abordarlos de manera diferente.

Comencemos con la fácil: informático. Como su trabajo es investigar en la computadora y profundizar nuestra comprensión de la misma, incluso si por alguna magia o avance repentino en el campo de la IA una computadora pudiera realizar tareas complejas repentinamente, como el diseño de software, no eliminaría el trabajo de El informático. En todo caso, simplemente lo reformaría para comprender cómo funciona la computadora / software y cómo evoluciona en este nuevo dominio. Usted sabe como un biólogo que estudia animales a pesar de, o más exactamente gracias a, el hecho de que actúan de manera autónoma. E incluso sin eso, todavía habría muchos campos existentes que no perderían interés. Comprender las estructuras de datos y los algoritmos y cómo pueden contribuir y / o mejorar en gran medida para un problema dado sigue siendo bueno para explorar y analizar, incluso si dicha estructura hubiera sido identificada por un software. La investigación es comprensión y si algo nuevo nos da una solución que no significa que debamos dejar de tratar de entender cómo funcionan las cosas nuevas.

Ahora para el desarrollador. Una vez más, la ingeniería de software es una gran línea de trabajo e implica mucho más que producir código a ciegas. Implica el diseño tanto en el backend como en el frontal (API o GUI), también implica la capacidad de traducir adecuadamente las necesidades del cliente en dicho diseño y esta es probablemente una de las partes más difíciles del trabajo: requiere comunicación constante, comprensión implícita sobre cómo una solicitud oculta muchos pasos intermedios y también, en algún nivel, cierta capacidad de leer entre líneas. Además, también existe el problema del mantenimiento de un software y su entorno (incluido el hardware, etc.). La capacidad de analizar la ejecución del código y descubrir posibles problemas en él: y este es uno grande para el que sabemos que una computadora en sí (es decir, una máquina Turing) no puede cubrir por completo, sin importar cuán inteligente sea. El ejemplo atómico de esto es el problema de detención y está formalmente probado que una máquina de Turing no puede resolver este problema.
Una vez más, incluso si una máquina pudiera producir código, todavía habría mucho trabajo asociado a este código para el cual un desarrollador podría redirigir su experiencia (o incluso ya lo está haciendo, ya que todo lo anterior es parte de las tareas para un desarrollador). Entonces, suponiendo que esto ocurra, una vez más, simplemente redirigiría la tarea de estos empleados y no la suprimiría.

Ahora para el aspecto más general. De hecho, las nuevas tecnologías vienen con una espada de doble filo: elimina algunas tareas consideradas aburridas o difíciles al automatizarlas, lo que significa que las personas que solían pagar para realizar esas tareas eventualmente perderán su trabajo.
Dicho esto, no es un problema nuevo ni es un juego de suma cero. El problema no es nuevo y ocurrió con un nivel variable de crisis en la historia humana tal como la conocemos (la revolución industrial es una de ellas). También vemos a lo largo de la historia que este progreso se genera junto con un nuevo tipo de trabajo / servicios que están relacionados con el progreso en sí (de repente necesitas a alguien para mantener las máquinas / programas que automatizan tu tarea) o que se pueden crear gracias al extra recurso (tiempo o dinero) creado por este avance tecnológico. Por ejemplo, los salones de peluquería o barberos se hicieron populares a principios del siglo XX, antes de eso, era un servicio reservado a una élite. Probablemente, lo mismo ocurriría con la próxima revolución tecnológica (si se trata de una mayor automatización del software u otra cosa).

Gran pregunta

Respuesta corta, no, pero habrá muchos menos trabajos de informática en el futuro.

Muchos han comparado la revolución industrial con la revolución tecnológica.
-La Revolución Industrial ha extendido el poder físico de los humanos (nuestros cuerpos) mientras que la revolución informática extendió el poder mental de los humanos (nuestros cerebros).

El concepto de máquinas que construyen máquinas no es nuevo. Las personas han construido máquinas automatizadas que fabrican automóviles, computadoras, etc. ¿Estas máquinas necesitan mantenimiento? Si.

En este momento, eso se puede comparar con el software. Estamos construyendo IA por todas partes, y pronto AI nos construirá los programas que queramos, simplemente pidiéndoles “a ellos” que lo hagan. ¿Necesitarán estos AI “mantenimiento” como las máquinas industriales? Si.

Esa es solo mi predicción.

En una nota al margen, no dejes que eso te desanime a aprender a codificar, trata de vivir en el ahora y haz lo que amas a pesar de lo que depara el futuro.

Mejor,
Ryan