|
En el texto anterior, comenté que el código fuente está dejando de ser la fuente de la verdad. Esto naturalmente plantea la pregunta: entonces, qué pasa a serlo? Mi visión: las especificaciones. Solemos decir que el código es la fuente de la verdad porque, al final del día, es lo que se ejecuta. Es lo que define exactamente el comportamiento del sistema. Pero esto también fue, en gran medida, una limitación de nuestras herramientas. Recientemente escuché un podcast sobre Leonardo da Vinci. Muchas de sus ideas estaban correctas en teoría, como prototipos de helicópteros, máquinas de vuelo y trajes de buceo, pero no tenía las herramientas adecuadas para ejecutarlas. Faltaban motores, materiales y tecnología. Con el software, ocurrió algo parecido. Desde hace tiempo sabemos que lo ideal sería describir claramente qué debe hacer un sistema, y no cómo implementarlo. Pero, en la práctica, no teníamos cómo garantizar que eso se tradujera correctamente a código. Aquí hay una diferencia importante:
El problema es que, históricamente, mantener estas dos cosas alineadas siempre fue difícil. La especificación se quedaba desactualizada y, al final, el código terminaba siendo la referencia final. No porque fuera lo ideal. Sino porque era lo que mejor funcionaba. Con la IA, esto empieza a cambiar. Si puedes generar código a partir de una especificación bien definida y validar ese código con pruebas automatizadas, el papel del código cambia. Deja de ser la definición y pasa a ser una implementación. Lo que antes era más teórico empieza a volverse viable. Y eso cambia completamente el foco del equipo. Menos tiempo discutiendo detalles de implementación. Más tiempo discutiendo:
La calidad del sistema pasa a depender mucho más de la calidad de la especificación que de la habilidad de escribir código línea por línea. Si te detienes a pensarlo, es algo que ya tenía sentido desde hace bastante tiempo. La diferencia es que ahora, quizá por primera vez, tenemos herramientas que permiten hacerlo de forma más consistente. En el próximo texto, voy a entrar en algo más práctico: cómo estas especificaciones empiezan a aparecer en el día a día de los equipos y por qué los markdowns pueden convertirse en los archivos más importantes de tu equipo. |
About me: I have been working in startups since 2004. I spent 10 years at Apontador/MapLink and was part of Creditas (fintech last valued at $4.8bi) from its early days. Initially, as an Advisor, I hired the first software engineers for Creditas. As the business developed, I joined the project full-time as VP. I scaled the technology team to 150 people and later led international expansion and new product initiatives. I left in 2022 and, after a sabbatical, started working as an independent consultant in 2023.
No texto anterior, falei que o código-fonte está deixando de ser a fonte da verdade. Isso naturalmente levanta a pergunta: então o que passa a ser? Minha visão: especificações. Costumamos dizer que código é a fonte da verdade porque, no fim do dia, é ele que roda. É ele que define exatamente o comportamento do sistema. Mas isso também foi, em grande parte, uma limitação das nossas ferramentas. Recentemente ouvi um podcast sobre Leonardo da Vinci. Muitas das ideias dele estavam corretas na...
Si te incomodó la idea de que el código fuente está dejando de ser la fuente de verdad, probablemente este sea el motivo: tu referencia de “programar” está cambiando. A lo largo de la historia, el trabajo de desarrollo siempre ha evolucionado hacia niveles más altos de abstracción. Ya programamos con tarjetas perforadas.Luego, assembly.Después, lenguajes de bajo nivel.Luego, lenguajes de alto nivel. Hoy, la mayoría de las personas no se preocupa por la asignación de memoria ni por...
Se você ficou desconfortável com a ideia de que o código-fonte está deixando de ser a fonte da verdade, talvez esse seja o motivo: sua referência de “programar” está mudando. Ao longo da história, o trabalho de desenvolvimento sempre evoluiu para níveis mais altos de abstração. Já programamos com cartão perfurado.Depois, assembly.Depois, linguagens de baixo nível.Depois, linguagens de alto nível. Hoje, a maioria das pessoas não se preocupa com alocação de memória ou instruções de máquina. E...