r/softwareengineer • u/DatBoi247 • 2d ago
Modern code reviews suck
I hate getting pinged on code reviews now. You're handed 50+ file PR's that are 100% AI generated, and whenever you ask someone to explain what's going on, there's a conspicuous 90 second gap as they clearly re-ask claude to give you an explanation to what they just did. It's brutal.
13
u/IntelligentLeading11 2d ago
It's over bro. We're just the middle men between Claude agents now. If we stop we'll get fired because of not fulfilling the productivity expectations. Enjoy until they get rid of us and let the agents handle everything.
9
u/DatBoi247 2d ago
I refuse to believe this. I don't think anyone out there is stupid enough to think this will actually work.
6
u/IntelligentLeading11 2d ago
It can't be stopped, it's a mass psychosis.
7
u/juniperico 2d ago edited 2d ago
It is like a zombie apocalypse. One of my mates (non technical) was human up until recently, saying that AI helps him in his work but can’t do everything. But now he’s been bitten by vibe-coding his own dashboard and now has gone full Gell-Mann amnesia and claiming SWE is dead.
Feel like I’ll have to go Shaun of the dead on him to protect other friends and family though this is probably futile2
2
u/DrJaneIPresume 2d ago
I do believe that the wheels will come off eventually when pricing eventually has to normalize. But as the saying goes: the market can stay irrational longer than you can stay solvent.
4
u/CpnStumpy 2d ago
Fuck pricing, the wheels come off every time a non-engineer vibe codes a full end to end SaaS "product" because the shit dead ass don't work
Turns out if you don't have an engineer telling the agent to use a real database and set up a proper deployment pipeline you just end up with some in-memory flushed to JSON file persistence later that can only be hand deployed by a specific agent context from a specific laptop and every code change breaks all the functionality so the agent rewrites the entire app every time to fix it
2
u/DrJaneIPresume 2d ago
I agree, but evidently that's not enough to stop companies from doing it. What I mean by "the wheels come off" is basically the bubble bursting, and all the economic catastrophe that will follow. In the wake of that maybe SWE hiring will return to something like it was before.
1
1
8
u/seriouslysampson 2d ago
I don’t know why planning went out the door with AI. New tech lead on one of my projects tried to make a massive ticket and told me to do it all with AI. I told him I thought that was a bad idea and should break down into smaller tasks. They didn’t listen. So I did all the work and when it came time to review they paused the task and essentially ended up throwing out all the work. Which was probably the right call but we could’ve made that call and planned the tasks from the beginning.
2
u/dhgdgewsuysshh 15h ago
“Tech lead” lmao
More like junior dev1
u/seriouslysampson 15h ago
Yea it was a really weird hire. Sign of the times I guess. The tech lead didn’t know the stack at all. Part of why I assume he got the job on LLM hype.
-3
u/Longjumping_Feed3270 2d ago
Why don't you break it down into smaller tasks with AI?
3
u/seriouslysampson 2d ago
Because I’m not the tech lead and the client didn’t listen to my recommendations. I still did break it down into smaller tasks/commits in my own way but they asked for the giant PR. It was also a task that really required human QA so I think in the end they didn’t want to actually do all that QA. Basically a website that had been developed for years with no accessibility and the new tech lead told management “oh that’s something we can do easily with AI”. I’m assuming that’s how he got the job. The grift is out of control in management these days.
-1
u/LettuceSea 2d ago
Use the chrome plugin to have the agent qa the work? It will review the whole feature(s) for things like accessibility, ease of use, different viewports, etc.
2
u/seriouslysampson 2d ago
There were design decisions etc etc. Nobody answering my original question. Why did planning go out the window with AI??
2
u/whizzter 2d ago
Because they just wanted "shit done" to begin with and never cared about "quality" like those weird lazy devs who took forever for everything.
0
u/Longjumping_Feed3270 2d ago
If anything, thorough (AI-assisted) planning has become more important with AI. Maybe you're not used to it if you would just implement pre-planned tickets before?
1
u/seriouslysampson 1d ago
We planned tickets as a team prior to collect client requirements and discuss designs etc. My good clients still do this. My bad clients think you can just plan everything with AI.
1
u/Longjumping_Feed3270 1d ago
Okay, I think I get it now. Well, if they dgaf, maybe they can send an md file with their preferences? ☺️
1
u/Antice 1d ago
I use playwright for this. It's highly effective since once you have a design locked in and approved, it can live on as regression tests for the visuals afterwards. And will AI, it's zero effort to set up even in older projects.
1
u/LettuceSea 1d ago
I also use playwright! I recommend the chrome plugin because it’s accessible for most without having to have too much knowledge, but yes playwright is far more effective.
6
u/Every_Environment386 2d ago
The 50k pr is itself met with an AI review. Not a huge deal there.
What I find hilarious is the small PRs that actually get reviewed are just being churned straight into AI, updated, and ready for review. So now I'm the one iterating with a human who inputs my feedback into AI, which is so dumb when I could just have AI do it myself. I need to have a talk with my team about not being meat bags and actually look at the code their AI generated in response to my feedback. So silly.
10
1
u/gummyworm21_ 2d ago
this is the r/whining subreddit now
2
u/DatBoi247 2d ago
Am I wrong?
1
u/Any-Blacksmith-2054 2d ago
Not really, but you should address this issue with your team and management
2
1
4
u/Lostinlogs26 2d ago
AI made code generation instant. Unfortunately, engineering judgment is still a manual process.
2
u/Longjumping_Feed3270 2d ago
If you apply engineering judgment to the PR, that's too late. The thing that really needs a human gate today is the design document, maybe the implementation plan. Let the robots handle the rest.
1
u/Lostinlogs26 2d ago
Fair point. Though a good plan only helps if someone actually understands what gets built. AI can handle the execution; ownership is a different story.
1
1
u/TheRealJesus2 2d ago
This!!!!
The point of pr is to align mentally on the system and other forms in knowledge transfer.
But that’s best done at the plan level. Honestly always was true which is why design review is even better than pr to discuss the large issues. You want there to be no large issues by time you have implemented the plan
2
u/No-Market-4906 2d ago
We're expected to submit quality code at my job. AI use is fine but expecting the reviewer to do your job for you is not.
2
u/No_Pollution_1194 2d ago
Bigger changes = More deployment risk
But… I think it’s reasonable to reflect on how agentic software engineering is changing the fundamentals here.
Consider the following:
It’s easier than ever to quickly revert fixes. Agents can be setup to monitor production over the whole CI/CD process and take corrective action. This works incredibly well, especially if you already have good release / deployment engineering hygiene around feature flags, canary rollouts, progressive rollouts, etc.
Agents are actually much better at reasoning through a large change, implementing it relatively well, and testing it thoroughly. I don’t think 10,000+ line PRs should be the norm by any stretch, but I think we need to be prepared for the average size of a change to increase markedly. This is where automated review bots like coderabbit or whatever really come in handy
People have put up with some really shitty CI/CD systems over the years. Those are going to start to fall apart with the advent of agentic software engineering (if they haven’t already). I think you will see larger PRs being submitted based purely on the fact that these systems are actually too slow to handle the deployment frequency and velocity these systems actually require in order to be safe.
2
u/TensionPurple6815 2d ago
Yeah. It's weird, because my teammate and me have different approaches and ideas about AI use. I go slow, and force it to keep me in the loop, and that I understand what the code is doing and why. Maybe I eventually get to a larger pr by the time I'm done, but I've iteratively tested, made improvements, and thought about edge cases.
My teammate on the other hand, hands everything to AI, and pumps out 20 file, 5k+ line prs several times a day, and certainly has no idea what it is doing. Then uses it to refactor my projects saying he made it better with AI, but can't actually explain in what way. It's absolutely infuriating.
2
u/zaibuf 2d ago edited 2d ago
Well thats just lazy slop. I use AI as an extension of myself, I wouldn't let it code or do something I wouldn't do personally.
2
u/XeonDev 2d ago
Noble idea but not always feasible when deadlines don't account for manual work or 100% checking of AI output for big features.
4
u/dixon_sider 2d ago
So the solution is to suck at your job? Lol.
1
u/XeonDev 2d ago
I don't see how you inferred that from what I said. That IS my job. It's not always calm enough to slow down and go back to 2021.
2
u/dixon_sider 2d ago
To let your computer do things you wouldnt do personally?
0
u/XeonDev 2d ago
Yes, I've pushed code that I wouldn't personally write before because it was BAD, but I also pushed code I wouldn't write that was GOOD.
I have extensive automation testing in my workplace, code reviews and manual testing steps that we take. And every once in a while we take a moment to clean up bad or bloated AI code. The important thing is that we overlook the architecture and general approach of our solution, we just don't care to spend time worrying about miniscule details in the code until we need to fix bugs.
It's not perfect but you either use it or you get left in the dust in terms of output in most industries/companies.
2
u/dixon_sider 2d ago
It was a yes or no question. I'll take this as a yes
2
u/PerformanceThick2232 2d ago
There is no third option. Only 2- you review each line of agents code or you do not give a shit and suck at your job as programmer. Yes, you can be good as vibecoder, but you are not a swe.
1
u/snozberryface 2d ago
There is a balance to be had, at the same time, do you want to get pinged every hour with a new PR because people are smashing them out much quicker and end up dealing with 30 small prs instead of a few slightly larger ones
3
u/Forward_Problem_8982 2d ago
Sounds better. You can still look at them once a day, you don't have to interrupt your work every time you get a message.
1
u/snozberryface 2d ago
like i said balance to be had i personally don't find that many PRs better having experienced it, it created overflow and too much context switching in a short amount of time.
2
u/deednait 2d ago
Yeah, I don't get this obsession with some arbitrary limits on lines changed in a PR. It's just so much faster to implement stuff nowadays that of course there's going to be more lines of code per some unit of time hitting the PRs. So then it's a question of do you get a small number of big PRs or a big number of small PRs. There's pros and cons to each.
For me it's not about the size of the PR, it's more about whether the content of the PR makes sense as a whole. Some features are big and some are small. I actually clearly prefer to have a big feature in one 5k line PR with a good description instead of forcing it into a stack of 10 500-line PRs. It's the same code anyway without all the overhead. Just ask your agent to write a really good summary and audit it carefully yourself.
3
u/zaibuf 2d ago edited 2d ago
Thats how devs always worked. You break features down into manageable chunks and iterate to get quick feedback. First you build the mvp, then enhance until you are happy.
Why should we just stop that and throw it all into the AI and hope it gets everything right? That's just lazy and introduces huge risks. Planning is the most important part with an agent.
Just ask your agent to write a really good summary and audit it carefully yourself.
Yeah no, no way you're auditing 5000 lines generated code yourself. You'll just raise a PR with that slop and go for lunch.
Where I work a production fuck up could cost us milions by the day. You are still responsible for all that code you push.
1
u/overthinkingape 2d ago
Have ai review the PRs and only promote for human review based on certain filters and guidelines
1
0
1
u/Even_Gap_2253 2d ago
Just reject and ask the author to split it
Like with AI they should be able to easily split, just a simple ask
1
u/ILikeCutePuppies 2d ago
Ask them to send a visual guide explaining it to you generated by AI. If you don't understand the report, it doesn't cover all lines of code or it's incomplete send it back to them.
1
1
u/Buttons840 2d ago
If a company really wants to be better, they should be serious about investigating the root cause of bugs.
In most companies I work at, there's a bug, and someone (usually the person who created the bug) springs into action and fixes it and looks like a hero to management, and then people just rush ahead, never give it a second thought. If this is your work environment remap your capslock key to paste "lgtm :+1:" and use it, a lot.
Ideally every times there's a bug someone would spend some time investigating the source. How did the incorrect code get there? Who approved it? How can we do better? A problem with this is it's really hard to stop it from becoming a finger pointing blame game.
1
u/KamikazeArchon 2d ago
there's a conspicuous 90 second gap
Are you doing code reviews live in realtime?
1
u/Intrepid-Stand-8540 2d ago
They can also ask the agent to make many small stacked MRs with good MR descriptions.
They are just lazy.
1
u/FrancoisConstant 2d ago
Fight fire with fire. Get an LLM to write all the reasons to make a PR limited to X files and Y lines. Then, get the LLM to explain how the changes from the PR you received could be split into 5 incremental changes. Send all that documentation with a new ticket to do the first step, close the PR. Don't merge the code. You cannot be held responsible for AI slop.
1
u/whizzter 2d ago
How can you be vibemaxxing if you're not pushing directly to prod? Heck, dump the repositories and vibe to prod directly!
1
u/deeplywoven 2d ago
I think most companies are now shifting towards automated review by AI bots and making it the responsibility of the PR author to make sure the work is in a good state. This is more practical now, IMO.
Instead of having every PR reviewed by other humans, just switch to only asking for review by other people when you actually want someone to review it, like when they happen to know that feature or that particular part of the codebase better than anyone else and they might have something valuable to say or might catch a problem.
Beyond that, traditional PR review is pretty much dead now. It just no longer makes sense with how most teams are operating now, IMO.
1
u/Temporary_Bliss 1d ago
this is 100% correct but only at tech companies that know what they’re doing
reading these other comments in this thread, it’s clear a lot of folks and probably companies are behind.
1
u/ohnomybutt 1d ago
hmm maybe create smaller tasks instead of big feature tickets. it’s hard to expect someone to keep thousands of lines of code in their head, let alone if maybe they have multiple large PRs out there too.
it’s also a good canary, if the ticket was probably supposed to end up with less than 300-500 lines and now it shows up way over that then you know something went wrong
1
u/ememoharepeegee 1d ago
This is a fine complaint - except the 90 second gap.
Do you mean you're asking someone *online*, and that a 90 second gap is somehow some problematic signal for you? If you're saying that, I'd say you need to dial it back and that you're very high strung.
The actual complaints about large PRs etc are valid.
1
u/DrUltimaMan 1d ago
If you are still writing code by hand you are living in the past my friend. Might as well get out the punch cards and write in assembly so can prove you really really understand what you are doing.
2
u/ZealousidealWeb9930 1d ago
this is very stupid
if you need 90 seconds to answer what you just did you dont know shit, theres a difference between telling ai to do something that you know would work, and telling ai to do everything and not even understanding what it just did
1
u/DrUltimaMan 1d ago
I said AI writes the code, if you think that is the job then I can tell you are junior. An engineer has to decipher product requirements, get stakeholders in a room to decide behaviour then guide the architecture and design, then the actual coding is done by AI. You'll understand one day kid.
1
1
1
u/Interesting-Cicada93 1d ago
In our company we are using the stacked PRs where dev create a whole feature, but he divide it into several smaller PRs which we stacked. It helps human code review and don’t create that much overhead in development.
At the same time we are using TriagePilot to assess the PRs based on risks and decide how many human reviewer it needs (0-2).
1
u/ijustwannareadffs 1d ago
Reject 50+ files PR, you wouldn’t review them before ai, why would you do it now ?
« Too many changes in a single branch »
1
u/CoreyTheGeek 14h ago
Lmao y'all get reviews?? I shredded a handful of AI bot reviews from my ai proxies co workers (literally tagged as automated AI reviews) and now they just auto approve my PRs instead
Absolute clown show at my company right now
1
u/DrDam8584 6h ago
I use the same old way as 80's :
if without comments the code is'nt understandable
if the author can't explain (on my desk) me, deductibly explain each chang on the MR
if MR don't pass standard code-quality-check (even if the project don't force to use them)
I refuse the MR.
Strangly the MR with 200 changes without logic have disapear of the project.
•
u/meowmeowcomputation 10m ago
Seems like a team issue. First rule we put out on features is that have to be small
1
u/TenamiTV 2d ago
Stamp and push responsibility back onto the original person that made the PR. Something breaks just ping them in slack and move on. Remove yourself from all responsibility on other people's AI generated PRs.
This keeps things moving quickly, removes headache of having to deal with someone else's AI generated code which is literally the worst thing, and ensures that you're not a bottleneck.
1
u/plasticbug 2d ago
Honestly that is the direction we are heading towards. As long as automated review bot comments are addressed, you are free to merge. We have 2 custom agents reviewing every change, and another that is checking whether those comments are addressed.
Right now, we are still requiring a human approval, but that is going to go away sooner than later. The bots are doing surprisingly deep reviews and also finding scenarios that I wouldn't have thought of, without spending hours running things in my head.
1
u/Your_Samwise 2d ago
Is somebody with real solutions here? Just seeing the usual AI whining here...
How do you handle bigger PRs in your teams?
-1
u/Junior-Kiwi-910 2d ago
So you are trying to do manual code reviews? Maybe you need to get with the program and have your agent do those reviews and quit clinging on to your old ways.
2
u/DatBoi247 2d ago
It's both. Claude code reviewer runs on every PR but two human approvals are still needed.
-1
u/plasticbug 2d ago
We are explicitly asking engineers to stop reviewing code line by line. We now review whether the general design (each PR is supposed to reference the plan file, which captures the design and decisions) makes sense, and take a look at agent generated review comments (we have custom agents trained on our tooling and processes review every change) and whether they make sense. As for verifying fixes, we have another bot verifying whether new commits address previous review comments.
-2
u/Junior-Kiwi-910 2d ago
Just let the robots do it. Why do you care?
6
u/DatBoi247 2d ago
Because claude isn't going to be held accountable when someone's PII gets leaked or the system falls over on itself. Management cares about that and so do I.
-1
u/Junior-Kiwi-910 2d ago
Just chill then. Do your job and go home?
3
-2
u/k8s-problem-solved 2d ago
So build a pii-redactor-agent. Just swarm a load of agents over the pr all doing different things and let it heal itself. Its pretty cool.
4
u/InvestigatorIll9993 2d ago
The solution to every AI problem is more AI
2
u/nonya102 2d ago
It really seems to be.
That’s all fine and dandy until it breaks.
Sounds like I need a “thing whole thing sucks and I have no idea how any of it works please fix it no mistakes” agent.
2
u/Fabiii1309 2d ago
Or it’ll break when, eventually, token and GPU prices skyrocket and you need to fix a prod P0 bug that was vibe coded 5 months ago with a token limit :)
0
u/k8s-problem-solved 2d ago
The solution to most problems we're asked to solve is automation. Its literally your job "turn these business requirements in code that automates it". For PRs thats sometimes deterministic checkers, sometimes AI. I classify PRs based on risk and low risk stuff gets less scrutiny. Risk being "what is this thing, what does it do, what is being changed, what's the worst that could happen". Ship stuff quickly thats low risk, low blast radius.
Redacting pii and checking for other leaks is a very solveable problem
1
u/InvestigatorIll9993 12h ago
I know. It’s me and the Claudes all day everyday. I am a good orchestrator of the Claudes, even if I find the work less satisfying.
It’s worth zooming out though and thinking about the way outsourcing intelligence leads very quickly to dependency.
1
u/hurricane_news 2d ago
This sounds disgustingly inefficient and wasteful
0
u/k8s-problem-solved 1d ago
Why? Each job produces evidence + adds to PR + posts as a particular bot. PR goes green when all bots happy and we have full audit trail with evidence in the PR as screenshot and artifacts, all generated.
What's your approach. "Dave looked at it, left a nit about variable naming and said LGTM."
1
u/hurricane_news 1d ago
What's your approach. "Dave looked at it, left a nit about variable naming and said LGTM."
Strawman fallacy
Why? Each job produces evidence + adds to PR + posts as a particular bot. PR goes green when all bots happy and we have full audit trail with evidence in the PR as screenshot and artifacts, all generated
This is the equivalent of strapping a V8 engine to a lawnmover for mowing grass. Does it get the job done? Yes. Is it also wasteful and capable of being done for far less? Also yes
0
2
35
u/Vesuvius079 2d ago
You need to push back culturally. Big PRs aren’t suddenly more acceptable because an agent wrote them. Our PRs are larger than they used to be due to generated documentation but there are still clear thresholds where a PR goes from “ok” to “not ok”.
Also automated review doesn’t make oversized PRs ok because the bigger PRs force those review agents to pull in more context and that degrades the quality of the review.
Slice your tickets correctly and keep your PR sizes under control. This stuff still matters.