How to vet self-taught developers
- select the contributor at the end of the page -
Traditionally, you went to college, learned some stuff and then you applied for a job. Transcripts, the prestige of your alma mater and professor references would help a hiring manager decide whether or not to bring you in for an interview. Times have clearly changed.
The workforce is growing with groups of self-taught people. Each day, more folks are growing their skills online and pushing themselves to learn new technologies in order to find their dream job. Given this, we were curious to find out if it’s more difficult to hire self-taught developers over those who have a degree. Here’s what we found.
Advantages of hiring self-taught developers
We spoke with some hiring managers (who also happen to be developers) to find out what they look for in a self-taught developer. Most of the devs said they look for the same qualities in developers, self-taught or traditionally trained. One hiring manager noted, “I don't particularly care how someone acquired their knowledge, just that they have, and that it includes things that will make a project successful.”
Of course, there are advantages to hiring someone who’s self-taught. They’ve proven that they have a passion for learning and programming -- and the self-motivation required to learn a programming language on your own is remarkable. Plus, a traditional degree-based program can be slower to adapt to newer technologies. A degree really only proves that an applicant has learned fundamentals of a subject matter and can be taught. You might get applicants who went to an expensive, well-respected school, but have no idea what they’re doing.
The deciding factor
First, you really need to decide what kind of developer would work best with your company. Do you want team players, rockstar ninjas, quiet developers who work well from 9 a.m. to 5 p.m.? Or maybe a developer who can stick with a large project from start to finish, or a developer who works best on smaller projects? Whatever you decide, that’s how you’ll need to craft your interview questions.
For example, a number or self-taught devs might not understand theory or complexity. If that’s not something you’re looking for in your developers, then don’t sweat it. Or maybe you’re hiring for a start-up where performance isn’t as big of an issue (of course, if your startup takes off, this will become a concern).
If you need the new hire to be a part of a team, you should strive to find out whether or not the candidate has worked successfully with other programmers (particularly those who weren’t self-taught). Since they’ve probably worked mostly on their own up to this point, it’s important to investigate whether or not they have any bad habits they might have developed during that solo period.
Find out if they have solid analytical skills and good instincts for algorithms and performance; some self-taught devs lack these skills, according to one hiring manager we spoke with. A way to test this is by giving potential hires a coding test that can be completed in under an hour.
Pair programming is also a handy way to see how well the applicant would work with others, especially if pair programming is already what you practice. Have candidates write code along with the interviewer on the same machine.
The bottom line here is that you should determine what kind of developer – whether self-taught or traditionally trained – will help your team before you evaluate them. Once you’ve taken this initial step, you may very well find that a self-taught developer could be just what your company needs.