I wouldn’t say the pessimists fall into that category.
In my experience they are mostly the subset of engineers who enjoyed coding in and of itself and ——in some cases—— without concern for the end product.
The article doesn’t present any hypotheses regarding this, and I suspect we simply don’t know yet.
But if true presumably it’s one of the usual reasons for observing data with low likelihood according to a model: misspecification or statistical bias/variance.
But can you mentally "keep hold" (for lack of a better term) of those tasks that are getting executed in parallel? Honestly asking.
Because, after they're done/have finished executing, I guess you still have to "check" their output, integrate their results into the bigger project they're (supposedly) part of etc, and for me the context-switching required to do all that is mentally taxing. But maybe this only happens because my brain is not young enough, that's why I'm asking.
I think the difference is that you're applying a standard of correctness or personal understanding of the code you're pushing that is being relaxed in the "agentic workflows"
I have the AI integrate their results themselves. That's if anything one of the things they do best. I also have them do reviews and test their own work first before I check it, and that usually makes the remaining verification fairly quick and painless.
> If you're the type of programmer who thinks of yourself as just a programmer, and take pride in your secure code, ability to optimize functions and algorithms, you're exactly the kind of programmer AI will replace.
The most successful engineers are the ones who can accurately assess the trade-offs regarding those things. The things you list still may be critical for many applications and worth obsessing over.
The question becomes can we still achieve the same trade-offs without writing code by hand in those cases.
More to the point: is randomness of representation or implementation an inherent issue if the desired semantics of a program are still obeyed?
This is not really a point about whether LLMs can currently be used as English compilers, but more questioning whether determinism of the final machine code output is a critical property of a build system.
Not inherently, no. Reading it and getting a cursory understanding is easy, truly understanding what it does well, what it does poorly, what the unintended side effects might be, that's the difficult part.
In real life I've witnessed quite a few intelligent and experienced people who truly believe that they're thinking "really hard" and putting out work that's just as good as their previous, pre-AI work, and they're just not. In my experience it roughly correlates to how much time they think they're saving, those who think they're saving the most time are in fact cutting corners and putting out the sloppiest quality work.
It depends on the language, paradigm (or lack thereof), quality/accuracy of the names.
My work’s codebase is 30 years of never-refactored C++. It takes an exceptional amount of focus and thinking to get even a cursory understanding of anything a particular method or class does or why it’s there.
But for languages like C, I agree with you (as long as function pointers aren’t used abused).
reply