¿Cómo es el futuro de los programadores? Las escuelas primarias han comenzado a enseñar código, y hay muchos programadores en el mercado laboral.

¿Cómo es el futuro de la programación? Realmente bueno. En mis más de dieciséis años en el desarrollo profesional de software, he visto que los entornos de desarrollo se vuelven mucho más ricos en errores de corrección automática y proporcionan formas más rápidas de refactorizar el código. También he visto formas estandarizadas de construir, probar, depurar y liberar código.

A medida que las herramientas se han vuelto más capaces de ayudarnos a entregar productos y soluciones a velocidades más rápidas, los problemas que necesitamos resolver también se han vuelto más complejos. Esa tendencia no se está desacelerando. Probablemente estamos al menos unas décadas lejos de que las partes interesadas puedan poner una computadora con un micrófono en una reunión de reunión de requisitos y hacer que produzca la mayoría de los tipos de soluciones sin la participación humana. Algunos desarrolladores profesionales tienen este temor de ser reemplazados, pero eso no sucederá de la noche a la mañana. Va a venir como un cambio gradual. Las herramientas continuarán siendo más inteligentes y, a medida que el programador dependa más de las herramientas para ayudarlos a tomar decisiones, su habilidad requerida para hacer el trabajo disminuirá. Comienza con escenarios de nicho. Por ejemplo, eche un vistazo a Free Website Builder | Crea un sitio web gratis | Wix.com Cada sitio web generado automáticamente por Wix es un sitio que habría requerido que un desarrollador web lo construyera hace quince años. Pero Wix no puede hacer mucho más de lo que puede hacer. Es muy difícil superar ciertas necesidades de desarrollo web y es inútil para otros escenarios de desarrollo.

En el futuro veremos que las herramientas de desarrollo manejan más y más del tipo de codificación de trabajo repetitivo / gruñido y nos permitirá enfocarnos en las cosas más desafiantes. Sigo viendo un futuro brillante para los desarrolladores / ingenieros de software. Al menos tan brillante como la mejor de otras profesiones. Los ingenieros mecánicos, arquitectos, médicos generales e incluso cirujanos dependen cada vez más del software para ayudarlos a hacer su trabajo. Esta tendencia continuará en todas las industrias. Con el tiempo suficiente, la IA eventualmente lo controlará todo y tal vez todos tendremos que hacer la transición a un ingreso básico universal, pero ¿quién cree que creará y mantendrá esos sistemas? A decir verdad, probablemente seremos los últimos en irnos; Un mundo que no necesita desarrolladores de software es prácticamente un mundo en el que las computadoras se han hecho cargo de nuestros señores.

Con respecto a los niños que aprenden a codificar en la escuela primaria

Como señaló Tim Mensch, hay una gran diferencia en poder comprender los conceptos básicos de una habilidad y poder aplicar esa habilidad a nivel profesional. En la escuela primaria están enseñando conceptos básicos de programación y resolución de problemas utilizando entornos de desarrollo diseñados para niños (ver Scratch – Imagine, Program, Share). Es la contrapartida de programación para comprender la estructura básica de las oraciones y la ortografía. Del mismo modo que no todos los niños que aprenden a leer y escribir serán un novelista exitoso, no todos los niños que aprenden a codificar serán desarrolladores de software profesionales.

También vale la pena señalar que las escuelas que enseñan a los niños a programar no son nada nuevo. Mi primera clase de computación en una escuela pública fue en 1988 y aprendimos AppleSoft BASIC.

Cualquier niño que venga hoy y vaya a ingresar a un campo relacionado con Matemáticas o Ciencias usará código en algún momento durante su educación superior y probablemente en su profesión. Estas personas no se ganarán la vida escribiendo software, pero utilizarán el código como herramienta en su rutina diaria. Este ya es el caso.

El futuro, suponiendo que haya uno para los humanos, no requiere que los humanos trabajen para vivir.

Usted y muchos subestiman exactamente cómo se ve un futuro con producción libre de humanos.

¿Te imaginas un McDonald’s, por ejemplo, donde escribes una aplicación en tu teléfono celular y aparece un dron en unos minutos con tu pedido?

