Live data from Hacker News

Code Review as a Service

pullrequest.com

91–100 of 238 posts

Re: Code Review as a Service

#91
I used this service at my previous employer to launch a small django/nextjs app and it was mostly fantastic.

Background is that I worked at an VC-backed startup as a dev after doing General Assembly’s full stack bootcamp. Left that job to do ops/growth, and ~2.5 years later volunteered to build the web app when my company put the project on their roadmap.

As the only developer at the company, pullrequest was great for: - a general gut check on how I was doing - recommendations on how to better write js/python. linters help but nice to have a person offer feedback on more advanced ways of doing things - sourcing documentation on best practices. I found a lot of typescript/JavaScript resources to be inconsistent/confusing. Was great for someone to find and vet guides for me. - help with bugs/errors - basic library choices and architecture decisions

It was also fantastic to have several people reviewing my code at once. Gave me a perspective on the type of engineering manager I’d want to work for. Some folks focused more on technical details but struggled explain their changes in plain English, while others seemed to be the other way around.

pullrequest was not great for: - doing things fast. They didn’t have a real-time messaging feature so I’d get hung up on waiting for feedback. They do have a 24(?) hour turnaround, but when several folks are commenting on the same PR it gets hard to track what changes _really_ matter vs what they are throwing out there as a nice to have. - Anything that required context outside of the files committed. Though with some extra long PR comments I could manage.

I would 100% recommend pullrequest for small teams who are heavy on more junior devs or migrating to a new stack. It is an inexpensive way to ramp up learning.

Last thing here — when I worked at the startup my code was rarely reviewed, and I’d have to actively ask for it. Not all companies follow best practices (even if they have the resources to). I would’ve loved this at my past job, too.

Re: Code Review as a Service

#92

This entirely misses the point of code review. Say it with me: Code review is a knowledge transfer exercise. Finding bugs, security vulnerabilities, and keeping the code maintainable are merely side effects that we appreciate along the way. The primary purpose of code review is increasing the bus factor of the given piece of code and facilitating organic knowledge transfer. That's it.

I mentioned this idea to a very knowledgeable enterprise architect. I was mentioning how much I'd enjoyed being able to use the code review process in this way. His reply: As good of an idea that is, it breaks Agile. So long as the code meets the biz-provided spec, it must be accepted, and if there are other concerns with the code, to make a tech debt ticket to address it at a later date. This, of course, horrified m…

That's how a managerial bureaucracy approaches the problem of deadlines: The second it looks like it's working, mark it done and move to the next task, and deal with the bugs later - ideally the manager will move to another position by then due to their exceptional productivity in meeting the set goals, and the bugs will be someone else's problem to solve...

Re: Code Review as a Service

#93
The best code reviews are ones that leverage experience from the reviewer to stop logic errors. Your code may well compile and the tests you concocted may pass but that doesn’t mean your code should ship. Without a second pair of experienced eyes looking at your crap, how are you to know that:

- (general experience with modelling) what you felt should be a single class would be better if it were factored into two classes; and

- (specific experience with this particular codebase) the second of those classes already exists in the codebase and can be found in com.clown.util?

The former can be helpful but it’s just noise compared to the value of the latter.

How does this service avoid being just a human powered style linter?

Re: Code Review as a Service

#94
post #92

Earlier quoted context omitted.

I mentioned this idea to a very knowledgeable enterprise architect. I was mentioning how much I'd enjoyed being able to use the code review process in this way. His reply: As good of an idea that is, it breaks Agile. So long as the code meets the biz-provided spec, it must be accepted, and if there are other concerns with the code, to make a tech debt ticket to address it at a later date. This, of course, horrified m…

That's how a managerial bureaucracy approaches the problem of deadlines: The second it looks like it's working, mark it done and move to the next task, and deal with the bugs later - ideally the manager will move to another position by then due to their exceptional productivity in meeting the set goals, and the bugs will be someone else's problem to solve...

If they get solved at all.

Re: Code Review as a Service

#95

Earlier quoted context omitted.

> Reviewers earn anywhere between $50 and over $3,000/week. They are operating just like a freelancing platform, right? How many hours is a "week" for them? 40 hours? > PullRequest’s payment rates are comparable to those of a senior-level engineer based in the US. Like include life and health insurance, paid vacation, profit-sharing, a generous signing bonus, and more?

Quit perpetuating the tying of these basic things to the standard employment model. Get 'employers' out of the business of managing access to health care for employees. Let people 'pay' for their own vacation. You can provide 'profit sharing' to non-employees. Give me $3k/week and let me manage this myself vs giving me $2.5k/week and telling me how awesome my 'health insurance' is. I want my access to health care imp…

