¿Es cierto que el 80% de los trabajos de TI pueden ser reemplazados por la automatización? ¿Qué significa eso para los desarrolladores de software?

Honestamente, la mayor parte del desarrollo de software ya está automatizado. Érase una vez, la programación en sistemas como la computadora Colossus se describió como:

Mi visión de Coloso era la de programador de criptoanalistas. Le dije a la máquina que hiciera ciertos cálculos y cuentas, y después de estudiar los resultados, le dije que hiciera otro trabajo. No recordaba el resultado anterior, ni podría haber actuado si lo hubiera hecho. Coloso y yo alternamos en una interacción que a veces logró un análisis de un sistema de cifrado alemán inusual, llamado “Geheimschreiber” por los alemanes, y “Pez” por los criptoanalistas.

Este proceso incluyó (además de un grupo de técnicos e ingenieros de pie para hacer reparaciones) perforar bucles de cinta de papel y especificar cada instrucción que la máquina necesitaba ejecutar para resolver el problema en cuestión.

De alguna manera, el ENIAC era aún más extraño, básicamente era una colección fija de solucionadores de problemas complejos que eran más o menos instrucciones únicas en un proceso.

¿Hoy, sin embargo? Puedo escribir algunas descripciones de alto nivel de lo que quiero (en algunos casos, incluso puedo especificar el problema y confiar en que surgirá una solución), con un editor que detectará muchos de mis errores y hará sugerencias para mejorar lo que escribo, probablemente aprovechando los marcos que generan mucho del código más aburrido y descubriendo qué bibliotecas voy a necesitar para que las cosas funcionen, compílelo en segundos (sin que necesite saber nada sobre la computadora subyacente) , luego envíe todo a un clúster de computadoras escalado dinámicamente.

Incluso en los veinte años que llevo programando profesionalmente, la diferencia entre cómo trabajé entonces y cómo trabajo hoy es de día y de noche. El punto es que, entre el momento en que empiezo a trabajar en el código y el usuario final obtiene acceso al software, me sorprendería que yo hiciera una quinta parte del trabajo. La cantidad de automatización es impactante, cuando se llega al final, y solo va a mejorar.

¿Qué podría significar esto? Probablemente más oportunidades, si la historia es alguna indicación. A medida que el lado automatizado del trabajo gana funcionalidad, las personas tienen más ideas sobre lo que podemos hacer con él. No hace mucho tiempo que nunca hubiéramos considerado enviar llamadas telefónicas a través de redes de computadoras, pero hoy, ese es el valor predeterminado.

Sin embargo, los trabajos cambiarán, como siempre lo hacen. Hace años, solía trabajar con personas que tenían títulos como “Build Engineer”, personas cuyo trabajo real era asegurarse de que los compiladores se configuraron y los paquetes de instalación se generaron correctamente. Hoy, eso es principalmente un problema resuelto, y los desarrolladores trabajan casi exclusivamente para traducir los requisitos del usuario en soluciones. Esa tendencia ciertamente continuará.

Pero la programación no desaparecerá. No importa cuál sea la tecnología (COBOL, ingeniería de software asistida por computadora, lo que sea) promete que siempre tendremos un “software sin programación”, porque alguien necesita cerrar la brecha entre la traducción de lo que la gente dice al tipo específico e inequívoco. explicación que maximiza las posibilidades de que las personas obtengan lo que quieren. Y esa persona es programadora, incluso está hablando conversacionalmente con algún tipo de inteligencia artificial.

Déjame decirte una cosa.

Para que cualquier software sea automatizado, necesita tener entradas y condiciones estructuradas y automatizadas.

Para cualquier software a desarrollar, a continuación se detallan los parámetros considerados.

  1. Usabilidad
  2. Actuación
  3. Mira y siente
  4. Funcionalidad
  5. Seguridad

Ahora, la tendencia más reciente y útil de desarrollar un software es la metodología AGILE.

Este modelo SDLC (Software Development Life Cycle) se usa principalmente porque el software se puede modificar en cualquier momento, la versatilidad del equipo de desarrollo para realizar cambios en el software incluso el último día del lanzamiento. Lo que a su vez nos muestra que estamos buscando cambiar los requisitos a diario si es necesario y no estamos seguros de cuáles son nuestros requisitos y cómo queremos el front-end, etc. Seguimos cambiando de opinión sobre lo que necesitamos de un software.

