Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's a code review, right?

Give feedback that about the docs and block merging till the issue is resolved.



This sounds easy in principle, but a half dozen of these sort sorts of massive PR’s per week is basically untenable. I’m not gonna read the hundreds of lines of added documentation to decide if they’re correct or not. The price of generating new words is just so much higher than the price of evaluating it that I can’t be bothered.


Just hit "deny." I've been training my co-workers that the AI-isms their "AI Assisted coding" do that some shit just isn't acceptable. I leave a comment and hit deny. It also helps that I control the policies on the repo and they can't merge in with a denial from anyone. So it's either a fix it, or explain why your work isn't getting done. My manager is also 100% with this.

I've denied for poor branch names and commits from AI. I've denied for too verbose of comments from AI. I've denied for parts of the code base being touched that are not relevant to the case they are working on (login isn't broken, your case is to add a check box in the settings pane, remove the changes made to login).

Pre-AI I wasn't fine with PRs with multiple features and touching irrelevant areas of the code base. Why would I be fine with it because my co-workers got new toys? You want AI to refactor a part of the codebase? Fine. Separate branch, new PR, and in the description, present an argument for it. Don't shoe horn it into something else. Also, I'm not obligated to hit approved on shit.

I may also be a bit privileged because I can be a pain in the ass to whole team. I may be slower, but I've got the numbers, my code is creating way less bugs then my "fast more efficient" co-workers.


Now suppose four of your teammates, each have three PR’s in the backlog and you have to explain to your manager that you’re the bottleneck.


As quoted from my comment: "My manager is also 100% with this."


And he has bosses. And are they okay with some whatever being an obstacle to work getting done? Probably not.


That's on him to handle and it hasn't been a problem.


When it's a problem, you should both expect to be unemployed fairly rapidly. Progress isn't going to stop solely because you want to pick 'excessively long comments' as a hill to die on.


You're really insistent on project your personal biases onto a person and company you do not even know the identity of.

Turns out not every team has the idea of "progress" being yet another iteration of "more code submitted = better code". Some people actually desire or need to make quality products.


"Progress"


... Poor branch names?


Yea, its not one I exactly agree with. But it is what the team collectively as a whole said is something is important. So to the other comments acting like I am just being ridiculous. Everything I deny PRs on is something time and time again the team collectively agrees on when asked how code should look and the process and all of that. The team can choose at any time to change that and for some reason, enough people on the team when asked in a meeting if branch names matter a lot and if they should follow a certain format, its a yes.


[flagged]


Coupled with the other comment of yours that was flagged, the tone of this is completely unacceptable.


Maybe consider some anger management therapy? Nothing you’re talking about is in any way acceptable. Physical violence at work? You can’t be serious.


Its not petty is, Im not changing our standards because people got hot new toys. These are code policies we've had. If your AI usage can not conform to them, that's on you, not me.


[flagged]


Why can't people just follow the guidelines. You really want to get into a fight over not following established and agreed upon guidelines and code quality standards?


> but a half dozen of these sort sorts of massive PR’s per week is basically untenable.

Actually, rejecting them is precisely what will make them easy.

"Sorry, the comments are so bad I'm stopping here. Please fix them and then I'll resume the code review."

You're giving everybody (including yourself) more work by:

1. Reviewing the code (even if you skip the documentation).

2. Letting too many abstruse comments in which everyone in the team will have to read.

3. Allowing the behavior to continue.

Become the bottleneck so the team can talk about it. If they decide this shouldn't be a blocker, just declare you won't review the comments going forward.


> "Sorry, the comments are so bad I'm stopping here. Please fix them and then I'll resume the code review."

This is also how I do code review of AI work on my projects. If the work is offensive to the point I can't complete the review, I simply reject the code and tell the AI why. Then it goes off and fixes it. This repeats until the issues are either gone or are small enough that I can just fix them myself and move on.

There is no need to be upset. Just iterate until it's right. If it's cheap to write, it's equally cheap to rewrite.


I think you’re overestimating how easy it is to just declare I won’t be doing my job.


I am actually asking you to do your job. Pre-LLMs, if I got comments that were difficult to read in a code review, that PR isn't getting merged until they fix it. So: Review the docs. If it's that bad, just say "I don't understand these comments" and send it back.


What I’m trying to say is that they can generate many more hundreds of lines of code and comments than I can reasonably review. Maybe the comments do make sense they’re just five lines longer than they ought to be. Multiply that by 20 times and then add in 150 lines of documentation that is not technically incorrect.

Not to mention that the response to each review will come with its own set of new comments and new documentation. The ability of people to write things has exploded tenfold. You can’t out review the slop.

Every PR can be rewritten and re-architected on a whim.


Sure - but the volume is a separate problem from the quality of comments. Even if the comments were the best possible your complaint would still stand.


Tbh if the AI just followed the prompt to not add the comments, that'd be sufficient. It feels maddening and burnout inducing to tell it not to only to have it ignore that and you deal with the same problem every time without things meaningfully improving.


Your bosses don't want you actually reviewing it anyway. They want you to approve the PR. Just give them what they want.

I'm currently not working in tech, but I will again sometime within the next year or so, and I've been reflecting on my career in light of the recent AI madness. I think the biggest mistakes I've made over the last decade+ in tech as a software engineer have been caring. I've worked at small, medium, and large companies. Famous big names you've definitely heard of, less famous ones you probably haven't. In every case, in retrospect, as an individual contributor (non founder, non board member, etc) being personally invested in some outcome--quality, efficiency, cost, ux, customer value--is a mistake.

If you aren't actually in a position to change something, caring about it is futile. [edit] And I don't mean in the sense of "feeling empowered" or some such, but actually having the clout to steer the ship and make it happen. Very few people in a tech organization actually have that power, by design.

