How to Spot a Good IT Developer
James Graham, PMP Ta' l-Ibrag, Malta
Software project managers know that project success rests on having excellent developers. How do you spot stellar performers in the applicant herd?
Before new candidates interviews, talk to your best developers. Have them reaffirm the specific knowledge needed. Is experience with a particular development lifecycle, a specific methodology, special toolsets, or definitive sector knowledge (experience in the defense industry or the pharmaceutical sector) preferable, or mandatory?
Assess knowledge. Mix interviews, involving you and trusted representatives from your development team, with theoretical tests. A good software engineer will be able to fix “mock” syntax errors immediately and without any mental stress. He or she can read other people's code and understand its intent without extensive documentation or glyph by glyph translation. When presented with a programming problem, your candidate should be able to spot it and then describe it in both “developer geek” and in language appropriate for non-information technology stakeholders.
We all think “more is better” when hiring programming skills. But how do we define “more”. Although a candidate may have excellent knowledge, this person may not yet have developed the finesse to employ it effectively. A recent graduate, or newly trained developer, may struggle to apply the theoretical knowledge gained in an educational context when facing a demanding real world project. When tight deadlines squeeze the time to explore solutions, and intense pressures from the client and other stakeholders loom, you need experience on top of raw knowledge.
Ask the applicant/developer to write code for review by you and your team. After analyzing the code and talking with your trusted developers, you will sense whether this person's approach and style will fit you team.
Consider the candidate's attitude towards work, co-workers, clients, and stakeholders. I once worked with a developer known as, ‘The Hair Dryer’. Legend has it that when he was upset, he could blow people's hair dry with his shouting. He was an excellent developer, but a detriment to a project team.
As the world moves towards agile development methodologies, cross-functional communication and soft skills will increase in importance. Developers will find themselves working in small teams with people from elsewhere in the organization. How well will your potential new teammate represent you when unleashed into the wild? Follow these simple guidelines when hiring software developers.
- Screen them, to check for the right knowledge of development lifecycles, methodologies, toolsets, and their industry/sector familiarity.
- Test them, to see a demonstration of their ability to apply their knowledge in your workplace.
- Check out their communication and social skills.
- Look for the right attitude towards the work; a balance of desire to create high- grade products while accepting the project constraints. Is there documented evidence that they can produce products that are “fit for purpose”, on time, and within the budget?
No matter how personable and skilled your applicant, always verify credentials with the issuing institutions and check out resume entries with the former employers. Careful hiring practices may prevent a multitude of future problems.