* Mayor enfoque en la ingeniería de software: El campo de la ingeniería de software maduró significativamente. El énfasis pasó de simplemente llevar software a trabajar a construir sistemas robustos, confiables y performadores. Esto incluyó el desarrollo de mejores metodologías (como Agile y DevOps), prácticas de prueba mejoradas (pruebas unitarias, pruebas de integración, etc.) y mejores herramientas para gestionar la complejidad.
* Desarrollo de pruebas de rendimiento y herramientas de perfiles: Surgieron herramientas sofisticadas para analizar los cuellos de botella de rendimiento del software, identificar áreas para la optimización y medir el impacto de los cambios. Esto permitió a los desarrolladores abordar de manera proactiva los problemas de rendimiento.
* énfasis en la arquitectura y el diseño del software: Se le dio mayor importancia al diseño de arquitecturas de software que son inherentemente escalables, resistentes y mantenibles. Conceptos como microservicios, sistemas distribuidos y tolerancia a fallas se hicieron cada vez más frecuentes.
* Rise de DevOps y CI/CD: Estas prácticas tienen como objetivo automatizar el ciclo de vida del desarrollo de software, permitiendo ciclos de iteración más rápidos, detección más rápida de errores y una mejora continua del rendimiento y confiabilidad del software. Las pruebas y el despliegue automatizados se volvieron cruciales.
* Inversión en garantía de calidad de software (SQA): Las organizaciones comenzaron a invertir más en los equipos y procesos SQA para garantizar que el software cumpliera con los estándares de rendimiento y confiabilidad requeridos antes del lanzamiento. Esto incluyó pruebas rigurosas, revisiones de código y análisis estático.
* Centrarse en la seguridad: Reconociendo que las vulnerabilidades de software pueden afectar severamente la confiabilidad y el rendimiento del sistema, se centró un enfoque más fuerte en construir un software seguro a través de prácticas de codificación seguras, escaneo de vulnerabilidades y pruebas de penetración.
* Monitoreo y observabilidad mejorados: Las herramientas y técnicas para monitorear el rendimiento y el comportamiento del sistema en tiempo real se volvieron mucho más avanzados, lo que permite la identificación proactiva y la resolución de los problemas. Esto incluye colección de métricas, registro y rastreo.
En esencia, el reconocimiento del papel crucial del software estimuló una revolución en cómo se desarrolla, implementa y mantiene el software, lo que lleva a sistemas más confiables, performadores y seguros.