Ahora, si está hablando de automatización, como dije para que un software sea automatizado, necesita entradas claras y una línea de tiempo clara para que se borre el desarrollo. Sin embargo, esto no es posible ya que no somos lo suficientemente maduros para decidir qué necesitamos de un software y cómo debería verse y cómo funciona aún antes de comenzar realmente el desarrollo.

Hasta que los clientes sean lo suficientemente maduros como para decidir los requisitos en la fase inicial, hasta que los desarrolladores sean lo suficientemente maduros como para no cometer errores, hasta que no definamos exactamente cuántas pruebas se requieren, hasta que no definamos exactamente qué Como esperamos de un producto de software, no somos lo suficientemente maduros como para realizar pruebas y desarrollo completamente automatizados.

Eventualmente, la madurez podría llegar. Sin embargo, veo casi 20-30 años de nuestro tiempo de ahora en adelante para llegar a ese punto en el que somos lo suficientemente maduros para decidir qué queremos de un producto.

Entonces, hasta esos 20-30 años, ni siquiera el 50% de los empleos se perderán. Bueno, incluso si surge la automatización, para poder sobrevivir al desafío de competir con la automatización, tendrás que ser mejor que la automatización.

¿Qué tal convertirse en el maestro de esos productos de automatización?

Si está preparado para comandar la automatización, está en una posición bastante buena y segura para no perder el trabajo, incluso si se toma la automatización completa. Por lo tanto, explore las oportunidades, prepare más sus habilidades y esté abierto a aprender nuevas tecnologías.

Espero que ayude.

Estoy en desacuerdo. Creo que el 100% de los trabajos de TI se pueden automatizar tanto como cualquier trabajo perceptible que tengamos hoy. La pregunta no describe el período de tiempo esperado y asumí un futuro distante como la línea de tiempo esperada.

Si pregunta si esto es posible hoy, sí, y hay muchos trabajos manuales que están llegando al final del día, sin embargo, todavía hay demanda de muchos trabajos de programación.

Como programador de software, estoy seguro de que seré el último en la fila para perder mi trabajo, antes de que se reemplacen otros trabajos.

En los últimos años, se han logrado algunos avances sólidos en el aprendizaje profundo y los algoritmos de IA impulsados ​​por el aumento de los recursos informáticos. Aún en sus primeras etapas, sin embargo, la adopción y evolución de estas tecnologías están experimentando un tremendo crecimiento.

Como ser humano, estoy preocupado por las implicaciones catastróficas de este cambio, y puedo imaginar que el mundo sea administrado por corporaciones ricas, mientras que la mayoría de nosotros sufrirá para ganarnos la vida.

Sin embargo, tengo la esperanza de una evolución disruptiva que contrarrestará eso.

Esta pregunta se hace con tanta frecuencia.

No, los trabajos de TI no se automatizarán. Automatizarlos significa que los programas ahora se construirán solos. Lo único es que tendrás que decirle a la computadora exactamente lo que quieres que construya (no es un lector de mente)

Por lo tanto, tendrá que introducir exactamente cómo desea que funcionen ciertas funciones y cómo funcionan ciertas cosas. Tal vez con algunas palancas o perillas. En realidad, sería más preciso si pudieras escribir en una computadora exactamente lo que quieres hacer.

Algo así como un código o fórmula. HTML, CSS, JavaScript, PHP, MySQL, Swift, Java, Python son algunos ejemplos que pueden hacer esto.

Posiblemente en el futuro tendremos una máquina que crea aplicaciones al azar, pero codificamos la parte automatizada. Puede ser más fácil, pero siempre estará allí de alguna forma.

Puede ser reemplazado en el futuro más como.

Recuerde que TI y programación no son lo mismo. El 20% probablemente sean roles de programación, mientras que los roles manuales ya están siendo automatizados. Lo he visto en TI en finanzas: aprendes rápidamente a través de la red qué empleadores arruinarán tu carrera al hacer que hagas cosas que otras empresas automatizan, y que realmente hagan que hagas un trabajo que te haga indispensable y donde puedas ser empleado sin importar lo que se automatiza: me imagino que la TI manual no es muy diferente.

Para reemplazar a los programadores con automatización, necesitarías una IA tan intensa que esté a décadas o incluso siglos de distancia. Sí, existen programas de IA que crean IA, pero el proceso para convertirlo en pérdidas de trabajo reales será lento a medida que se implementen los procesos de prueba. Las habilidades básicas y la toma de decisiones de un programador son muy difíciles de acertar.

