A software company has a senior position to fill. They contact me, directly or through recruiters, expressing great interest for my profile. Sounds great!
Now, they have a nice coding test they want me to accomplish. It can be a 1 hour general coding Q&A, a FizzBuzz-style coding challenge, or even a full-fledged mock app specification.
Their coding test may aim to:
- Weed out the non-coders from the ones that do
- Only get the developers that are interested enough to perform their test in a ordered and timely manner.
- Gather insight about my proficiency for their position
- I know how to code, and can show it. They can check my blog, my numerous repositories on GitHub, my public sample projects, or my freelancing portfolio.
- I've already expressed interest in their position. I have a day job, and several side projects: I won't spend a sizable chunk of my free time so they can tick some boxes about my coding skills.
- No matter how general or specific their tests is, it will never replace the proper way to see if someone fits your position: work with them on the real job, and see how it feels.
Some alternatives to coding tests that benefit both parties:
- Bring the candidate to the office for a day, and work together. They'll get to know the company and its environment, and the company can see how the candidate fits within their team and culture.
- Pair program with people from your team for an hour or two (Screenhero works great), so the candidate can learn from them as they learn from him/her.
- Assign the candidate a real feature/bugfix to implement from home, remunerated accordingly. Make them sign an NDA, and both parties will have come out benefitted from the exchange.