Hacker News new | ask | show | jobs
by gjolund 3709 days ago
I love working in environments like this. I can say hands down they were my most productive years as a programmer.

Quality code review is the single most important trait of a high performing senior programmer.

3 comments

Before people take and run with this comment, this will turn into a shit show if you don't have actual senior programmers with the needed experience. I've seen it happen in startups where their "senior programmer" has only been working for three years out of school for the single startup.
This is absolutely the truth, and based on my experiences, absolutely a problem. New graduates are promoted through the ranks at startups so quickly, yet they have terrible interpersonal skills, and their code reeks of naivety.

I've watched an "architect" from such a company write the most tangled spaghetti western of code for the simplest CRUD app that even his lower level colleagues were appalled. Of course, those same colleagues then advocated a complete re-write of the working codebase instead of incrementally fixing the code, causing about 6 months of new work for the company before they could start on hardening or new features...

No, experience doesn't automatically make you right, but it does increase the likelihood.

While I understand where you are coming from, I don't see how your comment adds anything to the conversation.

If you don't have senior staff then you are going to have a host of other problems as well.

As someone who works at Workiva, I completely agree.

The post comes off a little more abrasive than I'd like. I think writing it as an "email" to a hypothetical new team member makes it worse.

The point is: we take our code reviews seriously and we may point out things that seem silly or nitpicky, we may question your approach, we may make many suggestions for improvement, but at the end of the day it is nothing personal. It is for the common goal of high code quality.

Code review is typically how I structure my interviews.

I try not to ask arbitrary comp-sci questions, but instead provide the candidate with a block of code and ask them to provide a comprehensive code review (usually through a github pr).

Afterwards I perform a my review, and highlight any differences in style or methodologies. I'm not really looking for people that have the exact same outlook as me, I'm just looking for people that have some kind of standard they adhere to.

My first internship was like this. I loved it. It provided me with instant feedback on my code and as a result the quality of my code went from probably pretty low to as good as I could make it.

Having now worked at other places where code review is given low priority, I can say with confidence that I don't want to work anywhere that does not do serious code review.

Code review provides an important mentorship opportunity for junior programmers, and provides a simple way to keep code quality high and consistent. In addition, it provides a simple way to instruct new hires on internal style and conventions.