Audible Software Engineer Interview Questions

5 killer questions software engineers should ask on their next job interview. Regardless of how often you find yourself going on a job interview, these five questions every software engineer should ask will help determine if you'll be happy for the long term.
✓ Working in a startup is very different than being at a more established company. You want to make sure a candidate is a good fit for your company environment and expected workload that comes with working in a startup. What to look for: • Company fit • Ready for startup life • Understanding of expected workload Example: 'There is something to be said for the predictability of working in a more established company with it's set goals and office hours. However, I must say I really enjoy the unpredictability and excitement of working at a startup. Yes, the hours are long and everything moves at a breakneck pace, but there's nothing quite like building something from scratch and seeing where it goes.' ✓ It helps to understand how a candidate feels about what makes someone the best in their career and how they feel about their skills and what makes them a good or great software engineer.

What to look for: • Thoughts on software engineering • Their idea of greatness • Honesty and introspection Example: 'A great software engineer has a healthy balance between perfectionism and pragmatism. Too often engineers want their code to be perfect, while losing sight of the overall goals of the project.
A great programmer also learns not to fall in love with their own code, to keep a healthy skepticism until it's been thoroughly tested, making sure it is the right choice for the project at hand. And yes, I believe have the qualities of a great programmer, though working on my need to be perfect is an ongoing battle.' ✓ While there's no definitive right or wrong answer to this question, it is designed to test an applicant's knowledge, how well they articulate their debugging process, and whether they're a victim of tunnel vision or can they keep their focus on the project at large. What to look for: • Attention to deal • Debugging skills • Problem-solving ability Example: 'Some things you want to look for when reviewing a team member's code is its functionality and how readable it is. Is it secure, or are there obvious flaws that would cause security problems and make it easy to hack? Is the code simple, or are there a lot of unnecessary line of code that needs to be removed or rewritten?
Does it meet the regulatory requirements in place for the project, and is it optimized to not be resource-heavy?' ✓ There are different opinions on what makes good software engineering, and those opinions guide a company's culture.
This question will allow you to see if the candidate's philosophy on engineering matches your own. What to look for: • Thoughts on software engineering • Applicant's coding philosophy • Critical thinking skills Example: 'I think one of the main principles of software engineering, and one I try to live by, is to keep things as simple as possible. 
You're often already dealing with complex algorithms and design concerns, so no need to make things even more difficult with overly complicated, resource-heavy code. Your code should be simple, lean and easy to read. If you start there, the rest will follow.' ✓ This question is designed to test a candidate's knowledge and thought processes when it comes to design and solving common project specific problems. What to look for: • Test applicant's knowledge • Problem-solving skills • Understand their approach to design Example: 'You design scalable projects by writing as little code as possible.