Software Engineering interviews aren't all about coding questions. As has been Simple Programmer's message from the start: Your "Soft Skills" can make or break you in your job hunt and your career success as a whole.
Learn how to display the exact behavioral attributes companies are looking for — so you can win at your next interview, and go far as a Software Engineer.
How to answer behavioral questions
Be goal-oriented & socially savvy
When the interviewer is asking you to tell them about yourself, it's not to make small talk -- they're judging you for certain attributes they like to see in a candidate.
By telling compelling stories about your experiences, you can let your favorable qualities shine through without being on-the-nose or coming across as dishonest or bragging.
Know what they’re looking for
The main attributes companies are screening for are:
- Your ability to solve problems while displaying empathy & leadership towards your team members.
- Your passion for achieving goals in service of the company's mission
- Your commitment to your technology and using it as well as you can
- Your personal presentation: How charismatic you are & your communication skills
Prepare your stories in NSAR format
This template for answering behavioral interview questions was created by Gayle McDowell of Cracking the Coding Interview:
- Nugget - tease and give a short summary of your story
- Situation - explain what happened in a succinct, engaging way
- Action - show how you handled the situation, displaying your positive qualities
- Result - let them know what happened because of the actions you took or influenced. Back it up with numbers if you can
Make a grid with your practiced stories
To remember the stories you want to use in your answers, it helps to visualize them in a simple grid. Here's an example layout you could choose (again, this is influenced by Gayle McDowell's work):
Qualities | 1st Job | 2nd Job |
---|---|---|
Leading & Influencing | Cell | Story #1 |
Overcoming Challenges | Story #2 | Cell |
Handling Mistakes | Cell | Story #3 |
Working as a Team | Cell | Story #4 |
Being Successful | Story #5 | Cell |
Want to go deeper? We also have a post on the best strategies and tactics in behavioral software engineering interviews for you to check out.
Most Frequent Software Engineer Behavioral Interview Q's & A's
Let's now get into the questions you'll likely be asked.
You'll find the qualities each question is screening for, how to best approach your answer, and an example answer for all of them.
Screens for
How to
answer
"When I was growing up, I became interested in technology. As I started working on a coding project, I realized: This is what I want to be doing. I went on to study Computer Science. In my work at X company, I am responsible for creating tech software. It's what developed me as a Software Engineer and a leader, and I'm excited to apply my skills on projects Y&Z your company is currently working on."
"Which principles should all Software Engineers follow?"
Screens for
How to
answer
"A principle I try to follow as a Software Engineer is to first do a Requirement Analysis for any project, so we've made sure expectations are set before we dive into development."
"What's a recent technical challenge you've faced — and how did you solve it?"
Screens for
How to
answer
"Why do you want to take this Software Engineering position with our company?"
Screens for
How to
answer
"A few years ago I was working on a tricky bug. I found a post on a company blog where an engineer explained how her team solved the issue. She included a code snippet she’d open-sourced. I appreciated that she took the time to write about her team’s experience and share their solution. It helped me so much!
That’s how I first started getting into open source. I really want to work with more engineers like that—who write about their work and try to help others in the community. So I was excited to see everything your team shares on your blog and on the company’s Github profile."
"Why should we hire you as a Software Engineer?"
Screens for
How to
answer
"What I'm looking for nowadays is somewhere I can apply my Full-Stack skills and enjoy my job while working with my favorite technologies. And I'm also looking for a team with good culture, and a decent salary.
I've done some research and you seem like a friendly company who're doing great things and working on cool projects. If this job is as advertised, I'm all in on it. This is really what I want to do, and this sounds like it could be the right place for me."
"What are your strengths as a Software Engineer?"
Screens for
How to
answer
"My biggest strengths have always been my soft skills and communication ability.
In my current job, I've coordinated difficult projects and built trust with customers. I needed to be on top of my communication skills to pull it off, but we did.
I'd love to put my abilities to work in some of your company's future projects."
"What are your weaknesses as a Software Engineer?"
Screens for
How to
answer
“Sometimes while coding, I can end up digging myself into a hole. Then I almost forget what I was working on in the first place.
This is because I like to understand every concept that I’m working with.
But I realize that’s a weakness, because if we're prioritizing speed, this can get in the way.”
"Where do you see yourself in 5 years as a Software Engineer?"
Screens for
How to
answer
"Let's start by looking back at the last 5 years. I worked for company X doing work with Y technology. Then I transitioned into a role with more responsibility at startup Z.
When switching jobs, I always ask myself: How much can I learn and grow from here?
I can't tell you exactly where I'll be in five years, and what position I'll be in. But one thing I know is that if there's a place I can look back from and say: Boy, have I learned a lot and become a better person since then -- then that's where I want to be."
Screens for
How to
answer
"I've always loved the challenge of solving technical problems using my analytical ability.
Whenever I encounter something difficult that needs solved, I immerse myself in the problem - and I won't quit until it's solved."
"Why did you choose Software Engineering as a Career?"
Screens for
How to
answer
"As I said in my self-introduction, I've always been fascinated by the opportunities technology gives us. And to be able to manipulate technology to create something new for others to enjoy - that's motivating to me.
Software Engineering also offers you endless growth. As I progress in my career, I want to be working on bigger and bigger challenges while creating more and more value."
"How do you stay up-to-date on new technologies related to Software Development?"
Screens for
How to
answer
"As a Software Engineer, it's in my blood to stay on top of new developments in technology. I read tech blogs, developer forums, Stack Overflow and GitHub Trending / Explore, and I follow thought leaders on social media.
I also talk and share ideas and opinions with fellow Engineer friends. In the past I've been to developer conferences and local events to stay up to date with my knowledge and get new ideas.
Developer books and podcasts do the same: X and Y are some of my favorites.
I've also set the goal to take at least one new course per year, and I'm working on learning a new programming language right now."
"How do you deal with a member of your team who disagrees with the work you did as a Software Engineer?"
Screens for
How to
answer
"I have much experience as a Software Engineer and deliver high quality work -- however I think it's also important to listen to what my team has to say, because they might be contributing something valuable as well.
So, I'd be open to hearing why they disagree with my work and their opinion on what could be done to improve it. We're all working for the same organization, and if I have to change something to benefit the team goal, I'm open to doing that if the request is substantiated."
"How do you handle conflict with co-workers?"
Screens for
How to
answer
"As a code reviewer, I had to critique one developer's code, because it didn't follow our standards. The developer then got upset because of my review.
We managed to resolve it -- I told him I understand his frustration, but explained how our best practices can actually make coding more efficient, and promised to stay in touch more during future tasks."