¿Qué tipo de trabajadores realmente necesita McDonald’s? La comida no necesita ser ensamblada por un humano. Realmente no necesita ser procesado por un humano. Realmente no necesita ser cultivado por un humano. Siempre que satisfaga las necesidades del ser humano que hace el pedido, eventualmente llegará a eso. Creo que es factible que las máquinas se hagan cargo de los humanos en cada paso.

Excepto uno. Toda esa programación y mantenimiento de las máquinas. Sin embargo, algo de eso solo debe hacerse una vez, o al menos de vez en cuando. ¿Qué propósito tendrá el dinero cuando casi no se necesite intervención humana para convertir la tierra, las semillas y el ganado en una hamburguesa?

Las escuelas primarias están preparando a los niños para el interino. En el futuro inmediato, hay un código incorrecto que se reescribirá varias veces. El código envejece a medida que se descubren nuevas técnicas. El código de los proveedores competidores entra en una especie de carrera armamentista, donde la innovación en algún frente mantiene el código vivo en su nicho. Por ahora, el dinero y el trabajo están vinculados. Sin embargo, como alguien que pasó varias horas hoy simplemente respondiendo preguntas en un sitio web gratuito, doy fe de que no están tan vinculados como imaginas.

Hay mucha gente alfabetizada en el mundo, pero los mejores escritores aún son reconocidos y pueden ganarse la vida.

Hay toneladas de personas que pueden tocar un instrumento, pero los mejores músicos pueden tener una prima.

Casi todos son capaces de practicar un deporte, pero pocos podrían ser profesionales.

Los conceptos de programación son parte de la nueva alfabetización. Es genial que todos estos niños estén aprendiendo código. Una fracción de ellos puede convertirse en desarrolladores profesionales que no lo habrían hecho antes, lo cual también está bien.

Estamos viendo un exceso de programadores de baja habilidad. Desarrolladores que apenas están pasando el tiempo y que realmente no entienden lo que están haciendo. Esos probablemente no tendrán los altos salarios, porque con esos desarrolladores se están convirtiendo en una mercancía.

Así que mi consejo es no ser una mercancía. Aprende nuevas tecnologías. Trabaja duro para mantenerte al tanto del campo. No solo dediques tu tiempo, o te estás poniendo en peligro de ser reemplazado por un niño mucho más ansioso (y menos costoso) que ha superado tu habilidad.

En resumen, el futuro de los desarrolladores de baja habilidad no es excelente (aunque incluso algunas habilidades son valiosas cuando se combinan con otros conocimientos de dominio). Pero el futuro de los desarrolladores de altas habilidades todavía se ve genial.

El software todavía se está comiendo el mundo y no veo que eso termine pronto. Las capacidades para el software crecen a medida que el hardware mejora, incorporado con robots, más interactivo con los asistentes digitales (los sucesores de Alexa, Siri y Cortana), y más preciso a medida que los nuevos algoritmos se hacen realidad. No hace tanto tiempo que el problema del vendedor ambulante se consideraba insoluble, ahora se puede resolver bastante bien con Ant Colony Optimization.

¿Alguna vez ha trabajado en un proyecto de software con demasiados desarrolladores, evaluadores o escritores técnicos de alta calidad donde todos tienen un excelente equilibrio entre el trabajo y la vida?

El futuro de los programadores se ve genial.

Realmente ya no existen los “programadores”, así como los aviones ya no tienen navegadores. La programación es una de las habilidades que los ingenieros de software deben tener, al igual que la navegación es una de las habilidades (con las ayudas informáticas apropiadas) que los pilotos deben tener.

Ingenieros de software es el nombre que prefiero usar, pero hay muchos otros. Pero la función principal es resolver problemas complejos usando computadoras. La programación es una de las herramientas que debes dominar. Así como, por ejemplo, la aritmética es una de las habilidades que los banqueros deben dominar. No puede tener un banquero innumerable, y no puede tener un ingeniero de software que no pueda programar. Pero ninguna habilidad es suficiente para garantizar un trabajo en el campo.

