The Coding Interview: True Horror
What terrors wait outside the interview room?
The coding interview, such as the sort of technical interview that an applicant might experience at the highest-profile tech companies, can be a source of extreme and unknowable dread, at least for people like myself.
I am primarily auto-didactic, though passionate in my work and highly driven, however I did not utilize any of the traditional methods to gain entry into my field.
Being an outsider certainly has advantages, such as great perspective, and an extreme drive to learn, improve and keep moving forward.
However, there are disadvantages as well.
One such, for me, is that the high-profile technical interview seems to come from a place deep from the infinite abyss, a place of darkness and evil, where Cthulhu, and other ancient and terrible beings might roam.
My next role has always come about as a result of proving myself indispensable in past projects. However, that is simply not how the coding interview works. You just need to know your algorithms, time/space complexities, and you had better be ready with an interview grid, so you can succinctly explain your most important past experiences.
I have personally come to understand the reasoning behind the high-profile technical interview process, and I have learned to respect it.
Understanding technical interviews has allowed me to explore gaps in my knowledge
While I have created many great solutions to complex problems in the past. Preparing for high profile technical interviews, has given me a great deal more perspective as an engineer, by helping me understand the gaps in my capabilities.
Indeed, as a result, I have now become somewhat addicted to improving my technique using methods I hadn't considered before.
So, while I started out frightened, now I am happy that I have taken the time to understand what technical interviewers are screening for, and the point behind the technical interview.
While there should still be more emphasis put on practical accomplishments by interviewers. Pushing myself hard in areas where I was academically weak has allowed me to grow as both a professional and a person.
My suggestion for anyone that is facing a difficult technical interview (and perhaps any software professional), is to push yourself, flex those muscles you haven't used often in your career, use as many resources as you can find (don't be afraid to spend a little money, buy some books, get a website subscription), do code drills, practice often in the interview format, and otherwise take the mystery out of the high-profile coding interview.
Respect the coding interview, but stop being afraid of it.
- Phillip Platt