Recently I have been doing a lot of code reviews as we are hiring heavily right now. To keep myself honest and review how I grade I figured I would place the rules of thumb here. Ideally the code review would be in a vacuum without the need of input on the person and their background, however at this point I am wondering how fair that approach is.

General Requirements

First and foremost the functional problem needs to be resolved. Generally this includes some sort of algorithms questions or a demonstration of using an API and rendering it. Once those are complete I like to see the following:

  • Build Definitely dependent on the software ecosystem on is building however I expect a candidate’s submission at all levels to be able to do the following.
    • Compile or Check for Errors
    • Execute Tests
    • Run application
  • Tests A solution does not need 100% test coverage however it does need enough to drive out reasonable risk. Depending on the project type, such as an algorithm challenge or building a web application, what needs to be tested and depth will change a lot.
  • Source Code Management Sharing code is important and showing you can do so definitely boost a submission in my mind.

At a high level there is definitely a lot of hand waiving from me of what it should look like. Perhaps in the future I will dive into further detail.