Whether you’re hiring someone in-house or outsourcing your project to a teleconsultant overseas, you have to be able to identify who knows their stuff and who doesn’t. While candidates can seem competent, intelligent, and outspoken, they may not be able to deliver when it comes to actually getting the job done.
Discovering that your software engineer doesn’t know how to code months down the line will be too late as you would have already blown your money and time. As a result, there won’t be any way to recover the hours and resources expended on this charlatan.
There are all types of fakers out there, some are even really clever at memorizing the jargon and carrying on a conversation with experienced coders. At this point, you’ll just have to fire them and look for someone else to come pick up the pieces and get you back on track.
So how do you spot a faker if you’re not a programmer yourself? While it’s best to have a software engineer present throughout the process, here are some solutions that can help.
1. Employ on-the-spot diagnostic tests
While testing is an obvious part of the vetting process, the key here is to avoid questions where answers can be easily regurgitated. The better solution would be to have prospective candidates produce workable programs by engaging in practical coding tasks.
If you don’t know what questions to ask, there are useful resources online like Reddit and Quora where you can get help from industry experts. Furthermore, you can also ask a colleague with programming expertise to go over the results.
2. Dig deeper on what’s listed on their résumé
If a candidate has listed a bunch of technologies, it’s best to dig deeper and ask them questions like information about them, what they built with them, and what they would change if they had to use the same technologies (why or why not).
If you’re already equipped with the answers, ask them to list the major differences between two frameworks or languages that they have listed on their résumé. You can even take it a step further and ask them to draw it out or design something for you (for example, you can ask them to design a database).
3. Question them about real-world implementation
No matter how clean the code is, it means nothing unless it can execute a practical task. One way to catch a fake programmer is to get them to translate encyclopedic knowledge of the latest coding trends into an understanding of how it works in the real-world.
You can also get them to explain how these features can be used to improve an existing framework or system. If they have trouble doing it right off the bat, then they probably never really knew what the current buzz words actually meant.
4. Look out for those who philosophize about code
It’s a good practice to look out for those candidates that like to philosophize about code. These individuals are usually focused on ideology and like to talk about how things should be done.
If you come across this type of a candidate, start asking more questions. If they act like the code is more important than the business value, you are probably dealing with a faker.
5. They can’t or won’t use a standard library (or common third-party libraries)
Look at their past projects, if they have written their own versions of common third-party like strncmp or strnlen, they probably spent at least a third of their time applying functions that were already implemented in the standard C library.
While this individual may know how to code, they don’t have the necessary aptitude to be a software engineer. A professional programmer will look to find a quick and simple solution to every problem. So if someone is always doing it the hard way, you can be sure that you don’t have the right candidate.
6. Practice caution
During the interview process, you might encounter some (over)confident smooth talkers. Unlike most other professions, software engineering is highly skill-intensive and that trumps any self-assuredness or good articulation during your first interaction.
Those who know their stuff will emphasize their relevant skill set without feeling the need to dial up the charm. While all candidates that speak well won’t be frauds, it will be worthwhile to take steps to verify that they have the practical skills to back up their rhetoric.
7. Always look for evidence
It really doesn’t matter how much passion for programming a candidate may display, what matters is evidence to back up what they are talking about.
Often, when you start probing, a candidate who has a real flair for coding will dive deep into woes of programming and how they overcame hurdles that came up. Fakers, on the other hand, will brush any probing questions with generic answers.
While the tips above can help, there isn’t a sure way to completely avoid hiring fakers. As a result, it’s best to have a software engineer and/or a professional IT recruiter engaged in the process from beginning to end to cover all bases and keep the majority of fakers out of your organization.