About a year and a half ago I wrote a ranting post about same old boring technical interview questions. Those pesky hash tables, arrays and trees! Now it’s time to revisit the topic, and enhance it with some useful tips, tricks and insights (a.k.a., hacks) that I’ve observed over the years in software engineering.
Network like crazy! This is probably the most valuable hack in a job search, because great companies get thousands emails from candidates across the globe. While, on the other hand, personal connections will help you to stand out.
Do mock interviews with peers and experts: CareerCup and AnyFu.
Have a killer resume, LinkedIn profile and GitHub portfolio which are relevant and authentic.
Crack puzzles, toy problems and be comfortable with programming on a white board. Chess problems are good at training for the latter.
Have a Google Voice number as your contact. This way you can get voicemail transcriptions via email and use “Don’t disturb” feature when needed, because we all know how persuasive some recruiters might be.
Be nice to recruiters, it’s tough for them out there right now!
Be prepared to answer quintessential interview questions such as “What are your best accomplishments?”, “Why are you looking for a new job?”, “What are your interests?”, etc.
Practice public speaking at meet-ups, in-front of friends, relatives or a cat/dog if you have one.
Brush up on data structures and algorithms, e.g., hash tables, binary trees, Big Os — that’s like 80% of the technical questions!
Schedule interviews early in the morning or right after a lunch time which is around 12–2pm.
Before an Interview
- Take RESCUE Remedy if you’re a nervous type of a person.
- Dress up in a suit and tie unless explicitly told not to — effective way to subconsciously stand out no matter what people wear at that company everyday.
- On a day prior to the onsite interview, go to the office to make sure you know exactly how to get there. Google and Apple maps are notoriously unreliable, and the last thing you want is to be late or stressed out about getting there on time.
- Have a silent room, reliable internet and a good headset — to keep your hands on the keyboard all the time — for phone interviews.
- Research the company — via its website, GlassDoor, CrunchBase and Quora — and people you interviewing with (LinkedIn, Twitter, Google and GitHub).
- Don’t study too much on the night before, instead workout or go for a walk. In addition, try to get a good night’s sleep.
During an Interivew
- Engage in a friendly small talk. For that, knowing about an interviewer, company or just about some recent local events helps.
- Ask extremely smart questions about technical solutions they use, future direction of the company, position you interviewing for and about interviewers’ backgrounds.
- Listen to the interviewers, they might give you some hints for those troublesome toy problems.
- Don’t sabotage yourself by being strongly opinionated. This true in general, but especially in the less familiar to you areas, in which you don’t have an extensive expertise.
- Look for red flags, e.g., happiness level, job satisfaction and culture fit. Even a simple “Do you like working here?” might reveal serious issues.
- Learn how to slow down (e.g., by stopping on details or cleaning a whiteboard) when you need time to think, or how to speed up when your interviewer is running out of time (and you want to make an even better impression on him/her).
- Don’t drink or eat too much, use a restroom before going into the conference/interogation room.
- Have fun at an interview and above all with those tough puzzles! In addition, keep in mind that you probably don’t want to work at a place that doesn’t do a good job at interviewing people, either out of incompetency or a lack of care.
After an Interview
- Don’t get discouraged, because even if the interview wouldn’t land you a job, it’ll prepare you for the next interview.
- Keep in mind that a chance (or dumb luck) could be a major factor in the decision making process.
- Let people on the other side know and feel that you appreciate their time and consideration.
- Send a Thank you for the Interview email or maybe even a snail mail — the ultimate hack in the digital age.
- Have another interview lined-up already. However, don’t do more than one or two a day or two. Needless to say that having multiple offers increases your options.
Good luck and after you get the job of your dreams, send me a note with what worked for you and what didn’t! :-)