Live data from Hacker News

When hiring developers, have the candidate read existing code

freakingrectangle.wordpress.com

341–350 of 565 posts

Re: When hiring developers, have the candidate read existing code

#341
post #224

I've interviewed maybe 500 engineers in my career. I'm an early engineer of Instacart, 3rd engineer of Eventbrite, founding engineer of Reforge. Started 3 companies myself. My interview is always the same: 1. Bring code you've written 2. Share your screen 3. Explain what it does and I will casually ask questions about it You get so much information from this: - How they think about code - If they think it could be be…

[deleted]

Re: When hiring developers, have the candidate read existing code

#342
post #327

Earlier quoted context omitted.

On average, who's going to be better at writing code, the one who has done a side coding project in the past 10 years whilst developing, or the one who hasn't but only worked a job? (assuming everything else is equal) - The one who has more time for side projects might also have more time for work, too. Unfortunately, it does remove good people, since not everything else is equal. IMHO It's still better than leet-cod…

> On average, who's going to be better at writing code, the one who has done a side coding project in the past 10 years whilst developing, or the one who hasn't but only worked a job? You’re clearly leading toward the former, but I could just as easily make an argument for the latter. In my experience, people with edifying jobs (usually because the problems are harder), are less likely to need to scratch the same itc…

I've hired about 25 developers so far. So far, the 8 developers out of those 25 who had actual side projects (even not production ready and with caveats they told me ahead of time) have ended up being head and shoulders above the others.

Of course, there's not enough data to make a foolproof conclusion but I'd say that so far for me, having side projects that a dev can show is a clear indicator that they are an interesting candidate.

And when counting side projects, I count tools developers make to make their life easier and in my experience even great developers with edifying jobs will have situations where they create some small tools to help make their life easier.

Re: When hiring developers, have the candidate read existing code

#343

Earlier quoted context omitted.

>Surely this will filter out ~50% of people who are good but don’t have any public code? It then becomes a take home assignment where you get to pick the topic. Surely you wanted to protoype some tech but didn't have the opportunity at dayjob - so make that prototype and bring it to review. Much higher interview value than take home assignment IMO, but you need to be competent as an interviewer to enter into a discus…

Work created in 1-2 hours is very different from a work created in 1-2 months.

I don't see myself reviewing your 2 months of work at an interview. Showing me a prototype of something you thought was interesting and walking me through, pitching the tech and debating pros and cons would be enough for me to estimate what it would be like to work with you and my estimate of your experience level.

Re: When hiring developers, have the candidate read existing code

#344

Earlier quoted context omitted.

> Bonus points for no PR’s and trunk driven development as that shows a very mature team. Ugh, pass. Trunk development is fine. Skipping PRs just brings back nightmares of SVN. Even if 90% of PRs are approved without comment, it's extremely helpful for everyone to have a second set of eyes on work before it is merged in.

Skipping pr’s is not equal to skipping code review. If you pair, there’s two sets of eyes, to commit both pairs have to sign a commit. You can also organise a demo/quick mob session before commit. Then there’s a level of trust in your teammates. PR’s are great for open source projects as act as gatekeeper so not everyone can commit freely. If you need to gate keep your team members then I’d question the strength of y…

I'm confused by this discussion about development speed: are you talking latency or throughput?

Because in my experience, reviews and PRs certainly Ven damage latency, but overall throughput remains the same as it would be with subsequent follow-up fixes of these issues to the trunk.

Re: When hiring developers, have the candidate read existing code

#345
post #275
post #209

Earlier quoted context omitted.

No, every project I have worked on has review gated commits. It is a /basic/ step in ensuring that a project maintains a high quality codebase. Review does cause delays, because reviewing takes time, but we've generally found that the speed "gained" through poor change control is more than made up for through bad code. Review also shouldn't be causing ego antagonisms. You're coworkers. You have to be able to work tog…

> Review also shouldn't be causing ego antagonisms. Yeah but the tool itself is antagonistic, because it imposes a workflow of open source, a workflow that also is antagonistic with clear and absolute power. So using that tool suddenly brings that antagonism and power into a team which is supposed to be 100% collaborative, and it also only does it periodically and with random and different people in power. It's not h…

What tool are you talking about?

I've had patch review as back and forth comments in email, in bugzilla, in myriad other bug databases.

If you can't send out an email with your patch as an attachment, and get feedback, then we have a problem, and the problem is not the adversarial nature of review.

Re: When hiring developers, have the candidate read existing code

#346
post #313

Earlier quoted context omitted.

There is nothing about github hat prevents you from working that way. I don't see what your issue is. But, I will say that I don't want people who can't separate criticism of their code from criticism of themselves on my team. You can certainly have whatever feelings you want, as long as it doesn't get in the way of producing the best possible product, all things considered.

> I don't want people who can't separate criticism of their code from criticism of themselves Yeah good luck with that, nobody can completely separate criticism of their work from criticism of themselves. You are making your job as the team leader way to easy for yourself, "I only hire robots, that's how I solve all these pesky people issues".

and yet many people on this subthread alone have worked in review-required jobs, and have not had a problem with it. They've also provided reviews for other people's patches, and presumably were also able to do it without personal attacks.

It's the bare minimum of professionalism.

If you are unable to separate feedback on your work, from attacks on your person, you are lacking some fairly fundamental skills needed for professional engineering.

Re: When hiring developers, have the candidate read existing code

#347
post #202

Earlier quoted context omitted.

> If you need to gate keep your team members then I’d question the strength of your team. I'm sorry, what? Review is a gate for everyone , and is a sign of basic project maturity. WebKit, Mozilla, Chrome, LLVM, Linux, etc are all review gated projects. No change is landed - can be landed - without review. If you're questioning the strength of those teams I cannot imagine what your team would need to have on it??

The projects listed bear very little resemblance to a typical software project.

How do they differ?

Re: When hiring developers, have the candidate read existing code

#348
Sounds great for testing the candidate but at the same time it sounds like the best way to get the candidate to look for another job.

I still haven't found a company larger than a few employees with a codebase that didn't make me want to leave.

Re: When hiring developers, have the candidate read existing code

#349
post #209

Earlier quoted context omitted.

Sure there are a 1% of megaprojects that require additional process, but for the rest PRs are a method to control code quality socially. They introduce delays and foster ego antagonisms, so less methodical ways to control quality are optimal if the requirements are met (buy-in + skill) and complexity isn't too great.

No, every project I have worked on has review gated commits. It is a /basic/ step in ensuring that a project maintains a high quality codebase. Review does cause delays, because reviewing takes time, but we've generally found that the speed "gained" through poor change control is more than made up for through bad code. Review also shouldn't be causing ego antagonisms. You're coworkers. You have to be able to work tog…

Agreed. I'd like to add that PRs are not only a means to review code to improve that code. They're also way for new hires and jr devs to learn new things, how the hive mind thinks, etc. This is, ideally, today's PRs help improve tomorrow's code as well.

Re: When hiring developers, have the candidate read existing code

#350

Earlier quoted context omitted.

Work created in 1-2 hours is very different from a work created in 1-2 months.

Yeah, but at this point you're not left with many other options other than sticking your finger in the air and hoping you can detect if they know how to write code.

Only if you are limiting yourself by the options mentioned by the top comment author :) I was interviewed many times without showing any of my code. The most effective way I saw: the interviewer gives you some code and asks you how you could refactor it, what parts you would implement differently.
Post reply on HN