That would be lovely, but pelasco's point is still a good one. If PullRequest _only_ pays "rates[...]comparable to those of a senior-level engineer", without those extra perks (and, to be clear, I agree with you that in an ideal world those perks would not related to employment), then PR's actual total comp is actually effectively much less than for senior-level positions.

So, we can infer that higher-skilled individuals will take the more highly-paying positions, and that the folks working at PR will be less-skilled or juniors. That's a gross over-simplification, of course, but it probably bears consideration.

Re: Code Review as a Service

#96
post #77

LOL. This will become in less than 1 month a "LGTM" feast. 3rd world countries developers (organizing themselves in groups to pass the intro test from the website) giving green lights to random people around the world for peanuts. This is a clever business model if you ask me. Let's be clear for a second. Nobody, not event the legendary 10x developers can review properly code without context or everything mentioned h…

Could you clarify what you mean by "LGTM?" Just people saying, "looks good to me" and doing crappy reviews, or is there some LGTM "thing" out there that everybody will use? Or something else?

Re: Code Review as a Service

#97

I'm all for this if the person reviewing my code will know the context, history and all the details and conversations we had as a team. But in order for that to work, I'd probably be taking most of this reviewer's time. And obviously in order for them to get up to speed with our practices, conventions, architecture, code style and whatnot, they'd probably need to start by doing a whole lot of development on our proje…

As somebody who's done a bunch of reviews on the platform you realize a bunch of things about development that we don't want to admit. When I review code for my own team (for my day job), there are many times where internal pressures on my time will make me prematurely stamp LGTM on one of my co-workers PRs that I trust. When I'm doing reviews on PullRequest I remove the "trust" marker in my review along with this strange thing called "economic compensation" where I'm paid to spend time working on it, rather than having somebody ding me for not completing some other task that needs to ship this week so I spend more time reviewing the details.

I think there are a few levels of code reviews that should be in place.

* Automated checks eslint/typescript as examples, you would be surprised at how many companies don't have this!

* Best practices -- react hooks, golang interfaces, calling conventions...

* Testing -- are the tests structure to test good and bad, are they brittle? * Security -- Did you build the right IAM role in terraform, did somebody just checkin their GITHUB key (ok, that should be automated).

* Performance -- Is that Promise.all going to dispatch 1000 calls in parallel.

* Architecture and inter dependancies, there is a limit for a 3rd party here.

Now if you're the Lead/Architect on a project and at a minimum you can outsource the Best practices / Testing portion of the pull request to a 3rd party you now can focus on the architectural dependancies that are really what you care about.

As an architect you can easily provide reviewer notes to the person doing the review that you are interested in focusing on specific areas of improvement across your team. Giving you the coverage to focus on the high level issues and inter dependancies while not focusing on variable names or test coverage.

Your time is valuable, you should spend it on character development not on the punctuation.

Re: Code Review as a Service

#98

I'm all for this if the person reviewing my code will know the context, history and all the details and conversations we had as a team. But in order for that to work, I'd probably be taking most of this reviewer's time. And obviously in order for them to get up to speed with our practices, conventions, architecture, code style and whatnot, they'd probably need to start by doing a whole lot of development on our proje…

Code should be written to be understood without that context. If comments and documentation aren’t enough context for the code to be understood, it probably isn’t written very well.

I'm talking about code where thee context is donain knowdledge and architecture.

Reviewing things like style, performance, security, framework best practices etc is pretty easy work and rarely the bottleneck in a team in my experience.

Basically: any kind of review where you could comment on a single file only, is easy. The important and difficult part of review is "Is this the right thing to do at all? Is it implemented using the right approach to begin with? Do we have other functionality that already does this? Does that other functionality use the same approach or is there good reason for this being different? Does this follow the business logic properly or are there any signs of misunderstanding the requirements? Are the requirements sensible?"

Re: Code Review as a Service

#99

I have performed reviews on pullrequest.com, and lack of context tends not to be an issue. Code review is an interactive process, where questions can be posed to the PR authors, and PR reviewers have access to search the codebase. Customer success at pullrequest.com also provide context for the repo and organization working practices, attached at the top of PR descriptions, to help reviewers with context and to know…

Just curious about the flavor of code you were reviewing. Can you elaborate a bit on that? Specifically - any software integrations with hardware? E.g. maybe a distributed cloud service that talks to on-prem firmware or similar (think IoT, cisco/juniper network gear, etc).

There is a whole class of software that I can't imagine someone could come in blind to and offer any real value to necessitate the balance sheet exposure. But I'm very interested to hear if folks there have had to do this (yourself or others).

Post reply on HN