I'm damn sure the answer is "no", but the devs at my workplace are all in on it in a way that's not as absurd on the surface as the "coding is a solved problem" kind of tech bros. There's an emphasis on the "human in the loop" that I think is far from sufficient; we used to have a human in the loop, it's called actually writing your fucking code!
As a sample, this is from a transcript of a recent discussion about AI with some devs on my team:
Me, a senior dev:
To be clear, I'm not saying not to forego the human in the loop. I'm pointing out that there is an inherent contradiction between using agent as our main means of writing code and actually being able to review all of its output -- be it before or after opening the PR. I'm worried that we'll end up in a position that we're expected to do something intractable, if not strictly speaking impossible.
New mid-level dev:
I just think we should still be responsible for reviewing all the output. Like how I see the before vs now is:
- Before: human plan -> human write -> human review
- Now: human plan -> claude write -> human review (+ claude review)
And in effect we're just as responsible for reviewing every line of the Al code as we were for reviewing every line of human code. Once that changes that's when the Al slop starts coming out So we should never end up posting a PR where we're like "hey guys claude wrote this so do the thing you do for claude PRs"
Team tech lead:
@AppetiteOfExcess, this is a problem across all dev teams in every industry. It's a huge issue. I think we need to lean on Al to speed up PRs, but how we do that is not well defined yet. I think it can help us get our head around a PR faster. Maybe we need to made an artifact for some PRs that give a breakdown of what is changing. Then we can grill Al once it understands the changes. That might speed things up a bit. The important thing is to really understand the code and the impact of the change.
@mid-level_dev I agree with you but I think the new process will be more like the following
- Humans (the whole team) plan by making highly defined stories
- Al makes an implementation and test plan
- Human reviews plan
- Al executes the plan with human oversight at certain steps
- Al does a review using /code-review (new context by default)
- PR is posted with change overview
- Human uses Al to understand the changes and review the code
I don't know how to push back on this while being taken at all seriously. It has me considering that maybe I'm in the wrong for rejecting a tool that is considered useful by all but a few stick in the mud devs, and that those devs will never have a shot at a job again unless they pull their heads out of their asses and join our modern "AI"-driven world.
The people who think these tools work only do so because they don't seems to know what software is or how it's made.
This idea of "human in the loop" needs to go away (as in the problem is using an LLM to make code. That cannot be compensated for, and people need to go back to taking this job seriously). It doesn't work and it only leads to ever increasingly complicated process fever dreams to try and compensate with the dissonance in their head that they so strongly believe the hype that they refuse to accept they're being lied to by the same kinds of people that made social media addictive.
also, these tools are used by business people who have even less understanding of software to give more work to less people. And the way people respond to that with "I can't move that fast, so my new aim is to move faster" is so incredibly self defeating. It's so unserious.
My eyes roll out of head whenever these kinds of people realise that the way to make the LLMs reliable enough (though often their concept of enough is broken and what they're producing is not good) is by doing software engineering practises with an unrealistic level of discipline and somehow still sell this as them doing less work