Interviewing is an important (if not the MOST important) step in the employee selection process, and asking the right questions is detrimental to determining if an applicant's experience and personality meet the requirements of an engineering role.
P.S.) We’re a BIG fan of skills-based questioning as it's scientifically proven to provide better insight. In fact, all of the questions below have been pulled from Pillar’s library of hundreds of questions (you can even add your own).
*Tell me about a time when you were communicating with someone and they did not understand you. What did you do?
*Give an example of how you carefully considered your audience prior to communicating with them. What factors influenced your communication?
*How do you prefer to receive feedback?
*How do you accommodate last-minute changes that you have to fit in?
*What tools and systems do you use to keep organized?
*Tell me about how you organize, plan, and prioritize your work.
*Describe a time when you had to solve a problem, but didn’t have all necessary information about it in hand. What did you do?
*How do you weigh pros and cons before making a decision?
*Your manager wants to buy new software or hardware that will increase the team’s productivity and asks for your recommendation. How would you reply?
*What do you do to avoid mistakes in your work?
*What methods do you use to check for quality, especially when you have to meet tight deadlines?
*Do you prefer to work for the “big picture” or the “small details”? Give an example that supports your preference.
*Which programming languages are you familiar with? Which ones are you still learning?
*Describe your favorite development project to date and what it was like from start to finish.
*Tell me one of your favorite apps and what you like most about it?
*Describe a project that you had to work on for an extended period of time and how you stayed engaged?
*Tell me about a time your patience was tested at work and how you handled it.
*Most people find it very hard to be patient. How do you manage it?
*How would your coworkers describe you?
*If you could describe the perfect work counterpart, your “right-hand” person, what qualities do they have?
*Tell me about a time when you had to adjust to a colleague’s working style in order to complete a project or achieve your objectives.
*In your opinion, what makes a great problem solver?
*What was one of the toughest problems you ever solved? What process did you go through to solve it?
*Are you the type of person who always tries to solve the problem on your own before asking for help? What’s your process?
*How do you adjust to changes you have no control over?
*How do you approach a new and unfamiliar task?
*How do you keep your skills sharp and up to date?
*Describe a time when you had to think “outside the box” and how did you go about it?
*Tell me about a time when you have had to develop a creative approach to problem solving in order to get the job done.
*What is the most creative idea or project you have generated in your current role? How was it received?
As software engineering is a very technical role, here’s a few additional technical questions to get a better feel for the candidate’s experience.
*How do you implement your error handling?
*What is the software development lifecycle?
*What has your experience been like as part of the Agile software development process, if any?
*What is your process to test and find bugs in an application?
*What is a stack?
*How do you organize CSS files?
*What are some ways to make websites faster?
*How can you make sure that your code is both safe and fast?
*How would you scale access to a system like Twitter?
*What are your most used design patterns and in what contexts do you use them?