Predeciría tres tendencias para la ingeniería de software en los próximos 6 o 7 años.
1) Programación “reactiva”. Una nueva generación de lenguajes hará lo que Angular.js etc. hace: le permite definir declarativamente qué datos desea y, en circunstancias, se actualiza sin tener que pensar explícitamente en el flujo de control o las devoluciones de llamadas.
2) Eso se combinará con las herramientas de Modelado de Procesos de Negocio y herramientas para Sys-Admin de virtualización / nubes. Las personas obtendrán lenguajes que describan declarativamente cómo un grupo de sistemas deben comunicarse entre sí en el alto nivel y muchos programadores podrán olvidarse de jugar con los detalles de los mensajes individuales entre el navegador o la aplicación. y el servidor Solo habrá un esquema para describir los tipos de datos que almacena el sistema en general, dónde tiene que estar y cuándo debe actualizarse.
- ¿Debería haberme cambiado a ingeniería eléctrica o informática en lugar de ingeniería mecánica para construir robots?
- Soy un desertor de ingeniería en India pero tengo un buen conocimiento práctico, ¿qué debo hacer?
- ¿Cuáles son las habilidades blandas necesarias para ser ingeniero eléctrico?
- ¿Qué rama de la ingeniería / tecnología hace más uso de las matemáticas?
- ¿Qué campo de ingeniería como mecánico, electrónico, material, eléctrico y civil es el mejor para un matemático?
3) Aumento del interés en internet de las cosas. Habrá muchos más dispositivos integrados, sensores, pequeñas mallas inalámbricas y robots. Las personas acostumbradas a la conveniencia de los lenguajes de alto nivel en la web no van a querer aprender C y pensar en un nivel tan bajo. Así que espere que obtengamos lenguajes de manejo de flujo de datos / reactivos / eventos en Arduino, etc.
Entonces, la comunicación de bajo nivel será cada vez más fácil. Pero intentaremos orquestar enjambres de máquinas más grandes y complejos que requerirán cierto tipo de pensamiento.