A Coding Writer’s Guide: How To Smash A Whiteboard Interview In 8 Easy Steps!
Ah yes, it is job hunting season and you just barely beat out all the other bright-eyed web developers to land the first interview at your dream tech company. Things are looking up and you feel great, but then suddenly you get a phone call. It’s your future employer on the other line and she says before you can start making the megabucks you have to come in for a whiteboard interview.
Oh no! Anything but that!
For the uninitiated, the dreaded whiteboard interview is part of a tech company’s way of gauging a person’s ability to problem solve, critically think, work under pressure, and demonstrate communication skills all within a timeframe ranging from 45 minutes to an hour. That may sound like a long time, but at bigger tech companies this can extend from two to six hours! That is six hours of wading in front of complete strangers who are there to essentially scrutinize every single aspect about you. Sounds terribly intimidating, no?
Fortunately, after completing a few whiteboard interviews I have compiled eight very important tips and techniques that may help a young coder fare well at their next interview. Lucky you!
- First things first, never and I mean NEVER jump the gun and dive into code immediately. You don’t want to start writing something and then get stuck and have no idea how to bounce back. Trust me, I’ve been there.
- Write down the instructions. Do so as clearly and as legibly because you need a reference guide to come back to in case you get lost.
- Ask for an example. The more questions you ask, the more information you have to work with and the more easily it will be to dive into the Pseudo Code. Once again, also write this stuff down as it helps you stay on track.
- Pseudo Coding is the main objective here. Ultimately, your employer wants to see how well you do in a situation where pure logic comes into play. If you don’t know what Pseudo Coding is, it basically means writing code without writing it. So no true coding, but the layout or skeleton that can be easily read and understood by the average human. I’ll talk more about this later.
- Test, test, and test some more. Try to test your logic as you go along putting it to the whiteboard. It’ll save plenty of time and heartache when you try to remember which pieces fit where.
- Never finish with “I don’t know”. Even if you are unlucky and got the only question to completely stump you, it is important to show you can navigate a difficult situation. You should always follow up with a way out, even if it seems impossible. Something along the lines of: “I have not used this tech before, but I have done something similar…etc. etc. Here’s how I did it…” This way you provide a solution or alternate method to solve a problem rather than crash and burn.
- Do not ramble on. Take a deep breath if you get nervous, but do not continue to start speaking nonsensically because your nerves get the better of you. That will not help you get the job, in fact I can promise that it will lose it for you.
- Engage your audience! You’re not a robot, or at least science hasn’t advanced far enough to make social interactions obsolete. That being said, make sure you check in with the people interviewing you from time to time. A question for the peanut gallery from time to time will reel their interest back in and keep them captivated. Remember, this is a test on communication too!
Remember when I said I’d talk about Pseudo Coding later? Well, later is now. Pseudo Coding is writing informal high-level descriptions of the operating principles of computer programs or other algorithms. It is structured in the same way a programming language is, but is made to be easily digestible by humans. There is no standard format for pseudo coding per se, and so it does not conform to any conventional syntax rules.
Completing the most detailed pseudo code is the most important part of the whiteboard interview because it conveys to your interviewer that you understand logic, you can explain it, you can think on your feet, and that you can translate it to actual code. You must spend most of your time getting this part down correctly because it lays the groundwork for plugging in the actual code. This means that writing the real code should be the least of your concerns.
That about concludes it. It is important to note that even when following these guidelines, it is no guarantee you will succeed. There is a chance you will still be rejected even if you perform the whiteboard interview flawlessly. As a former technical recruiter I know there are many factors that come into play during the hiring process. This can include: nepotism, politics, hidden agendas, egos, ‘I just don’t like him/her’, and goes on. That being said, just try your best and don’t give up because as we all know, when one door closes another one opens!