One of the most stressful parts of the interview process for any software engineering job is the dreaded technical interview. You may have some questions racing through your mind in the days leading up to the interview. Some of those questions may go a little something like this…
Is there a coding challenge?
Will I have to code in front of them?
Is there a take-home coding project?
Is there both?
Will I be asked questions about patterns and principles?
What terminology should I brush up on?
How many steps in their technical interview process is there?
What should I even wear?!
Syntax, principles, patterns, methodologies, etc, are all things that people can be taught. Which brings me to the key things I care about when searching for a qualified engineer.
Not your IQ, but your ability to problem solve. How you break down a problem into smaller pieces and ask questions to further understand the entire scope. Knowing how to ask questions is sometimes more important than having the answer. If you can ask open ended questions to uncover more information and break down a problem into bite-sized pieces, then there are few problems out there you can’t solve.
Who are you at the core of your being? Are you kind, compassionate, patient, curious, open-minded? Do you have integrity and humility? Can you raise your hand and say, “I don’t know the answer”, instead of making something up out of fear of admitting you don’t know? I’d rather have someone tell me, “I don’t know, but I can find out”, than someone who tells me what they think I want to hear or are afraid to have intellectual humility.
Pretty simple – are you willing to learn? Some people have bad habits and that’s okay! But if you’re not willing to learn better habits, then you’re likely not a good fit here. If you’re always looking to learn new things and expand your knowledge as well as share you knowledge with others, then you’re exactly what we want!
Notice that this is the last one. It’s because your experience holds the least amount of weight in terms to your fit with our organization. Experience can be given. If you have the above 3, then you can learn everything we need you to know to be able to do the work. Experience still does have some impact, but it’s not at all the most important part that we consider when hiring.
There is one technical interview and everyone that has a say in whether or not we hire you will be in the room. We want to see if you’ll fit in with our team and if you have the qualities we need in order to keep our engineering department running like a well-oiled machine. Bring some projects you’ve done, show us what you’ve been doing, show off! Show us your code you’ve written and what you’re most proud of. We wont ask you to interpret other peoples code or grill you on terminology that serves as a completely useless test. If you don’t know it, we can teach you. If you do know it, then awesome and we’ll hope you want to share your knowledge with others should they ever raise their hand and say, “I don’t know”.