Finding a new job can be a long process that takes weeks… or even months. This tedious process becomes amplified for software engineers. Since software engineering is a hard skill, most companies try to devise various ways of assessing that skill during the interview. This adds more time, layers of complexity, and obstacles to the job seeking process.
At CodeFights, we help software engineers practice and improve their skills through our gamified educational platform. We also connect them to hundreds of top companies when they’re ready for their next adventure. This means that we get to see what technical interviews are like across many different companies and what developers can do to increase their chances of success.
Top 5 tips for technical interviews
We’ve taken what we’ve learned and distilled it into 5 cardinal rules for engineers who want to make the interview process less painful and score their dream job:
- Practice using real interview questions! Great developers often think “This is what I do for a living and I’m good at it”. This makes it tempting to walk into an interview without having practiced much. But the reality is that the interview questions you’ll face at most companies are miles away from what you do at your day job. Doing some research and practicing using real questions that the company uses in its interviews will pay off big-time during the actual interview. There aren’t many high-quality free resources available for this, so we’ve tapped into the knowledge base of our large community to create Interview Practice. Interview Practice is a collection of real interview questions asked at top tech companies, categorized by company and by topic.
- Ask a lot of questions during the interview. Some engineers think that asking questions is a sign of poor skill or a lack of understanding, but in reality it’s the opposite. Most questions that you’ll be asked during technical interviews are intentionally vague. The interviewer’s goal is to see if you can ask the right questions before diving in. The worst thing you can do during a technical interview is solve something that you weren’t asked to solve! So ask questions until you are absolutely sure you have all the details.
- Use the collective knowledge of your own network and information from sites like Glassdoor to find out what the interview process at the company is like. At some companies (like Google), you interview with 4-5 people onsite and they all have to say “yes” for you to be hired. At others (like Oracle), you still interview with 4-5 people, but they are all on different teams. As long as one says “yes”, then you’re in. Knowing what you are dealing with and what the thinking process behind the scenes is will dramatically improve your chances of doing well in the interview.
- Apply to as many companies as you can. Some candidates make the mistake of only talking to a few select companies. They’re basically trying to hit a bullseye with only a few shots! This only works in theory. In practice, it’s very hard for you as an outsider to understand what a company is like and what they work on. So interviews are also a way for you to interview the company and see if it’s something you are ready to commit to. On top of that, doing more interviews provides you with much-needed practice. And when you finally get to the offer stage, having several offers helps you negotiate the best compensation package.
- Be mentally prepared for a negative outcome. Interviews are run by human beings, and human beings tend to be quite subjective. So no matter how good you are and how much you prepare, most of your interviews are going to have a negative outcome. You have to be mentally prepared for this. Many candidates take it very personally when a company comes back to them with a “no”. By setting realistic expectations at the outset and treating each interview as an experience to learn from, every “no” you receive – and you will get some! – won’t feel like the end of the world.
Job interviews are inevitably stressful. Engineering interviews are even more so because they try to directly evaluate your skills. It’s natural to be nervous, but the more you prepare, the better equipped you will be to ace whatever the interviewer throws your way.
At CodeFights, we try our best to keep our interview process interesting and fun, and we’re actively growing our team. Are you passionate about changing the future of education and talent discovery? Check out our jobs page and apply!
What are your sure-fire interviewing secrets? Let us know what you think on the CodeFights forum!