By Raghuveer Kancherla | Recruiterbox – Recruitment Software
I am a programmer, but I have often found it difficult to identify other good programmers. Based on my experience over the last few months, and some deliberation with my team on hiring for Recruiterbox, here are three things that worked really well for me. The tips below are generic enough for both programmers and non programmers.
Point the telescope towards local programming communities:
The best programmers are often not looking for jobs. They mostly hangout in local communities or mailing groups that are specific to the language they are programming in. For example, if you are looking for a python programmer, look for a local python group (a San Francisco python group). Most of these programmers are already gainfully employed, but they are all excited by an awesome technical challenge + working with the latest technology, once the basic amount of money is taken care of. I have rarely found any good programmers on large job boards, but niche one's like startuppers, 37 signals or stackoverflow, do give good results.
Good programmers are identified by what they do in their free time:
This is a general rule of thumb but does not always apply. People do what they love most in their free time. Consequently, you can identify someone who loves to program by what they do in their free time. If he/she churned out some silly hack just for the heck of it, it’s a great sign. In my first interview, I usually talk about these simple hack's applicants may have done in their spare time. This also gives me indications about the kind of work they like to do and avoids any misfits.
Give a programming assignment:
Giving a programming assignment usually gives a very good idea of how cleanly a programmer writes his/her code. It’s very important to hire a programmer who writes clean code from code maintainability perspective. I'd personally not want to work on a project that has bad code. I'd have to spend more time cleaning and understanding someone else's mess as compared to writing more code - not something I'd like to do as a programmer.
I usually like to use a real programming assignment, but if you are non programmer you can use assignments from project euler. You just need to know a bit of math to evaluate the result. If I were a non programmer, I'd ask one of my friends to help me evaluate in this step. I do this only when I like the answers to point 2, so the volume is not always high.