¿Crees que los programadores o codificadores serían reemplazados por un software?

En 1989 más o menos, estaba trabajando con un producto de Software AG llamado Natural Construct. Construir era un generador de código que construiría sus pantallas para usted, manejaría el acceso a los datos y proporcionaría una navegación rudimentaria. Pasé 5 meses reescribiendo la navegación, por lo que usó una mnemónica de 2 caracteres basada en tablas para describir el destino y transmitir los valores clave actuales. Luego, otros 6 meses más o menos tratando de agregar dinámicamente reglas comerciales en las pantallas generadas. Se suponía que Construct se desharía de los programadores. Solo genera y ejecuta.

Mi startup ahora usa Ruby on Rails como nuestro entorno de aplicación web. Rails genera su código y pantallas básicas para usted según el modelo que le proporcione. Entonces, generamos con Rails, y luego los programadores agregan las reglas de negocio, codifican Bootstrap para la interfaz receptiva, diseñan la aplicación según el diseño de UI / UX y crean una herramienta administrativa para que podamos solucionar los problemas de los usuarios.

Parece que las cosas no se han movido mucho, ¿no? De hecho, los lenguajes y entornos modernos son íntimamente más poderosos. Pero tenemos los mismos problemas que tuvimos antes.

Trabajé cuando los ‘Sistemas expertos’ se pusieron de moda, y luego la inteligencia artificial, las primeras lenguas orientadas a objetos (ADA o SmallTalk, ¿alguien?), Y a través de cliente-servidor, ASP, cliente grueso, cliente ligero, etc.

La realidad del software es que es una forma de arte. Estoy de acuerdo en que aproximadamente el 70% del desarrollo moderno es ciencia. Pero la implementación real y los componentes del diseño, como el modelo de datos, la interfaz y la arquitectura escalable, son arte.

Cuando se convierte en ciencia al 100%, puedes deshacerte de los programadores. No puedo ver que eso suceda. ¿Por qué? Tenemos usuarios

Hasta que alguien pueda crear un sistema de software que pueda escribir código, incluidas las reglas de negocio, probar su integración, condiciones límite y aceptación del usuario, y que todo sea generado por una máquina, necesitaremos programadores. Hay demasiadas partes móviles y objetivos móviles para que cualquier otra cosa funcione.

Muchos expertos de TI líderes están seguros de que en el futuro se necesitarán menos desarrolladores.

Esto tiene varias razones:

1) Soluciones en la nube

Anteriormente, las empresas instalaban un software en sus sistemas de PC y dentro de su red. Esto se llama On-Premise, es decir, el software se instala dentro de los límites físicos de una empresa.

Estas soluciones locales fueron un gran generador de dinero para las empresas de software, ya que no es fácil actualizar dicho sistema. Para una actualización, deben enviar un consultor de software o muchas docenas de consultores de software, que luego actualizarían lentamente el sistema, lo que podría llevar muchos meses.

Con las soluciones en la nube esto se vuelve obsoleto. La actualización se realiza simplemente haciendo clic en un botón y las actualizaciones se descargan y se instalan automáticamente.

Las empresas de todos los tamaños ahora están viendo los beneficios de las soluciones en la nube y están cambiando hacia ese tipo de entrega de software.

Por lo tanto, muchos consultores de software que van al cliente ya no serán necesarios.

2) sistemas de software completamente funcionales

Como ha mencionado correctamente en su pregunta, hay cada vez más sistemas listos para usar, que pueden ser utilizados por un laico. Anteriormente, tenía que gastar miles de dólares para, por ejemplo, hacer una página de destino para un sitio web. Hoy en día, un usuario normal de Internet puede crear una página de destino con páginas de destino: compilar, publicar y probar sin TI | Unbounce

3) Sistemas Plug and Play

Cuando compró un nuevo módulo para un software, por ejemplo para SAP, necesitaría traer expertos que de alguna manera conectarían el sistema SAP ERP con este nuevo módulo de software. Ejemplo: un módulo de recursos humanos de un proveedor externo, que integraría en SAP ERP, para que los datos se intercambien entre estos sistemas.

A medida que pasa el tiempo, será mucho más fácil conectar dichos sistemas entre sí. Similar a lo que ve en Microsoft Windows, puede conectar el nuevo sistema y se instalará automáticamente.

Mi conclusión

A corto y mediano plazo, es decir, de 5 a 10 años, habrá una gran demanda de desarrolladores de software.

Harán lo siguiente:

a) Construyendo las soluciones en la nube del futuro : Aún hoy, la mayoría de los sistemas están en las instalaciones o son sistemas antiguos en grandes compañías que no se han actualizado (los llamados sistemas heredados). El trabajo de los nuevos desarrolladores será cambiar esos sistemas en soluciones en la nube fuertes y confiables.

b) Conexión de todo tipo de dispositivos entre sí (Internet de las cosas, digitalización) : en el futuro, todo tipo de sistemas se comunicarán entre sí. El refrigerador de su casa puede enviar información sobre su inventario de leche (cuánta leche aún hay allí) a la compañía de fabricación de leche o incluso al productor diario.

Por lo tanto, por ahora habrá más que hacer para los desarrolladores de software existentes y también para los que se graduarán en el futuro.

Después de 10 años, puede que no se vea tan bien. Entonces mucha automatización, etc. ya estará sucediendo.

Espero que esta respuesta haya sido útil.

Saludos cordiales

Sascha Thattil

CEO y Project Manager en Your developer developer trabaja en nuestras instalaciones en India

Probablemente, pero no por mucho tiempo porque requeriría inteligencia artificial extremadamente avanzada. Aquí hay un escenario que me viene a la mente: es el año 2066 y estás en una reunión discutiendo el nuevo software / cambios en el software existente. En el fondo, el programador de inteligencia artificial de su empresa (tal vez realizado por una mega corporación sin nombre que invierte mucho en inteligencia artificial de pensamiento profundo) está escuchando. Cuando termina la reunión, también lo hace el software. Sí, suena extremo, pero si le dijeras a la gente de 1966 que en 50 años los humanos tendrían pequeñas computadoras que cabían en la palma de tu mano y tendrían acceso a la información del mundo entero, habrían pensado que estabas loco.

¿Puede el código crear un nuevo código? Quizás.

Generalmente diría que no. Y si es así, creo que está a más de una década de distancia.

El libre albedrío y el poder creativo de los humanos es único. Puede imitar eso hasta cierto punto. Idealmente, cualquier código que se obtenga sería para buenos propósitos.

También creo que, por razones filosóficas, representaría cuestiones éticas similares que la nanotecnología autodirigida podría (si eso fuera posible). Dejar las computadoras o programas con tanta potencia podría irse en serio. Debe tener responsabilidad en el proceso, de modo que tenga bucles de retroalimentación de calidad para la evaluación por parte de los humanos y la capacidad de los humanos de seguir presionando el interruptor (también conocido como detenerlo). Porque en algún momento dicho dispositivo podría ser bastante frankensteiniano (muy 1984 y Brave New World y Matrix de alguna manera)