Software Engineer Interview Guide - Behavioral Questions
You now know how to ace data structures and algorithms questions, but you’re not sure how to tackle the second most common kind of software engineering interview questions: Behavioral questions (otherwise known as “cultural questions”). Well, you’re in luck, because this article will teach you how to do just that. To start off, let’s go over the core signals you need to show when answering these questions.
- You’re passionate about software engineering
- You’re passionate about the company you’re interviewing for
- You work well with others
Whenever you’re answering these questions, every single word you say needs to go towards showing one of these 3 core signals. Now that we have that out of way, let’s put these ideas into practice by going through how to answer 5 of the most common behavioral questions.
“So tell me about yourself”
This isn’t a “blank check” question where you just get to ramble on about whatever niche hobbies you have. The best use of this question is to show core signal #1. The easiest way to do this is talk about how you got into programming and what made you stick with it. Talk about what brings you joy during software development, whether it’s solving complex problems or building delightful product experiences for people. Show the interviewer that you aren’t just in software engineering for the money, and you’re driven by a legitimate love for the craft. As I mentioned with my article on building effective products, the most powerful asset you can have is passion. That’s why this question and all the other behavioral questions aren’t really that hard once you have the proper mentality going into them. There’s no specific right answer you need to memorize; you just need to show that you’re passionate.
For reference, here are the major notes I hit when answering this question:
- Android development pulled me in, because I could see my work come to life on this little device I always had on me.
- Android empowers me to very directly help people with my side projects, which I always make free, ad-free, and open-source to maximize their positive impact.
- Reading positive user feedback warms my heart and is the main thing that keeps me going. At a higher level, this is the fuel that keeps me in software in general.
“Why do you want to work here?”
This question is obviously about core signal #2. If you have prepared for the interview properly, you should at least have a rough idea of what the company does. The main thing you need to do now is connect what the company does to your life in some way. There are also 2 connections you can make here:
- Connecting the company’s product to yourself or people you care about
- Connecting the company’s technical stack to your passion for software
When you just talk about how great the product is (the number of features it has, its large userbase, etc), that’s just meaningless empty talk that anyone can do. Let’s say you’re applying to a cryptocurrency company. Don’t just talk about how crypto is cool, because it’s recent tech. You should talk about how you’re passionate about helping the under-banked and under-served (if you faced economic hardship growing up, this would be a beautiful experience to weave in here as well), which is why you love cryptocurrency’s ability to democratize finance. When I interviewed for Facebook, I talked about how Messenger and WhatsApp connected me to my closest friends.
If you’re passionate about software (core signal #1), you should always be aiming to grow yourself as a software engineer and develop more skills. This is how you can weave in core signal #1 into your answer for this question. Every company thinks it’s solving a hard problem, so talk about how you’re excited to improve your skills solving those problems. For Facebook, I talked about how I was super excited to learn how to scale Android apps to billions of users, particularly those in emerging markets who may not have the best phones.
“Tell me about a weakness you have”
Similar to “tell me about yourself”, do not be naively honest with this question and just talk about something you suck at. On the other hand, don’t try to cheat this question by giving a fake weakness like, “I care too much” or “I work too hard”. Your goal here is to show core signal #3. One of the necessary attributes for any team player is that they need to be open to feedback and always be striving to improve themselves from that feedback. This is how the vast majority of weaknesses get discovered; they negatively affect the people around you and the feedback eventually flows back to you.
Therefore, your goal with this question is to talk about a weakness you had concerning your work life, how you realized that it was dragging your team down, and what you did to get better at it. For this question, I talk about how I sometimes get tunnel vision and stubbornly drill down a specific path. My example here would be when I wanted to architect an Android app a certain way, but my team disagreed with me. We had several heated meetings in order to reach a conclusion, and by then, the team’s overall morale was down. From that, I learned that there’s more to a problem than just getting the right answer: You need to take the team’s morale into account as well. The health of the team is an asset in and of itself, and sometimes you need to make decisions you don’t agree with for the long-term future of the team.
“Describe a time where you had to resolve a conflict”
This is obviously for core signal #3. The 2 main ways I see people fail this question are as follows:
- They’re simply unprepared for this question and have nothing to say
- The conflict they talk about is either a lie or not a real conflict, since it was resolved way too cleanly
A real conflict is messy and doesn’t have some easy silver bullet answer. Most of the time, you aren’t even finding the right answer to these; you’re just finding the answer that hurts everyone the least. The important thing when giving an answer to this question is to show your empathy. A conflict by definition needs multiple parties, so in order to resolve them, you need to put yourself in the shoes of each party and understand where they’re coming from. Talk about the pain you felt for the people who didn’t get what they were looking for from the conflict when it reached its conclusion. Talk about how you worked to bridge the gaps and bring out the empathy in others.
For this question, I talk about how I worked with designers to also have Android mocks instead of just iOS mocks. I mention how I built off of the common ground of empathizing with and helping users by pointing out Android’s dominant presence in emerging markets where the users are most in need of quality products and experiences. I then talk about how I made the designers’ lives as easy as possible for this “understanding Android” mentality shift by providing them with Android devices and setting up the app for them, so they can just play around with it without any friction whatsoever.
“Where do you see yourself in 5 years?”
This question is a blank slate for you to show any one of the 3 core signals. The main hurdle for this question is simply having a real answer. Something to keep in mind is that you don’t need an ultra specific life plan to answer this question. If you legitimately have at least one of the 3 core signals mentioned above, you can turn that into an answer to this question. If you’re passionate about software, you can talk about how you want to build more complex software for more users. If you’re passionate about the company, you can talk about the impact you want to have within it. If you’re passionate about working with others, you can talk about becoming a tech lead or an engineering manager. As mentioned before in this article, your goal here is to show that you have some sort of drive and you’re not just somebody who soullessly clocks in and out.
Back when I was interviewing, I would respond to this question by talking about my goal to become an engineering manager so I can better take care of and grow people. I also talked about how I want to continue working on Android, because it lets me stay close to the user experience and allows me to ship my work to as many people as possible.
If you’re someone who has struggled with behavioral interview questions in the past, I hope these concepts and examples help you with them in the future. If I were to sum up this entire article in 1 sentence, it would be to come prepared and show your passion.
For more high-quality resources around interviewing, check these out:
Comments ()