10 Tips to Master the Mysterious Developer Interview

I know every time I had to go for a developer job interview, I had a heck of a time preparing myself. I guess I just didn’t know HOW to prepare. If I were to go for another developer role right now, I think these 10 tips would definitely help.

Guest Post by Abhishek De, Staffing Consultant @ Microsoft.

Are you a self-professed geek looking to land that elusive developer role in your dream tech company? Most product-development companies look for driven individuals who have the raw smarts along with exceptional problem-solving skills to join them as developers.

Even if you use the “right” resume catch phrases: “multi-threaded programming,” “design patterns,” and “architecture,” the lingo alone won’t get you there.

Here’s what will:

Practice. Writing code on paper helps in getting syntax right. Your thinking becomes clearer and the ability to spot a bug during a dry run of code improves. Time yourself. Because interviews are for a limited duration, one needs to be reasonably quick at churning out code. Even if you already write code by the bucketful in your current job, you still need the practice.

Nail the programming fundamentals. Most coding interviews focus on how well candidates are able to write tight, bug-free code on paper and are able to walk the interviewer through the logic of the solution. Writing clean, structured, production-level, syntactically correct code that addresses all corner cases is key.

Know your data structures. When you are approaching a problem, or applying simple operations to data structures, like cloning a linked list or sorting an array, you want to show you are able to use adequate data structure. Be fluent in trees, hash-tables, arrays, strings, linked lists, and so on.

Ask clarifying questions. Whenever you get stuck, use the knowledge of the interviewer to your advantage.

Prepare for puzzles and problem solving. How many cars are there in Hyderabad? These types of questions aren’t typical problems you would encounter in the workplace. You may have solved some when you were a university student. Careercup.com, quora.com, and glassdoor.com offer exhaustive lists of such potential questions.

Show your design skills. For more senior roles, the ability to architect a design solution in an ambiguous setting is what is typically evaluated. We want to see the novelty of the design, the focus on the customer’s needs, and the ability to stitch together smaller components for a holistic solution.

Understand the technology. Candidates need to be able to get into technical details of products or modules they have built, in terms of the architecture, tech stack, user base, etc. Understand how scalable, distributed systems work. If someone has worked in Java, and doesn’t know either struts or servlets, it is definitely a red flag.

Be sure your resume reflects real experience. Do not mention things just to look cool. If you don’t know how MapReduce works in depth, do not put that in, just because you have attended a course on Coursera.

Give yourself time. This is not something you can master in a couple of weeks. Set yourself a realistic target of a month and a half. Remove the cobwebs from the fundamentals, sharpen the coding saw. Connect with friends in the company and get pointers on preparation and sample questions.

Believe in yourself. If you don’t get an offer, take the learnings and start afresh, and one day the dream of working in that elusive company will be a reality.

Abhishek De is a Staffing Consultant for Microsoft. You can find more articles like this on the Microsoft Jobs Blog. Find out what’s it’s really like to work at Microsoft as well as other tips, tricks, news, and job posts on the Microsoft Jobs Twitter.