Paolo's own subheadline: "A 10-minute update on what shipped, what broke, and what it costs now". From Autocomplete to loose cannons in this truly New Age of "AI" agentic coding tools...
To state the obvious Vibe coding is not a threat to the core business of Oracle, a large chunk of the SQL database infrastructure that is completely required to run almost any institution or business in the US and much of the world. At the other end of the coding spectrum I have a friend who worked on and led teams writing the code, much still in assembler, for deep space and military satellites. Vibe coding is certainly great for entertainment coding but much of the real world requires results to be consistent and consistently correct. A primary component of the income of most workers is what a mistake on their part costs someone else and conversely how much someone else is willing to part with to lower the mistake probability. If your writing code that runs the financial world or now everything from airplanes to cars to the machines that build this world there are huge real costs to mistakes in your code (ask the Iranians about code security mistakes in centrifuges and street cameras). So to first order security and code robustness are the primary business requirement and so for much of real world use it would have to cost less than a person (the value of a person to blame is not zero) if it provided equal security and operational robustness. The value to JP Morgan Chase all the way down to the corner gas mart of having the operational software stack they use be secure and robust is high while the value of new flashy personalized vibe coded software that can cause real world damage or financial losses is vanishingly small in the limit of non-infrequent problems across domains and the world. From targeting and killing many Iranian school children to ICE targeting and murdering innocent people in the US most rational people would say there is more than satisfactory evidence of software and software use failures already.
I can imagine very useful AI for coding but my experience with Claude has not indicated it can do what would be really helpful for me, and I don't think I'm asking for something difficult, just tedious, like writing intelligent test code for numerical models using mixtures of data sources (flat files, HDF5, SQL, JSON) and dimensionalities across mixed languages which use different indexing (and comparison and subselect) conventions (Fortran, C, R, Octave, Perl, Lisp, Clojure). Fully fleshed out documentation skeletons with argument types (allowed ranges would be a step beyond) and the shape of return data would be a near minimal requirement to be something that had real value. I want something that a person needs to create code and analysis with real value, like tests and documentation, even if now retired I only do it for interest. In the real world accurate answers and robust repeatable performance are where much economic value lies.
The new problem is that code reviewing is much harder work than code writing. You still have to build a mental model of how the code works, but when you write the code, you base it on a model you already have and when you have to make modifications, most of that mental model is still good. Reviewing code is much harder since that mental model has to be built from the code rather than from the project statement or from program logic. Worse, the model may have to be rebuilt after every change since code that appears to be similar may actually be quite different in response to a bug fix or feature request. The novelty of AI coding is starting to wear off, but the number of burnout stories is rising.
I once worked on a parallel language system built on a single processor language system developed and maintained by an outside third party. Every so many months we'd get shipped an update and had to integrate our own changes to the base system. Since we were working on a multiprocessor system, we often had to get down in the trenches and make sure that even lower level features were locking, queuing and unlocking properly. We were just one of many users of the base system, so the new versions would often completely redo the way basic operations were coded in response to other system architectures. Each release had to be read and digested before we could reimplement our own features. It was a nightmare.
To state the obvious Vibe coding is not a threat to the core business of Oracle, a large chunk of the SQL database infrastructure that is completely required to run almost any institution or business in the US and much of the world. At the other end of the coding spectrum I have a friend who worked on and led teams writing the code, much still in assembler, for deep space and military satellites. Vibe coding is certainly great for entertainment coding but much of the real world requires results to be consistent and consistently correct. A primary component of the income of most workers is what a mistake on their part costs someone else and conversely how much someone else is willing to part with to lower the mistake probability. If your writing code that runs the financial world or now everything from airplanes to cars to the machines that build this world there are huge real costs to mistakes in your code (ask the Iranians about code security mistakes in centrifuges and street cameras). So to first order security and code robustness are the primary business requirement and so for much of real world use it would have to cost less than a person (the value of a person to blame is not zero) if it provided equal security and operational robustness. The value to JP Morgan Chase all the way down to the corner gas mart of having the operational software stack they use be secure and robust is high while the value of new flashy personalized vibe coded software that can cause real world damage or financial losses is vanishingly small in the limit of non-infrequent problems across domains and the world. From targeting and killing many Iranian school children to ICE targeting and murdering innocent people in the US most rational people would say there is more than satisfactory evidence of software and software use failures already.
I can imagine very useful AI for coding but my experience with Claude has not indicated it can do what would be really helpful for me, and I don't think I'm asking for something difficult, just tedious, like writing intelligent test code for numerical models using mixtures of data sources (flat files, HDF5, SQL, JSON) and dimensionalities across mixed languages which use different indexing (and comparison and subselect) conventions (Fortran, C, R, Octave, Perl, Lisp, Clojure). Fully fleshed out documentation skeletons with argument types (allowed ranges would be a step beyond) and the shape of return data would be a near minimal requirement to be something that had real value. I want something that a person needs to create code and analysis with real value, like tests and documentation, even if now retired I only do it for interest. In the real world accurate answers and robust repeatable performance are where much economic value lies.
"accidental evil is still evil"...uh, yeah!
The new problem is that code reviewing is much harder work than code writing. You still have to build a mental model of how the code works, but when you write the code, you base it on a model you already have and when you have to make modifications, most of that mental model is still good. Reviewing code is much harder since that mental model has to be built from the code rather than from the project statement or from program logic. Worse, the model may have to be rebuilt after every change since code that appears to be similar may actually be quite different in response to a bug fix or feature request. The novelty of AI coding is starting to wear off, but the number of burnout stories is rising.
I once worked on a parallel language system built on a single processor language system developed and maintained by an outside third party. Every so many months we'd get shipped an update and had to integrate our own changes to the base system. Since we were working on a multiprocessor system, we often had to get down in the trenches and make sure that even lower level features were locking, queuing and unlocking properly. We were just one of many users of the base system, so the new versions would often completely redo the way basic operations were coded in response to other system architectures. Each release had to be read and digested before we could reimplement our own features. It was a nightmare.