Discover more from The Caring Techie Newsletter
5 signals I’m looking for when interviewing software engineers
Based on hundreds of interviews for Big Tech companies and startups
Throughout my 14-year career in Tech, I’ve interviewed so many software engineering candidates I lost count of—probably over 400 if I were to eyeball it. I’ve also been on hundreds of interview panels and hiring committees.
In today’s article, I’m going to share the 5 most important non-technical signals that I pay attention to when making my hiring recommendation.
Why this matters
Whether it’s for Big Tech companies (such as Google and Uber) or startups, a coding round, or a systems design interview, my job as an interviewer is to assess whether a candidate will be successful in the role they’re interviewing for.
In a technical interview, solid technical skills and software engineering fundamentals are a must. However, that’s just half of the picture.
My goal is to also determine if I can work well with the candidates and if they will be effective in my team. I want to assess their trustworthiness, ability to handle uncertainty, and communication skills. I said this before and will say it again, software engineering is a team sport, and the best hires are team players.
Without further ado, here is what I’m looking for.
1/ Asking questions
I purposely leave room for ambiguity in my requirements. Real-life problems are rarely clearly defined. Is the candidate going to notice it? Are they going to replace the ambiguities with their assumptions or are they going to ask me for clarifications?
My advice: Reflect the problem statement to the interviewer using your own words to make sure you fully understand the requirements. Be aware of assumptions and validate them with your interviewer by asking additional questions.
2/ Tradeoff thinking
I can’t stress this enough: software building is rarely about the right or wrong solution, it’s about picking between multiple potential solutions, some more appropriate than others depending on the situation.
Factors such as engineering resources, costs, time for development, scalability, and maintainability must be considered. I’ve seen candidates choose a technology just because that’s what they’re an expert in, but it wasn’t the appropriate choice in that case. Don’t be that person.
My advice: Present multiple solutions and justify why you think a specific one is the best. Explain what you’re trading off by making that choice. Another way you can think of this is in terms of “pros” and “cons”. Even if a solution is obvious, think what could be a “con”, and the other way around when a solution won’t work, think of a “pro” argument. Trust me, it helps!
3/ Ability to articulate their thought process
When a candidate can articulate their thoughts, it tells me multiple things:
that they have a sound structured thought process
that they can communicate it clearly
that they can work with others to get on the same page.
This is very important for assessing trust and collaboration skills.
My advice: Break down your thinking process into smaller steps. Practice thinking out loud when interview prepping. Do mock interviews with folks who can give you feedback on how clear your communication is. It’s okay to think about the problem in silence, but also engage with your interviewer as much as you can.
It’s okay to admit when you’re not familiar with the details of a certain technology. What I don’t like is when people give me hand-wave explanations using concepts they don’t have a solid grasp on. This is a sign of high ego / being very insecure, which is always a red flag.
My advice: Stay humble and admit when you don’t know. It’s totally okay to say: “I don’t have a lot of experience with X”. Honesty and humility go a long way in my books.
5/ Receptivity to guidance
An interview is a collaborative experience. As an interviewer, I want to see if the candidate and I will be able to work together. It’s less about them having the perfect answer. I want the candidate to feel comfortable, so I will provide input and questions to steer them in the right direction. I want them to succeed!
When candidates are resisting guidance, what it shows me is that they’re not actually listening to what I’m saying. I’ve worked with people like this and it’s a massive pain. Listening skills are key for collaboration.
My advice: Don’t get stuck in your head, and listen to your interviewer when they’re trying to guide you.
Engineering interviews are challenging, the stakes are high and the pressure is palpable. I know, I’ve been on both sides of the interviewing table numerous times.
Approaching interviews with the right attitude can go a long way: stay humble, ask questions, think in tradeoffs, communicate what you’re thinking of, and listen to your interviewer and you’ll do great! I’m rooting for you!
Until next time,
Your Caring Techie
If you found this article useful, please share it with a friend and consider subscribing if you haven’t already. For more similar content, follow me on LinkedIn. If you have any questions, email me at firstname.lastname@example.org. Thank you!
Join 7600+ Caring Techies to receive new posts straight in your inbox. To support my work + other perks, please consider becoming a paid subscriber 🙏🏻.