It's partly true, but where this logic gets stuck is software engineering, for both the cases.
Just telling the AI what to do won't get you to good software, especially when you want to use dozens of agents working in parallel, when you have something correctness sensitive, when you want the AI to try and solve a research problem you have a hunch about but not a concrete solution.
For example, the traditional best practice cycle of "small incremental change, code review, test, commit" is pretty much obsolete now. The way ten collaborating agents can make short work of a complex project is not something that fits in with our existing software engineering wisdom at all.
We are still trying to figure out the new science of software engineering. And the best way to get better now is to just figure out what works and what does not for your use case.
what I am talking about is principles that govern what good software looks like, what properties it has to satisfy in order to be extensible and maintainable and performant and all that other good stuff, and the AIs are not going to make that knowledge obsolete any time soon.
I think this will change quite a bit too. Code being readable is one of our core tenets. Functions fitting within, approximately, a screen of code used to be ideal.
Modern AI as already past solving that problem. You can give it a million line codebase, ask where something specific is happening, and it'll tell you in less than a minute.
If we can de-emphasize readability, what do we gain?
Custom hand rolled containers and data structures for your use cases are somewhat frowned upon unless really needed. Well, probably not anymore.
What about a manually inlined mega-function with loops unrolled that pre-empts some of the compiler's work? No way that would fly a couple of years ago. Already seeing this in performance sensitive code.
Yup. A lot of work is going in to reducing the skill required to operate AI agents.
For accomplishing the same task, yes.
But given these tools straight out of science fiction, why on earth would you be stuck doing the same things? There's no point spending human thought over something an agent has just automated yesterday.
Think bigger, take on more ambitious projects that are perpetually at the limits of what you and AI can accomplish.
Yet anyone who claims that fails to procure sufficient evidence or instruction on how exactly training the to-be software engineer in the age of AI should be. Until that happens, people still learn DSA, write code manually, and train their problem solving skills with programming exercises.
And I mean handwriting them, not ordering "one solution for Leetcode 1133 in Rust, please" so we can proclaim that we're writing Rust so fast that I don't have to read a book about it anymore.
Of course there's no instruction on how to succeed in a rapidly changing new field.
Do you think someone is more likely to succeed by getting their hands dirty and trying things out or waiting around for 'instruction' to be available?
> people still learn DSA, write code manually, and train their problem solving skills with programming exercises.
Maybe you're confusing computer science with software engineering? I agree that you'd still need to learn about algorithms, just like calculators do not reduce the need of learning algebra and trigonometry.
Counterpoint: a friend of mine who's not a developer has vibe coded multiple apps. They work just fine. Granted they're not particularly complex (e.g. domain specific CRUD type apps) - but clearly the skills required to do that are just "ability to talk to the AI" - in other words, everybody can do it.
The baseline of what you can do without being an expert has jumped significantly. My claim is that the baseline of what you can do being an expert has also jumped significantly.
You're not really 'keeping up' with anything, you're just fooling yourself into being part of a process that wants to eradicate your presence.
It's almost like embracing this stuff is giving them an illusion of control they don't have