E incluso entonces observe otras industrias, por ejemplo, todos esos años de investigación y los autos sin conductor de Uber todavía requieren un conductor al volante en caso de que algo salga mal: un choque recientemente fue todo lo que se necesitó para detener la línea para que puedan comenzar de nuevo. Tener IA que escriban rápidamente programas para plantas de energía, por ejemplo, probablemente tendría salvaguardas similares y aún requeriría supervisión.

Sí, es cierto … Google trabaja bajo el proyecto de que el software de inteligencia artificial aprende a hacer el software de inteligencia artificial en el que están trabajando. Pero lleva décadas surgir. Entonces puedes ganar dinero mientras desarrollas el software.

Adjunto el enlace de referencia

https://www.google.co.in/url?sa=…

No, no puedes. Algún% puede automatizar, pero el 80% no puede hacerlo.
Ejemplo
¿Por qué el software tiene una gradación Up?
Versión 1 Versión 2 Versión 3
Entonces, todos estos son desarrollos nuevos, lo que quiero decir es agregar algunas cosas a las cosas existentes, según la globalización o lo que el cliente necesita. No puede predecir qué características necesita.

¿Por qué Windows necesita tantas versiones?
En el momento del lanzamiento, solo pueden lanzar la versión final.
pero sigue agregando nuevas funciones al producto existente.
Por lo tanto, el requisito de software es impredecible hasta que el requisito proviene del cliente.

Si el 80% se automatiza, ¿Quién crees que son las máquinas Automatizadas, Robos o Electrónicas? Creo que no, otra vez desarrollador de software. Se crearon algunos roles nuevos.

No es exactamente … cierto … incluso para la Automatización / INTELIGENCIA ARTIFICIAL construirlo e implementarlo requeriría una gran fuerza de trabajo, etc.

Dicho esto, la forma en que estamos progresando en este momento y la calidad de las invenciones e innovaciones que se espera que sea en el futuro cercano.

Al menos podemos esperar una reducción del 50% en la fuerza de trabajo actual.

Aun habiendo dicho eso … nos queda algo de tiempo …

¡Salud!

Originalmente, el término programador significaba alguien que tomaba la lógica de alto nivel escrita por un analista de sistemas y la traducía al lenguaje ensamblador. Se inventaron lenguajes de programación de alto nivel para permitir que el análisis se escribiera con cero ambigüedad, lo que permitió la automatización de traducirlo (compilarlo) a código máquina. Otras mejoras en las herramientas para el desarrollo de software hipotéticamente podrían haber llevado a menos trabajos en el desarrollo de software. Pero, hasta ahora, las nuevas aplicaciones han aumentado la demanda de software al menos tan rápido como el aumento de la productividad del desarrollador.

Esto puede sonar extraño proveniente de un desarrollador, pero no confío en AI y probablemente nunca lo haré. Aunque puede crear sistemas que crean sistemas, perderá muchas cosas en el camino. Lo más importante sería la seguridad, cuando cada pieza de software está diseñada de la misma manera, esa forma se vuelve vulnerable. Y en cualquier caso, no se puede automatizar realmente la creatividad de una mente humana, simplemente no es posible.

Sí, probablemente sea cierto. Incluso podría ser 90% o incluso 100%.

Sin embargo, no es solo ingeniería de software. También hay soporte, redes, hardware, planificación y lo que sea que hagan los consultores.

Creo que podríamos ver que partes de esos trabajos se automatizarán en la próxima década más o menos, continuando una tendencia que ha estado ocurriendo durante décadas.

Sin embargo, el reemplazo mayorista de esos trabajos llevará mucho más tiempo.

Podría ser parcial en ese sentido, pero creo que “desarrollador de software” será una de las últimas profesiones en “desaparecer”.

En mi experiencia, el 80% parece estar en el lado alto. Ciertamente he visto trabajos reemplazados por automatización, demonios, he escrito algo de esa automatización. Probablemente hay más trabajos que también pueden reemplazarse, solo el 80% parece demasiado alto.

Sin embargo, el desarrollo de software no será uno de los trabajos reemplazados.

Básicamente porque ni siquiera estamos cerca del nivel de IA requerido para hacerlo, simplemente no estamos en ese estadio.

Piénselo, Adobe quiere hacer un nuevo programa, es como un editor de películas, pero dirigido específicamente a películas animadas, como Frozen o algo así.

Bien, ¿entonces será mejor que le digamos a la IA que empiece a escribir? No, porque solo estaríamos hablando con una pared, porque no existe tal IA, y ni siquiera estamos remotamente cerca de ella.

Ciertamente no hoy, y no me lo puedo imaginar.

Pero no puedo estar seguro.