The fundamentals of algorithms and data structures do tend to be the focus on many technical screenings, says Vivek Ravisankar, CEO and co-founder of HackerRank, but those basics can be learned with some easily accessible resources and a bit of time investment.
“There are certain core basics that tend to be the focus in tech screening interviews, and that fundamental knowledge is still essential. But what we thought was great to see was even though junior developers do better on these basics -- probably because they’d learned them in school more recently -- experienced developers do just as well, and even better, on these basics with just practice,” Ravisankar says.
What that means is that self-taught developers can perform just as well as their college-educated peers as long as they are practicing and acquiring new skills and knowledge.
“Algorithms and data structures are topics that are the focus of so many of these interviews, and yet they are rarely necessary in real-world situations. But for self-taught programmers, you will gain this knowledge and experience with some basic study and if you’ve been working in the field already -- companies won’t know the difference,” says CodeFights’s Sloyan.
Companies also aren’t necessarily looking for one “right” answer or one specific outcome of their technical screenings, says McDowell; many are looking for soft skills and for evidence of how a candidate goes about solving problems and resolving issues.
“Interviewers might think they’re evaluating candidates strictly on their technical merits, but they are really also evaluating how candidates talk about what they’ve done in the past as well as what they’re doing when they’re solving problems. Blind coding challenges can not only provide a benchmark for technical aptitude, but can help candidates get more comfortable with documenting their problem-solving processes,” says McDowell.
Where many self-taught developers do come up short is in the areas of solution design and writing clean code, Sloyan says. Again, it’s helpful to do some reading and studying of the fundamentals of computer science to get a sense of how to design solutions, and he also recommends finding a friend, a colleague or a professional mentor who can help review your code for errors, bugs and general sloppiness.
“This is something you really learn from having others review your code; in a professional situation, there’s normally one or two senior engineers, or QA engineers, who review your code to make sure it merges seamlessly with production. Find a friend, or someone you work with who can sit down and help you do a code review, both to improve the cleanliness of your code and so you get comfortable receiving feedback from peers and superiors,” Sloyan says.
Sign up for CIO Asia eNewsletters.