Ask HN: Code reviews instead of whiteboard for interviews
https://medium.com/@lonetwin/code-reviews-instead-of-whiteboard-for-interviews-e0b66f8db71b
Would love to hear thoughts on this from the excellent folk here.
https://medium.com/@lonetwin/code-reviews-instead-of-whiteboard-for-interviews-e0b66f8db71b
Would love to hear thoughts on this from the excellent folk here.
I've also had one where I wrote a thing ahead of time and then code reviewed it with them. I also thought it was a good experience and I got a sense of how it would be like to work with them.
I suspect that trying to do it for an actual piece of production code would require too much context.
I show them a toy example involving a few classes and a some tests and ask them to review it in terms of correctness, maintainability, testability, etc.
Once they've identified some problem areas, I then have them edit the code and ask them to make the changes they suggested.
I think it's been working well since there have been examples of people doing well on algorithms questions, but not noticing a single problem with lots of bad code.
I think the question works better for more experienced candidates.
Regarding that point, I disagree with you as well. To totally abstain from new patterns / paradigms make it easier for a codebase to become completely legacy to the point of needing a full rewrite. And full rewrites never happen [1]. In general, I favor reducing tech debt with gradual adaptation of new patterns supported by good unit tests and high test coverage for codebases in ongoing projects. Admittedly I have no idea the functionality or role of the specific codebase you're referring to, but that is my general philosophy.
[1]: "Things You Should Never Do, Part I" by Joel Spolsky http://www.joelonsoftware.com/articles/fog0000000069.html
I think it would be better if we let the candidate check out the code and review it from home, maybe write out a longer and more detailed review of the code, including the good and the bad, not just the problems.
It would be great from the candidates point of view as well. Usually you don't get a real indication of the companies code practices until you start. In fact, before starting a new job I think you should be able to review the companies code base.