It’s all the fucking job is now
I long for the days when I reviewed something, noticed an issue, commented, the recieving engineer learned something and we all got better as a result
Now I basically get the privilege of wasting 10 mins and telling someone they fucked up in a way unfathomable to them, because they haven’t got a clue what they just put in front of me
Oh and it’s my manager’s manager doing it
Merge requests have exponentially increased too because people are using AI, and obviously a lot of them don’t even care to review the code they generate. So what do the reviewers do just to be able to keep up? Fight fire with fire. Oh so you used AI to create these 50 MRs? Guess what, we have an AI bot that has a security-aligned skillset and it found all these issues in your code. Go fix them.
Then we’ll use the ai suggested changes to have ai fix the code and push it out so your ai can re review it again. Aiaiaiaiaiaiaiaiaiai
i needed this laugh 😂😂😂
This may explain why the same code review feedback needed to be written in every single PR made by our Indian offshore team. Either they didn’t give a shit, were incapable of learning, or used AI (which implies not giving a shit). I don’t understand how people can have so little pride in their work. Please do not drag other people down because you don’t want to do your job.
Yes. AI has not taken over anything. It just makes it easier to produce and suggest shit, can help you write or draft or find information if you know what you’re doing.
AI made review potentially or situationally more important.
There’s also a lot of variance how and to what degree people use AI, and which, and cost investment.
Even more so. The slop needs to be checked more thoroughly than human written code, because they are good at generating something that looks reasonable at first glance, but at closer inspection is actually bullshit.
Yes, there’s far more code to review and the reviews are extremely fucking frustrating and I can tell who is using an LLM based on the volume and texture of the shit they’re pushing out. You have to check everything excreted by an LLM far more thoroughly than if it had just been written by the senior dev who produced the slop. An LLM is incapable of reasoning, it’s just choosing likely tokens based on past context, so nothing it produces can actually be trusted.
Source—I’m a senior dev at a large software company you’ve absolutely heard of. I am drowning in slop.
Code reviews are not only still a thing in the age of AI but they are even more important now because you have to catch the AI on their lies and BS and that can sometimes be hard.
Of course, even more so … they are essential for fixing all the terrible AI code people are commiting.
Even more so. AI may be able to assist with complex code but it does not have the ability to determine the nuance of how the code it creates will impact the overall code base.
AI is also not able to assist with complex code unless you already have a good understanding of the complexity so you can babysit it through. It can write routine boilerplate code, but if you need to do that all the time, you might want to rethink your approach to the project.
Basically programmers are becoming designers and code reviewers.
There are now so many code changes that the code review is the bottleneck more than the coding.
We depend more now on tests to validate software does what it should. We get AI to write the gazillion tests.
And we get AI to summarize and explain blocks of code.
Are you new to engineering? Coding was never the bottleneck. Having someone who knows what to do, and planning usually is.
I spend 20-30% of my time at most actively coding. 30-40% helping people with dumb things that take my time when they shouldn’t, and the remainder in meetings, scoping my work, or debugging.
I spend 20-30% of my time at most actively coding.
And by my experience, most of that time is still not “typing in code”.
As a benchmark, I was working in two greenfield projects, each for about five years. One was about a topic very close to my doctorate thesis in signal processing, one an embedded device for a large scientific experiment - with the systems engineers and the scientists as users sitting next door. So, in both cases, extremely well defined, far better than what an average programmer will ever see. Some colleagues worked on the JWST. That org knows damn well how to engineer stuff.
At the end of these five years, I had both times around 60,000 lines of code. Pretty productive.
Now, let’s do the math: With about 250 work days per year, that is … 48 lines of code per day. You could type that in five minutes (and no, you don’t need a Dvorak keyboard layout to do this, LOL).
For old legacy projects, that average will be far far worse.
So, most of the productive time is actually thinking about code, and talking with people. And LLMs can’t do that. They can only type. And worse, doing that they don’t use the most important key for a programmer: The ‘delete’ key.
That is just the thing, developer and tester should never be the same person. Let alone same AI model. IMO testing is never taken seriously enough, just seen as unnecessary step and merged together with dev testing. From my years of experience I know that everything testers find is just explained away rather than properly adressed, and then with all of the obvious stuff in the way you never see the real issues.
Interested in how much actual experience you have with AI geneated testsuites.
My code was never tested this well.
I have experience with AI generated test suites, and while its good for generating coverage, it isn’t so good for actually ensuring correctness, which is the actual point.
I’ve watched the robot happily introduce bugs to pass broken tests, and also break tests to match code, and everything in between.
I don’t want lots of tests, I want good tests.
You have to prompt for that, I do that regularly along with refactors. ‘Examine all tests to ensure they are testing functionality and not just passing a test.’ It finds them and will work on it. I think the problem continues to be engineering discipline. People are lazy with AI on multiple levels, not just copy pasta slop.
Testing functionality isn’t the same as correctness.
Oh excuse me then, what is correctness?
Yeah, I had testers that tested the functionality of a delay… But had set the delay parameter to zero. Well good thing this one case worked, but you didn’t check anything beyond that for correctness at all.
No we just pump the codebases full of slop during our day jobs. At night we run a consultancy that charges 10x to fix the mess.
But just between us the slop is unfixable. 😉
I have never seen a project without serious reviews. But you should definitely trust the AI and stop doing those stupid code reviews. This way, I will have more jobs and more money to fix all the mess that was pushed in the repositories.
Yes and it’s a giant bottleneck.
What’s depressing is that the AI agents are actually way better than humans at catching weird edge cases that are easy to overlook. So the AI code reviews are actually super valuable.
But it’s still an LLM and still doesn’t understand anything and can’t be accountable, so humans are still in the picture and that slows everything down.
All that, I think, is fine. The true problem I’m seeing is that reviewers are starting to get lazy and sign off on things because the AI gave it a pass.
I think it’s fine to lean on the AI to catch weird race conditions. It’s less fine to blindly accept that 2 lines of code requires a 12 line comment explaining a bunch of bullshit about what the code used to do.
Standards are dropping. It feels like a race: will developers become incompetently lazy before the AI is actually good enough to do their old jobs?
God, the fucking comment spam drives me absolutely fucking nuts. I used to enjoy reading 2 consecutive changes with 12 lines of comments because it meant I was in for a hell of a story of woe and misery. Now, it’s just the fucking slop machine doing its thing.
With regards to LLMs being good enough to do our jobs, I don’t think that’s ever going to happen. Token prediction is a neat trick, but you actually need something that can reason and understand to replace human intellect, and nothing I’ve seen on the horizon appears to be capable of that.
They are if you want functional code.
As someone who uses AI daily for development…absolutely yes.
It is stupid to not review the output. Anyone who says otherwise is a fucking moron.
If you mean right now, yes code reviews are still a thing.[*] More so than ever, really. If you mean some hypothetical future age, yes code reviews will still be a thing.
[*] Among people who know what they’re doing.
This is kind of why I asked. What I’m seeing (as a non-programmer) is management pushing AI and LLM use so hard that I could imagine someone high enough up mandating away code reviews.
I’m glad you (and most responders) seem confident the the levy will hold…
They don’t know enough about the process to do that. They just want us to “use ai when doing code”. Reviews, merge requests, etc. aren’t even in their vocabulary.
Oh my - I like the sound of that structure. Around here managers don’t have to “know enough” to make decisions; they just have to think they do. And boy do they.
We’re still in the process of un-lift-and-shifting their big-brain “lift and shift” cloud plan back on-prem.
Big companies have a lot of slack and financial buffer and so on, but organizations can absolutely be broken by bad quality and technical debt. It will just happen to your mom and pop software house around the corner far faster than to microsoft or other FAANG companies.
Yes, but the situation is getting strange.
Our model has always been that the reviewer is responsible for protecting the repository. This led to one IC getting fired for “letting in” a catastrophic bug his teammate generated with Claude.
I’m sorry that you work at a company that thinks code reviews and tests guarantee bug-free code.
The primary function of code reviews is to increase visibility, and therefore maintainability. It keeps other members of the team in the loop about how codebase is changing and how it might affect their current or future work.
The primary function of tests is to catch regressions, not new bugs, and especially not new bugs related to use cases that weren’t even possible in previous versions
That seems … backward.
We’re all AI babysitters now. For a baby that never learns anything.
Arguably you could improve the instructions it follows by fixing it when AI does something wrong. I think I use AI more for design specs and acceptance criteria than I do for writing actual code. Though, to be fair, my current role as tech lead offers very little opportunity for writing code other than one-off scripts.
It’s not going to learn long term until AI starts meaning something smarter than an LLM. I’m not trusting my phone’s autocomplete to be able to replicate my knowledge and experience.
And if I do have to perform a teaching duty, I’d rather teach a human that will actually get better, have fresh insights and eventually pass it on to another human.
That may fix the current task, but the next one is going to need all those corrections repeated back to it. That’s what I mean by never learning. Each task is its own little world that’s completely disconnected from everything else. Copilot has “memories” that seem like they are trying to fix it, but I’ve never had any luck with it actually working.







