¿Qué tipo de interrupción puede dejar a los programadores sin trabajo?

Creo que los programadores están dejando a otros programadores sin trabajo todo el tiempo.

Por lo tanto, para responder a su pregunta más directamente, no creo que haya una interrupción gigantesca que nos deje a todos sin trabajo, por mucho que creo que la abstracción gradual de la complejidad por parte de terceros y el código abierto generalmente disminuirá lo existente. demanda de programadores altamente calificados.

Algunos ejemplos:

1) Los diseñadores web solían poder obtener todo tipo de sitios de construcción de trabajo con HTML, CSS y little jQuery. Ahora, otros desarrolladores han creado una variedad de formas para que las personas que no conocen HTML y CSS creen sus propios sitios web. Estoy hablando de soluciones pagas como Squarespace y soluciones de código abierto como WordPress, Bootstrap y generadores de sitios estáticos.

Claro, las empresas que necesitan un trabajo personalizado siempre pagarán a los diseñadores y desarrolladores front-end para que creen sus sitios web, pero, hoy en día, tienes que ser muy bueno en lo que haces para hacer algo mejor que lo que hace Squarespace. No hay duda de que es mucho más difícil ganarse la vida haciendo diseño independiente y desarrollo front end de lo que solía ser.

2) Considere las multitudes de administradores de sistemas que los servicios en la nube de Amazon (y otros) dejan sin trabajo. Mis dos últimas compañías despidieron y / o dejaron de contratar administradores de sistemas porque gran parte de la complejidad se ha extraído de la administración del servidor que es posible pasar a los desarrolladores del lado del servidor.

3) Las empresas de back-end como servidor como Firebase (y muchas otras, incluidas las soluciones de código abierto) están facilitando que los desarrolladores front-end desarrollen aplicaciones de pila completa, sin tener que pagar un desarrollador de back-end o tener que aprender programación del lado del servidor.

4) Los frameworks front-end como Angular.js le permiten desarrollar aplicaciones front-end mucho más complejas con la ayuda de muchos menos desarrolladores de los que solía crear aplicaciones front-end complejas.

Podría seguir.

Por supuesto, como todos siempre argumentan, habrá empleos en empresas que necesiten trabajo personalizado / complejo: que siempre tendrá un trabajo si desea innovar.

Eso es verdad. A mi modo de ver, mientras exista la complejidad, existirán trabajos.

Pero dado que todo el MO de esta industria es escribir bibliotecas que reduzcan la complejidad, no puedo ver ningún otro final del juego que sea cada vez más fácil crear software y cada vez más difícil encontrar trabajos interesantes.

Además, creo que es importante tener en cuenta que la gran mayoría del trabajo no es personalizado ni complejo. E incluso si es así, te garantizo que hay alguien más que está creando un marco para abstraerlo de tu trabajo.

Creo que eventualmente (y hasta cierto punto, esto ya es cierto) gran parte de la programación será simplemente una cuestión de aprendizaje, configuración y mantenimiento de herramientas y bibliotecas de terceros.