The industry wants to do away with code review, meaningful testing, computer security, and reliable services. Why swim upstream? You can't actually do anything about it so why try?

When I go back to work I'm going to do my 9-5 40hr/wk, smile, nod, punch the clock, and make the bosses smile or whatever. But I'll be damned if I'll ever give a shit again.


>The industry wants to do away with code review, meaningful testing, computer security, and reliable services. Why swim upstream? You can't actually do anything about it so why try?

Because habits beget habits, and in form imprint into your identity. I'm not the biggest fan of GPA fixation, but it does have the side effect of imprinting work habits (I won't say "ethics", because the extremes I saw peers go to to get A's is anything but). It doesn't necessarily imply mastery of your class, but your ability to adjust to someone's standards and meet them. Which is something that will follow you into the workforce, and roughly correlate with people who will meet the standards of their company.

If I don't give a damn about code quality in a place I spend a third of my life, why do I expect to give a damn when I want to work on my own project in the future? Even if I try those habits will wear into something I can call my own. This might be fine if your overall goals have nothing to do with your work; that you are fine just going through the motions and getting a paycheck to empower your non-tech hobbies or focus on supporting your family. But that's not the path I've chosen.


You can probably still write your own code to a standard of quality you're comfortable with, while conforming to the wishes of your employer. At least until you can't anymore, then you'll have to make a decision.

But in this case, we're talking about reviewing a deluge of AI slop. Other employees have been incentivized to generate all that slop. It's not your job as an IC reviewing said slop to push back and try to make it better. It's your job to approve the PR and get out of the way. If you do something else it'll come back at you in a bad way.

And probably if you're not generating a comparable volume of code, your output will be labeled deficient.


I think that's just too cynical when you apply it to the entire industry. I'm sure there are coding jobs where you are just a cog in a factory line but IME there are also those where a lot of things really are up to the individual contributor because either no one else has even given them any though or higher up defer to your judgement (which is part of what they are paying you for).


If you hold up the line by flagging quality issues, you will be seen as the root cause of the problem. I say this as someone who has been there and done that--I've tried to do something about code quality issues affecting my team's velocity. This resulted in a negative performance review. In another company I raised some concerns about a series of serious security issues that were not being handled. Again, management handled it in a retaliatory manner.

These things happened at companies that value their reputations as "good" places to work. Not Amazon. Not Google. I mistakenly thought fixing these problems would not only be possible, but also that it would be appreciated.

Maybe I'm tarring the industry with too broad a brush, but in my experience this is how it is: either you go along with the malfeasance or you're targeted. Being targeted fucking sucks. I'll never paint a target on my back again.


> Your bosses don't want you actually reviewing it anyway. They want you to approve the PR. Just give them what they want.

Then remove the whole process and let it go through automatically. I've worked in high trust teams where we would do that - there was no gate.


If that's what they wanted they'd mandate that process. They want the deniability of having you rubber stamp the PR. That way they can blame you when it goes wrong. There may be high trust teams, but I've never seen one firsthand, but my sample size is only N=5.


Before I became a SW engineer, I've worked in such teams (you "own" the quality, but they want you to do it so quickly that you can't really own it).

I left. I will always recommend finding a new job when you have dishonest management. (Dishonest by not admitting they are lowering the quality.)

Fortunately, none of my jobs since that job had that problem. They either allow good quality reviews, or they explicitly accept the technical debt that comes out of it and don't blame me for poor codebases.

(But then again, I make sure to probe these things during the interview process...)


> I make sure to probe these things during the interview process

I absolutely plan to do so throughly when I begin interviewing later this year. But I've been fooled before, so it'll take extraordinary evidence to get my hopes up, and I don't think I'll ever truly believe it again. There's always the possibility it isn't real or I'm misunderstanding something.

If you ever trust an employer you put yourself at a profound disadvantage. Employers are not so disadvantaged by placing (judiciously earned) trust in employees. That's because employers are companies, and companies are not people.


This doesn't work because then you get fired for being a bottleneck.


The bottleneck existed before LLMs. Amdahl's Law applies. Just because code can be produced 10x faster doesn't mean much if other parts of the flow can't be sped up.

As I said here and elsewhere: If management is concerned code review is a bottleneck, let management be aware that the process has to change. Either the human is not as thorough, or he uses some combination of his brain + LLM to conduct the review.

It's a basic fact: They have a machine that produces a lot of code, but don't have a machine to review that code. The bottleneck is obvious. I'd love to build planes for $1 too, but physics applies.


Management is not a logical formula. Management says all code must be reviewed, your coworkers are approving (rubber stamping) PRs 10x faster than you, why aren't you able to keep up? Why are you being difficult?


Again: I'm failing to see how this is different from pre-LLM days. If you have coworkers who are sloppy in reviewing, then you would have been a bottleneck compared to them back then as well.

Do you not have team meetings with the manager? Examine some of the PRs your coworkers reviewed, find the flaws, bring it up to the whole team, and get buy-in from the manager that he's OK with it. If he is, stop worrying and let the PRs through.

Also, start writing those CYA emails.


Management also doesn't have to be as simplistic as "more code faster = better" without any understanding of the consequences.


Close the PRs as unacceptable.


You can't keep up with the slop. And before you finish a first pass read on the wall of diff, another AI sloperator on the team has hit approve and the PR is merged.


Exactly this. Even if I spend a bunch of time requesting a review — and our team does respect each other enough to at least nominally respond to comments before merging — the update itself will be another thousand line diff from the original that requires again the same level of review or I just accept that it looks fine.


At that point maybe go looking for a company with a better work environment.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: