Can't bear to review one more PR today
Can't bear to review one more PR today
Can't bear to review one more PR today
Ughh I'm currently waiting on a review and I've pinged people multiple times but nothing. It's blocking all my work for the rest of the week.
Be sure to call out in standup
Me: "So, I completed this time critical task a week ago, had it QA tested, and it's been awaiting approval since Tuesday. I've posted my PR with links in the dev chat, I've pinged each of you individually each day as well. It is still awaiting approval before I can merge and pick up a new card from our backlog that is dependent on these changes. If literally anyone has the bandwidth to do this review, please do. I'll post the link here again as well, to make this super convenient for you all, as well as the Jira card for reference, and the changes and requirements themselves are extremely straight forward. It should only take 5-10 minutes, tops. And I will be sitting here useless until it is done. Somebody, please, for the love of god..."
My team: crickets
Scrum Master: "Thanks for the update, kryptonianCodeMonkey... next up is..."
And actually stand up. Otherwise it defeats the purpose.
LGTM +
I'll review it
uggg. Another multi thousand line PR. Again.
I'll leave it to tomorrow.
Tomorrow: fuck this. Ive got shit to do.
It is also a "refactoring".
Unless those lines are autogenerated I'd be rather concerned
I wish they were auto-generated. The most senior engineer, clever as he is, has a thing for re-architecturing things and doing "refactors" and "tidies" at the same time.
I've voiced my concerns and at least the big re-architecturing sometimes get broken into child-jiras, but it doesn't always help.
Then theres the merge conflicts on my branches i have to resolve. AHHH
As a senior at my last big company job, basically all I did was conduct meetings and do PRs. It's such a grind.
My opinion now is that most PR is worthless anyway. Most people give, at best, a superficial skim for typos, lack of comments, or other low-hanging replies (that usually, really, a static checker or linter should be dealing with).
Reading the code base in little chunks like that doesn't give you proper context for the changes you're reading. Automated unit and integration tests would be better for catching issues like that, but of course then who is reviewing and verifying the tests? Who's writing them for that matter?
Ideally, pair-programming or having extra people on projects to create knowledge redundancy would help. But companies want to replace juniors with AI now, so that's not looking good. Senior devs and architects might know the major pieces of much of the code, but can they "load it into working memory" sufficiently to do a quality PR that will catch something the tests didn't and QA wouldn't? Not in my experience.
I think the best actually-implementable solution for most teams is to get rid of PR expectations and take a multi-pronged approach to replacing that process.
This comment seems like a lot of work to read, I'll pretend I didn't see it
So you'll just hit approve?
I caught a junior trying to reimplement an existing feature, poorly, in a way that would have affected every other consumer of the software I'm a code owner on a week or two ago. There's good reason to keep them around.
PRs suck to do, but having a rotating team of owners helps, and linting + auto formatting helps with a lot of the ticky tacky stuff.
Honestly, the worst part is "newGuy has requested your review on a PR you requested changes on but he hasn't addressed" that'll get you in the ignored pile real quick.
I generally agree and like this strategy, but to add to the other comment about catching reimplemented code, there's just some code quality reviewing that cannot be done by automating tooling right now.
Some scenarios come to mind:
It's hard to catch these without understanding context, so I agree a code review meets are helpful and establishing domain owners. But I think you still need PR reviews to document these potential problems
these are the trade-offs you make when burning out your team is more important than quality.
Yep.
Many directors and CIOs know exactly where they stand regardin the classic value proposition: deliver something trivial before next quarterly earnings statements - at the low easy cost of losing all organizational understanding of the code base.
I will never not hate scrum. Screw all this corporatization of programming.
I would be fine with it if my job was just that review stuff.
But man when you are in the middle of something and you have to review something because they need it soon... It's annoying as fuck.
Reviewing code is part of your job. But you also deserve uninterrupted focus time. Just block focus time blocks in your calendar and check if your peers need reviees 2-3 times a day.
As a required reviewer on a lot of things, I envy that bear so, so much.
don't review just blind accept and merge it's more fun that way
LGTM
I haven't done any serious programming in a long time. Is this mostly about corporate process and hierarchies for programming or does this apply to open source projects as well?
Seems really demoralizing putting in the work to add something to an open source project and having it waste away unreviewed and unappreciated.
It's more about scale. Small open source projects might get one PR a month. Your average tech company is dealing with dozens of PR every single day. Review fatigue is real in these environments
Applies to both.
Certain this works 100% in the wild. Main issue will be trying to SSH into the server, unless you can borrow their hotspot.
I promise I’m not purposefully ignoring you I just forgot and could use a nudge
God damn it.
To be fair, we sometimes have to look through multiple related documentation and tickets to make sure the change was actually reviewed and approved by the necessary teams (network, security, etc.). We also have an SLA for PR reviews/approvals and some people have a habit of sending it out for approval at the last minute of the change window.
We decided that everyone in the team is allowed to approve changes. If no one has reviewed your change within 24 hours you are allowed to approve it yourself. It will usually come up in the daily sync that a self approval is imminent, which usually leads to someone taking a look.
Surely this will just devolve into "no reviews ever".
Self-approval leads to a road of sadness. For example, a theoretical company needs to self-renew an ssl cert. No problem, the cert will be stored with the rest of the secrets and retrieved in a secure way on deployment. Unfortunately if you don't store the cert key in a secure way, the deployment still works fine and you don't need to figure out the "onerous" encryption process.
So you push the private key to the company git repo, and then deploy the cert! Done and Done.
We have well established ways to deal with secrets. Also, everyone is responsible enough to not self approve changes where they do things they are uncertain of.
If you don't establish an encryption mechanism for secrets that allows for automatic, in memory decryption on deployment from the start of your project, then your project is run by incompetent developers/ops specialists/architects/management/etc. and deserves to fail.
Nevermind the idea that one reviewer is somehow sufficient, this sounds like pure fantasy. Did you forget a "/s"?
Who said anything about only requiring 1 reviewer? And no, I did not drop an /s. You should try working for a healthy team where everyone takes collective responsibility and where the teams progress is more important than any one person's progress.