When you write something you constantly remodel your understanding through refactors and rewrites until you internalize it. By internalizing it you gain the capacity to reason about it (during critical downtime) and communicate it. An entire team that can communicate can solve problems together, from one guy's vision to products white boarding to engineering's infrastructure to UX and UI's artistry.
It boggles me we completely forgot that the world operated like this just 4 years ago
Assuming we don't speak about some vibed "one-shot-deploy" situation (for which there were options in the old world as well, with the same bad results), in a well disciplined team, why would AI make this worse?
You can still write anything by doing it either small steps, or at once followed by a lot of refactors while skimming over code and asking tons of questions / making refinements via prompts, guidelines, test guardrails. A team can still reason and whitepaper about the same things. Devs who were previously shy to ask some specific details (to not seem dumb) can now confidently survey big codebases and get insights in whatever style they can swallow.
The bigger problem I see is that all this requires a lot of communication, and most importantly writing skills, something that disappears in thin air in the last decades.
There are still some places that operate that way, as outlined in this Jane Street talk https://www.youtube.com/watch?v=zR9PpXWsKFQ (Production Engineering When Trading Billions of Dollars a Day).
> capacity to reason about it (during critical downtime) and communicate it
That's one of the things that's put into limelight in that talk.
I personally think that most of "Web Scale" software is inconsequential (inconsequential for its creators, not for users) - as there are no consequences for bugs and outages at all. A data breach -> slap on a wrist. Reputational damage because on an outage/data loss amidst general public? - almost impossible (clownstrike, anyone?)
The funny thing is that web scale software that's consequential is often in an ethically grey zone - but at least you won't be surrounded by colleagues who don't give a shit.
> When you write something you constantly remodel your understanding through refactors and rewrites until you internalize it.
Unfortunately I learned that not everybody thinks this way. Some orgs do imperfectly fine without good engineering discipline, and that has been the case before AI... AI has only made it easier to give the appearance of good engineering, which is exactly the pre-AI goal of many orgs
I am simultaneously deep down in the agentic treadmill and also supremely frustrated by this.
And I don't think it was ever necessary to go to the point where people just gave up authorship. These were choices made by adopting the "I'll do everything for you" agentic "harness" model that shipped with Claude Code but it was never inevitable.
e.g. we completely dropped fill-in-the-middle completion OG CoPilot auto completion model. That combined AI authorship with a human always in the mix and I actually really enjoyed it. It's just that the models involved were pretty stupid. We totally could have had IDE / shell / tooling integration that kept people in the driver's seat while automating parts of the drudgery away. Instead what we got was a simple chat loop with "oh, whatever, you go do it" being the ultimate result. Cuz, you'll totally review everything after and understand it, right?
The things should end by quizzing you on what was just made and if you don't pass, just throw it away. That'd be funny to watch.
The way I think about it is that understanding is formed in a top-down fashion now, instead of bottom-up. You can look at a feature developed by AI from the outside, and keep peeling the layers and examining them (or having AI explain them to you) until you learn how it works. It's like reading a textbook. It is different than writing the code yourself, or practicing the topic of the textbook yourself. But if you invest the time, it can be just as effective.
The issue of course is that if you do invest the time, then you're no longer saving time by using AI. You're just spending it reading and trying to understand something you didn't write. And that can be unpleasant in its own way.
My hot take is that for parts of a system that can be considered its core, forming a deep understanding is almost always important, and so is knowing how the different business domains integrate and where the connection points are. For many others, a high level understanding is sufficient. The difference is that now, with AI, you can make that choice. Before, you had to write everything yourself, and for any sufficiently complex and long-lived system it became impossible to hold all of it in your head.
> It boggles me we completely forgot that the world operated like this just 4 years ago
I'd think that's what they call paradigm shift, and this probably repeated across generations from the introduction of the printing press, PC, the wheel, the internet to stochastic parrots that reduced what we still stubbornly insist require our special neurons to mere statistical modelling that can be aggressively scaled.
As part of a reorg, my team received a new system to maintain. I sat down with a great engineer and together we refactored that shit to get into something more maintainable. I became the go to guy for that system because our redactor led to such a deep understanding of the codebase.
Now in the age of AI... we adopted another system from a team and when we asked for knowledge sharing to prep for the handover the answer we got was "do we still do that? Just ask Claude".
It's now been a few months. We've shipped features in this new system. I still have no idea how it works. Okay I kind of know, but only at a very shallow level.
AI is the worst thing to happen to our industry.
I feel this in my bones. My team is one of the most communicative in our org and have garnered a widely positive reputation I think largely as a result of our coming together every day to solve problems. Trying to get information out of the less communicative groups is like pulling teeth, i wonder how they get anything done at all