Recruiting The Right Developers
Beyond a Well-Structured Interview…
Every New Year brings with it hopefulness and confidence for new successful outcomes. People tend to put a list of resolutions to start making lifestyle changes to help them accomplish personal goals.. Unfortunately 92% of those people fail to finish or even start with this list for many reasons, resulting in them giving up, for good.
When you are in a hiring position, looking to recruit the right developer, you should always be aiming to recruit from the remaining 8% who chose not to give up on their set of goals. Here is the hard part though…how can you identify if your candidate belongs to that 8%?
Ambition is key
Talent alone is not enough. You need to look for people who are hungry for success. They need to be ready to go the extra mile. I have personally witnessed many talented people who settled for less than they can give. Employees of that sort are not the ones you are looking for. You need your employees to push past their comfort zone where real success will be achieved. You don’t want to hire talented but unambitious people, they have an overall bad influence.
The Real Programmers
I’m not talking about people who have a certificate in programming; I’m talking about those who know the difference between abstract class and interface and when to use each. Those who can explain the need for a singleton design pattern even with the presence of a static class. A real programmer or developer would not have a problem to switch between J2EE environments, to .Net environment to Python etc… For him\her, it is just a new IDE and syntax.
It’s usually very hard to assess how good of a programmer a candidate is through an interview, but I have listed a couple of hints that can be helpful:
Things to look at in his/her Character
They know more than they are supposed to. They have probably read about technology, but never used or even studied it.
They are the ones who have a lot of startup ideas they dream to execute. Their ambition goes beyond just finding a job.
They have done an overnight at least a couple of times. Note that if they are not willing to do that then they don’t enjoy their work enough.
Anyone can be motivated when they are offered raises and bonuses, that’s not self-motivation its money-motivation. Focus on those who are motivated by their professional image, thirsty for any challenge and are willing to work day and night.
Some people are picky by nature, they have an eye for detail, and would never deliver something if it is not 100% done from their perspective. Those are the ones you should be looking for.
How you should be approaching him/her:
Ask object oriented questions but make them tricky. For example: what’s the difference between an abstract class and interface? Why do we need interface?
Ask them about binary search and ask them to explain the edge of it. Additionally ask them to discuss SOLID principle.
Challenge their previous technical decisions, for example, why they used Entity framework instead of ADO.Net. The purpose of this challenge is to test his/ her response and not to determine which one is better
Give them an internship
The best way to assess someone’s abilities is to evaluate them. Ask them to join for an internship, or give them an assessment to do at home. Check the results and judge accordingly.
Do Your Part…
The above mentioned hints will definitely help you in your recruiting phase, but always remember that training is key. They cover their part, don’t forget to cover yours! It is very important to keep in mind that a talent can only succeed if he\she was mentored and lead properly, otherwise even the best talents can cause huge disasters. Therefore make sure you provide them with regular training and proper guidance.
Stay tuned for my next blog coming out very soon! Now that I have discussed how you can recruit the right developer, my upcoming blog will be a guide for employee learning experience to further develop their talent.