El mundo necesita buenos programadores. Debido a todo el bombo publicitario, todos y su perro ahora están aprendiendo programación. Pero el hecho es que la mayoría de las personas nunca se convertirán en buenos programadores. Y que Dios nos ayude si son contratados para escribir software que ponga en peligro nuestra infraestructura digital, nuestra economía e incluso nuestras vidas.

Además, cada vez más de nuestros trabajos de programación se están desviando a India, Indonesia y otros lugares debido a la mano de obra barata . Nuestro mercado interno de programación está siendo diezmado.

Y finalmente, la automatización de la programación está llegando. Nuestra profesión es quizás la última área de “cuello blanco” para enfrentar la automatización, pero es inevitable . En un futuro no muy lejano, los usuarios finales podrán crear sus propias aplicaciones sin necesidad de la ayuda de profesionales. En efecto, el intermediario será eliminado.

Los usuarios finales proporcionarán el diseño de la interfaz de usuario y la especificación funcional, y la programación de “bots” seguirá adelante y generará la aplicación para usted. No se requiere codificación. Puede agradecer los avances en Big Data y el aprendizaje automático por esto.

Si estuviera considerando ingresar a la profesión de programación hoy, lo pensaría dos veces.

La programación es un trabajo extraño. Cuantos más programadores hay y se necesitan más programadores.

Los salarios incluso han aumentado con el tiempo, y eso significa que todavía hay menos programadores de los necesarios.

Claro, enseñar programación a nivel elemental elevará a la población que conoce la programación, pero aún así el trabajo como desarrollador no es tanto como conocer un lenguaje de programación, sino resolver problemas.

Las personas que no se convertirán en programadores, seguramente tendrán una mejor idea de lo que es la programación y una mayor alfabetización tecnológica es algo bueno.

En general, el futuro es brillante para los programadores.

Con más y más automatización, la necesidad de trabajadores de TI está en aumento.

Las escuelas primarias enseñan matemáticas, pero aún se requieren habilidades matemáticas.

Las escuelas primarias enseñan ciencias, pero aún se necesitan habilidades científicas.

Honestamente, el mercado filtra a los programadores con pruebas de conocimiento oscuro y pruebas de habilidades. De muchas maneras, las grandes corporaciones contratan genios para trabajar en pequeños problemas que un principiante puede solucionar, y lentamente eliminan problemas imposibles.

El problema está en la industria: la burbuja de las puntocom no logró continuar con una economía tecnológica en crecimiento. Y sí, si asumimos este ritmo de crecimiento en tecnología, vamos a ver un exceso.

Sin embargo, si la industria continúa cambiando, y si los desarrolladores mediocres pueden comenzar a crear nuevas empresas (lo que podrían hacer), y hay suficiente actividad económica para que esas compañías sean financiadas, no debemos preocuparnos por la falta de alojamiento para los desarrolladores futuros. .

Las escuelas primarias han estado enseñando matemáticas por cientos de años. Pero pocas personas son estadísticos, economistas u otros aplicadores profesionales de matemáticas.

En el futuro, el tipo de programación que todos aprenden será la “alfabetización” básica en la composición de algoritmos. Quizás muchas personas harán una especie de secuencia de comandos de tareas particulares en otros trabajos.

Pero solo habrá una minoría que cree software como un trabajo a tiempo completo.

Pueden enseñar todo lo que quieran, pero no aumentará la cantidad de buenos programadores. Aumentará el número de malos programadores porque la mayoría de las personas son descuidadas en lo que respecta a la lógica porque no tienen la disciplina mental para dominar la lógica, lo cual es una necesidad absoluta para una buena programación.

Las compañías de software están alentando a todos y a su hermano a aprender programación para crear un suministro que exceda en gran medida la demanda, de modo que puedan pagar el salario mínimo de los programadores. Si su táctica tiene éxito, habrá un exceso de programadores en el futuro.

Sin embargo, muy pocas personas disfrutan de la programación, y muy pocas son buenas en eso. Por lo tanto, es difícil decir cuál será el impacto real a largo plazo de las exageraciones actuales en la profesión.

Se ve sombrío en este momento. Hay un exceso de ellos en el mercado, y las empresas están tratando de obtener todo lo que pueden de la costa.