The hardest thing in software engineering to come by is good judgment. But judgment is what we use to fill information gaps - and with AI that gap is shrinking.
Consider the car mechanic. There used to be a few geniuses who could diagnose your car by the sound it made pulling into the driveway. The rest were mostly well meaning swindlers: they didn't know what they didn't know, and didn't particularly want you to find out. Modern cars, with their rich instrumentation, changed that. Properly trained mechanics can now fix most problems (not all) with confidence and accuracy. What was mostly art and some process became mostly process and some art.
Software engineering is heading the same way, and I think that’s mostly good.
Getting the information you'd need to make a truly informed decision like how your CPU architecture interacts with the open source library quietly running some aspect of your OS, which interacts with your application's particular shape, which interacts with the problem you're actually trying to solve would, in the traditional way, be impractical even when possible. You'd spend a week reading and building out test harnesses. So you guess - and those with experience and good judgement, guess better. They have years of adjacent experience which might not relate to this particular problem but forms the basis of their good judgement. But at the root this judgement is valuable only to the extend that hard information is not accessible.
AI changes that. It can stitch across those layers and hand you the specific tidbits you need, when you need them. It can write you software that extracts the information points and build you a website that makes it easy for you to digest that information. The surface area that demands good judgment shrinks, because more of what used to require judgment now just requires looking.
This is why I find the current discourse a little misdirected. It's wonderful that some people are running five agents in parallel, churning out more code in a week than I've written in my life. I wish them all the best.
I'm going the other way. I'll keep working in a single terminal, on the code I need to write, making sure every abstraction and every line is backed by consistent intentionality. But I'll lean heavily on AI to close my information gaps so I don’t need “good judgement” as much anymore.