I believe in the future, we're going to see a similar shift in "programmer" - instead of a human programming the computer, you'll give the ai an idea and it will spit out a program.
And just like how automating the act of computation revolutionized what we could compute, automating the act of writing code will change the act of programming - hopefully, as you described, allowing us to do things that simply were not practical in the past.
People wrote many books about software engineering, all from valuable experience from buildng expensive software systems. But in the age of AI, is there still anything learnable from generated code?
Personally I always ask AI to summarize its findings and lessons in a .md file. And I always learn something from it.
But could AI utilize some new patterns and paradigms I wasn't aware of? Very likely. Because we only learn from our personal grave mistakes, a summary from others gets neglected and forgotten
Sort of. An elegant proof is useful beyond what it shows. It hints at new mathematics, and can prompt discovery in applied fields. I don’t think I’ve heard of elegant code leading to discovery on its own.
Usually it's the opposite. "That's in prod? And it works? It shouldn't work and I thought it was doing something else. Why does it work?"
I’ve not heard of it either, but code is an abstraction of math, so I don’t see why this couldn’t theoretically happen.
Anecdotally, I’ve started spending time advancing my math skills beyond the early college level I stopped at and I’ve frequently found I already know concepts of more advanced math - I just didn’t know what they were called or how to apply them to an equation on paper, but I’ve been using them for years and intrinsically grasped the underlying academics.
Every software design pattern came from elegant code. People wrote code, summarize code, learnt from code, and taught code. That's discovery
The S fell short in actual reality for the most part, as it was merely a hiring requirement. A hiring requirement that didn't even make sense, because the skillset of academic CS only marginally overlaps with the skillset one wants to hire for.
Material engineering at least for the most part has actual real-world applications where one can push humanity further. CS (as practiced, not necessarily the idea of real CS but the CS we got due to it being used as a hiring filter) for the most part is just self-referential spinning with mostly unclear results.
There is real impressive work being done in that field, of course, but I'd argue that the majority of it over the last decade or so at least was just performative nonsense.
Maybe by again allocating new resources to other fields, what hides under the label CS can become more pure actual CS again. I think that would also be a much less miserable experience for everyone involved.
The will to implement the stuff we learned, instead of letting dark patterns and churn for the sake of churn get the better of that :P
Im not sure how that will work, but im convinced the current paradigm of just pushing agents into codebases for not much reason other than you can is going to make building software incredibly boring and push creative people away from the field and stagnate progress.
My prediction is software gets boring and building hardware projects will be the new frontier for creative engineers looking to push computing further. Which is probably a good thing.