La programación, como el amor, es una palabra con muchos significados diferentes.
A partir de Fortran y Algol, los lenguajes de programación hicieron que el trabajo de desarrollo de software fuera mucho más fácil en comparación con las instrucciones de máquinas binarias que ingresan directamente en la RAM de una computadora usando interruptores, pero la demanda de desarrollo de software explotó en lugar de disminuir.
Los compiladores Fortran, Algol, C y C ++ generan un código perfecto para el conjunto de instrucciones de CPU de destino, que coinciden exactamente con las construcciones del lenguaje en el código fuente, pero todas las ganancias en la productividad se utilizaron para desarrollar programas aún más complicados. (Java y C # también son impecables de esa manera, pero implican una ruta más complicada entre el código fuente y la ejecución del programa)

No hay razón para creer que en 10-20 años habrá una tecnología que creará un software sin necesidad de un desarrollador de software, pero el proceso de desarrollo de software y las habilidades esperadas del desarrollador de software pueden cambiar de una manera drástica e impredecible.

En resumen, sí, si estas 2 cosas suceden y se fusionan:

– La programación se enseña en la escuela en muchos países, y para entonces se convertirá en una cultura fuerte en todo el mundo (como el idioma inglés).

– La mayor parte del trabajo se realizará para entonces, lo que significa que no es necesario escribir código para obtener lo que se desea, sino que solo necesita instalar y configurar cosas (similar a cambiar de “¡hay una API para eso!” A “hay una aplicación para eso ! “).

Luego, queda con todo el mundo capaz de administrar su propio software de arriba a abajo, por lo tanto, no es necesario que los programadores per se.

Siempre habrá una necesidad de desarrolladores de software, pero no tantos. Los desarrolladores de software se convertirán en expertos en el desarrollo de un componente de widget muy pequeño. Los arquitectos de negocios ensamblarán esos widgets en la solución de negocios. El software se convertirá en un conjunto de faros en un automóvil. Será una parte de la solución, pero no todas las plantas de automóviles necesitan la capacidad de crear una luz. La luz será creada por una pequeña empresa y el ingeniero de la planta automotriz tendrá en cuenta esas piezas hasta que construyan todo el automóvil. Ese es el camino y la dirección de la industria del software también.

Si alguien crea una IA lo suficientemente inteligente como para programar lo que se dice, entonces supongo que eso dejaría a los programadores sin trabajo.

No … dudo que eso suceda alguna vez
Imaginemos que se ha desarrollado un software que genera un código perfecto para cualquier problema que usted le pida. Ahora que todos nuestros problemas convencionales de programación se resuelven con este software, ya no necesitamos programadores (¡Hurra!). Sin embargo, cada vez que resolvemos un problema, encontramos problemas más difíciles que ahora se pueden resolver porque resolvimos el problema base. Este es especialmente el caso en la programación de computadoras. Para que este nuevo software de generación de código genere código para los problemas más complejos, necesitamos ‘decirlo’ para resolver nuestros problemas de una manera más específica … ¿Suena familiar? Básicamente está programando de nuevo, pero en un nivel superior. Y las personas que se encargarán de este software generador de código serán los nuevos ‘programadores’

En otras palabras…
La programación no se puede crear ni destruir … simplemente se transforma de un lenguaje de programación a otro 😉

Solo si alguien primero desarrolla algo en ese período de tiempo que generará especificaciones impecables, que son detalladas, completas y capturan las necesidades de los usuarios correctamente de una vez (sin necesidad de solicitudes de cambio posteriores).

More Interesting

Si todos los programadores y desarrolladores buscan cosas mientras codifican, ¿por qué las pruebas de codificación a menudo forman parte del proceso de la entrevista? ¿Cuán crucial es conocer todos los detalles de cada idioma para obtener el trabajo?

¿Necesito una licenciatura en informática para convertirme en ingeniero de software?

Cómo ser notado por las empresas de CS de primer nivel y dada mi situación, cuál sería el movimiento correcto

¿Cuáles son las tecnologías basadas en Java más necesarias en 2017 para un programador de software?

¿Puede un probador de software (pruebas de automatización) ganar más de 10-15 lacs por año dado que tiene el conjunto requerido de habilidades y experiencia?

¿Responder todas las preguntas al 100% de una sola vez durante la entrevista aumenta las dudas de su inteligencia por parte de un entrevistador? ¿Se puede rechazar porque se cree que tales respuestas se han copiado de alguna parte?

¿Vale la pena LinkedIn (producto) Premium?

¿Cuál es el rango actual de costos por hora (en USD) para desarrolladores de software rusos de alta calidad (front-end y back-end)?

¿Cómo funcionan los diferentes tipos de software y hardware en las computadoras?

¿Cuáles son las creencias falsas más frecuentes en informática y programación de software?

¿Existe un software que pueda traducir mangas?

¿Cómo ven las personas los cambios en la interfaz de usuario cuando su entorno de desarrollo está en la nube?

¿Cómo puede ser excepcionalmente bueno para encontrar código para un problema (aplicación / software) que ya ha sido codificado?

¿Cómo se ponen al día los nuevos desarrolladores en los proyectos existentes en Google?

¿Cómo explicaría las pruebas de software a cualquier persona que no tenga ningún conocimiento sobre las pruebas?