26 puntos por gogokow27 2026-02-07 | 1 comentarios | Compartir por WhatsApp

The third golden age of software engineering – thanks to AI, with Grady Booch

Este video, a través de una conversación con el pionero de la ingeniería de software Grady Booch, rebate la afirmación de que el auge de la inteligencia artificial (IA) significa el fin de la ingeniería de software y, por el contrario, sostiene que estamos entrando en una "tercera edad dorada". Reinterpreta la historia de la ingeniería de software como un proceso de aumento en el nivel de abstracción y compara los puntos de inflexión tecnológicos del pasado con la actual revolución de la IA. A partir de ello, sugiere que la IA, más allá de automatizar la codificación, está acelerando un cambio hacia la esencia de la ingeniería: el pensamiento sistémico y la gestión de la complejidad.


1. Introducción (Introduction)

Contrario a la preocupación recurrente sobre el "fin de la ingeniería de software", Grady Booch sostiene que el cambio actual no representa la desaparición de la industria, sino su evolución. La ingeniería de software no se define como simple programación, sino como la práctica de construir la mejor solución posible equilibrando fuerzas estáticas y dinámicas, como las leyes físicas, la viabilidad económica y la ética. Este texto analiza la historia del software desde la década de 1940 hasta la actualidad clasificándola en tres "edades doradas" e identifica la naturaleza del cambio que traerá la IA.

2. La evolución de la ingeniería de software (The Evolution of Software Engineering)

2.1 La primera edad dorada: abstracción algorítmica (The First Golden Age)
  • Periodo: finales de la década de 1940 ~ finales de la década de 1970
  • Características: fue la etapa en la que comenzó la separación entre hardware y software. Al inicio, el lenguaje de máquina y el hardware estaban integrados, pero gradualmente el software empezó a reconocerse como algo con valor industrial propio.
  • Principales retos: el objetivo principal era el cálculo matemático y la automatización de procesos de negocio. Aunque la complejidad de entonces era más simple que la actual, el reto central consistía en optimizar recursos de hardware limitados.
  • Abstracción: predominaba la "abstracción algorítmica (Algorithmic Abstraction)". La perspectiva dominante consistía en ver el mundo dividido entre datos y los procesos (procedimientos) que los procesan.
2.2 La segunda edad dorada: orientación a objetos y plataformas (The Second Golden Age)
  • Periodo: finales de la década de 1970 ~ principios de la década de 2000
  • Contexto: a medida que la demanda de software creció de forma explosiva, surgió la "crisis del software (Software Crisis)", en la que la calidad y la productividad no lograban seguir ese ritmo.
  • Cambio tecnológico: para gestionar la complejidad apareció el paradigma "orientado a objetos (Object-Oriented)", que agrupa datos y procesos en una sola unidad. Esto hizo posible un nivel más alto de abstracción y sentó las bases para construir sistemas a gran escala.
  • Expansión: la masificación de las computadoras personales (PC) y la aparición de internet expandieron el software más allá de los negocios, hasta convertirlo en la base de la civilización (interstitial spaces of civilization). Además, comenzaron a consolidarse conceptos como el código abierto y los negocios de plataforma (SaaS, etc.).
2.3 La tercera edad dorada: sistemas e IA (The Third Golden Age)
  • Periodo: década de 2000 ~ actualidad
  • Situación actual: ya vivimos en la tercera edad dorada. Esta etapa se caracteriza porque, más allá de los programas individuales, los grandes sistemas, la seguridad, la protección y los problemas éticos han pasado a ser retos centrales de la ingeniería.
  • El papel de la IA: las herramientas de IA (LLM, agentes de codificación, etc.) no reemplazan la ingeniería, sino que funcionan como herramientas que elevan un nivel más la abstracción al usar el lenguaje natural como si fuera un lenguaje de programación.

3. El impacto de la IA en la ingeniería de software (The Impact of AI)

3.1 Automatización y aceleración de la abstracción

La IA automatiza la generación de código repetitivo y de patrones típicos. Al igual que ocurrió cuando el lenguaje ensamblador fue reemplazado por lenguajes de alto nivel, esto permite que los ingenieros se alejen de los detalles de implementación de bajo nivel y se concentren en resolver problemas de un nivel superior.

3.2 Réplica a la predicción de Dario Amodei

Frente a la predicción de Dario Amodei, CEO de Anthropic, de que "la ingeniería de software será automatizada en 12 meses", Booch la rebate con firmeza.

  • Razón 1: la IA es hábil para replicar patrones aprendidos previamente, pero no resuelve la "toma de decisiones de diseño" ni el equilibrio entre diversas restricciones (costos, leyes físicas, ética, etc.), que constituyen la esencia de la ingeniería.
  • Razón 2: la IA actual está sesgada hacia patrones centrados en la web y carece de la capacidad para diseñar sistemas embebidos que interactúan con el mundo físico o sistemas complejos de misión crítica en su totalidad.

4. Competencias clave del ingeniero del futuro (Future Competencies)

A medida que baja la barrera de entrada para programar, las capacidades centrales que se exigirán a los ingenieros se moverán de la "escritura de código" al "pensamiento sistémico (Systems Thinking)".

  • Teoría de sistemas (Systems Theory): para comprender y diseñar sistemas complejos, será indispensable entender teorías fundamentales como las de Herbert Simon, la teoría de la complejidad del Santa Fe Institute o la "Sociedad de la mente (Society of Mind)" de Marvin Minsky.
  • Responsabilidad y criterio: la capacidad humana para verificar los resultados generados por la IA y controlar los sistemas desde una perspectiva de seguridad y ética será aún más importante.

5. Conclusión (Conclusion)

La ingeniería de software no ha muerto; al contrario, ha entrado en una nueva fase de expansión en la que la imaginación es la única limitación. La IA permite que incluso personas no expertas puedan crear software, impulsando así la democratización de la creación, y al mismo tiempo ofrece a los ingenieros profesionales herramientas poderosas para resolver problemas más grandes y complejos. Históricamente, cada vez que ha ocurrido una abstracción tecnológica, quienes adoptaron las nuevas técnicas no quedaron rezagados, sino que llegaron más alto. Por ello, el cambio actual debe asumirse no como una crisis, sino como una oportunidad para expandir las fronteras de la ingeniería.

1 comentarios

 
snisper 2026-02-09

Toda discusión antes de que aparezca la evidencia es un juicio precipitado