If you are preparing for a technical interview you should be coding every day. It can also be helpful to get some practice with the mechanics of solving code challenges. Finally, review the following, and prepare to demonstrate your ability to problem solve and code. Below we detail 6 tips to help software developers pass their technical interview. Your ability to pass the technical interview could be the key determining factor on whether or not you will get hired for that software developer position.
Be honest and candid about your experience. You are typically interviewing with folks that are more senior to you and with that experience comes the ability to quickly detect BS. If they think you are not being genuine, they may question your credibility with all of your experience. At the very least, it could make your interview very uncomfortable. Don’t list anything on your resume that is not 100% accurate and true. If anything, you should be underselling. Ensure that the interviewer can gain an accurate (or even somewhat underestimated) assessment of your skill level throughout your conversation. You don’t want to get an offer only to be fired a week into the job because you cannot do the work.
Don’t refuse to answer questions
If they ask you a question and you don’t know, try to avoid saying simply “I don’t know.” I have many times been in situations where candidates refuse to try to answer a question. It is a strong signal to me that the individual may be willing to give up early in the face of adversity. Even if you don’t have a clue, saying that “I don’t have much experience with…” is a way more positive way to phrase “I don’t know”. And it may give you an opportunity to pivot and talk more about things you understand well. Be willing to guess and tell them so! If you have an unfamiliar term you should do your best to explain what you think it means and get the partial credit. It may turn out that you understand the concept fully and have just been using different vocabulary for it.
Use console logs or tests
If you are asked to pair program, don’t code without using the normal workflow of console logs or unit tests. You are likely to put a lot of code into the editor attempting to solve the challenge only to realize that it is not working as intended. It can be much harder to troubleshoot when you have to work backwards through all the code with no checkpoints for what is working. Instead, you should try to get a working skeleton of a solution with some sort of valuable output that you can confirm things are working. Unit test or even just inline assertions are better than console.logs if you can manage them in the language you are using.
Avoid a lack of clarity
I have many times had candidates launch into solving a code challenge only to have them stop and ask for clarity about all of the edge cases and constraints. Make sure you ask questions up front so that you get clarity before you begin writing code. It will save you some time to give your algorithm some thought and consideration before you begin coding. If you are white boarding or coding in an editor make comments that you can refer back to, so you remain clear on the edge cases.
Keep it simple
Complex and over-engineered solutions to simple problems can give the impression you are trying to impress instead of solving the problem in an efficient way. If you are looking for an optimal solution, you should be prepared to explain how your code is more maintainable or easier for other humans to read. Try to avoid injecting personal opinions,and err on the side of using simple and elegant instead of fancy or terse syntax. You want to signal that you are competent and willing to be reasonable with your approach to problem solving.
Don’t be Negative
If you are faced with describing problems or difficulties, you should focus on the lessons learned, or how you overcame instead of how unfair the situation may have seemed. Finding a positive way to discuss how you make progress and overcome challenges is not just about phrasing. Be cautious about over selling the hardship and invest time in describing the solution.
Are you ready to learn how to code in as little as 12 weeks? Schedule an in-person tour now!