Hacker News new | ask | show | jobs
by kvark 9 days ago
We had a process at one company where you had to create an issue before filing a PR. I found it most non-sensical and introducing friction for no good reason. Very surprised to see the author suggesting it in the article.

Review is indeed the main bottleneck now for open source, and we need to solve it. Introducing more friction is hardly helping.

5 comments

The author is describing a method for turning a low trust/no trust environment into a slightly higher trust environment.

A company is usually already a high-trust environment, where people use real names and have real reputations. So creating an issue cannot serve the purpose of increasing trust.

I think the point that he is making is that the additional friction is a good thing and necessary in this case because it's an open source project. It's too easy to do drive-by PRs that don't actually provide value and just eat up review cycles. The issue requirement simply ensures that the requester actually is invested and cares enough about this to get approval before starting work on it.

I can see why that doesn't sound great particularly on a team where everyone knows each other and is working together but it totally makes sense for me if I were maintaining a project that was large enough to get a lot of low-effort PRs coming into it.

In my opinion review will always be a bottleneck, in OS as well as in commercial development.

To my understanding Code Review is first and foremost a trust-building exercise, seeking to establish common understanding behind the piece of code which is to be delivered. That it also may lead to improvements or "catch some bugs" is a distant tertiary side-effect, not the primary goal. At least this is the vantage point I reviewed any code from in the last two decades, and found that team morale and overall quality of teamwork - and delivered software, and customer satisfaction, as a result - responds very well to such interpretation. Regardless of the side you are on and competency level of your vis-a-vis. I would put "elevating competency level of both partners" as a secondary goal of Code Review, and very closely connected to the primary.

With current crop of LLMs there simply nothing on their side to which words "trust" and "understanding" can be meaningfully applied. Hence the "review" takes drastically different shape and implies very different goals. As both the primary and secondary goals described above cannot apply too. The only remaining goal of "improving and bug-catching", in absence of trust, understanding and learning, now requires much more work, which is also much more exhausting.

And a follow-up to my comment above, as wanted to reply to "create an issue before filing a PR" remark too.

I find it actually extremely useful practice. We engineers tend to center our thoughts around "code" and with such code-centric mindset to accumulate knowledge as "code-adjacent" - in repo's commits, PRs, markdown files of all sorts. But in reality most if not all projects extends past the code, and it makes much more sense to have a "project-centered" mindset. As such, an external "issue" captures much more context and provides more useful insight about project impact than PR description alone. Love or hate JIRA, beyond microscopic solo-projects it makes full sense to use broader-scope external tools for project management.

As a nice cosmetic effect it also removes (some) bickering about whether to put "type" or "scope" first in the commit message :). Simply provide a reference to the ticket! (No, really, I hate JIRA, honestly!)

We had that process too, and I insisted on it. Any PR not matched to one or more issues gets automatically rejected. The friction this injects ensures people are not wasting company resources bikeshedding.

I'm a world champion bikeshedder, and I both hated this policy and insisted we keep it.

Are there other companies? Where you are submitting PRs that solve no known problem?