How to Interview for a Software Engineering Position

Interviewing for a Software Engineering position has points in common with every other job interview situation, but it also has its peculiarities. This article was written both for the new college graduate and for the experienced engineer.


  1. 1
    First and foremost, you're not looking for a job; you're offering your services. Companies aren't interested in giving you a job per se. They have a situation of some kind and want to know if you can provide the solution. Sometimes the situation may be, "we're looking for good all-around programming ability"; more often it's "do you have significant experience with language X (Java, Python, C++) or field Y (CAD, networking, embedded systems)?" Some knowledge in algorithms like big O notation often comes in handy in many cases.
  2. 2
    Familiarize yourself with the company, what it does, and the products it sells. Think about how you could be an asset to the company.
  3. 3
    If you know someone who works at the company already, by all means contact them! Knowing someone at a company means you already have someone who can vouch for you, and is a great advantage.
  4. 4
    If you want a specific job, but don't know the language used, you can still get the job! How? By learning the language yourself, and demonstrating your knowledge to the employer. If you already know a few languages, one more is usually just variations on a theme. An experienced engineer learning a new language is often more valuable to a company than a recent graduate with a couple of years experience. Doing so also demonstrates self-reliance, always a positive trait for an engineer.
  5. 5
    Many companies these days will screen candidates by phone before inviting them to a face-to-face interview. This saves the company a lot of time, as many candidates who "look good on paper" cannot otherwise answer basic questions.
  6. 6
    The initial phone screen may be conducted by a non-technical person. They are looking for answers that match the ones they've been given by engineers. They will not understand subtlety, so don't bother with other than straightforward answers.
  7. 7
    If you pass the first screen (or there isn't one), next comes the engineering screen. Your interviewer will be either the group manager or another engineer. You may be given programming problems to solve over the phone. Have pen and paper ready! Some companies will use on-line whiteboards which you will access from your home computer, and the interviewer will be able to see your code as you write it.
  8. 8
    In this and all interviews, make sure you understand the question! Repeat it back to the interviewer to make sure you're solving the question that was asked. Ask questions to clarify the parameters of the problem; answer questions succinctly.
  9. 9
    If you passed the engineering screen (or there wasn't one), the next step will be the in-person interview. Companies often schedule a half-day for a first interview, with the candidate meeting four or five engineers, and possibly the manager, with each meeting running 45-60 minutes.
  10. 10
    Get a good night's sleep the night before, and eat a good breakfast.
  11. 11
    Always wear a suit (or similarly conservative dress for a woman) to an interview unless you have been specifically told otherwise. Shine your shoes, brush your teeth, wash your hair, etc., and in general look "properly assembled". Women: no big, dangling earrings, low-cut dresses, or other cocktail-party clothes. In general, the image you present should be of understated competence. The real test, of course, is in the substance of the interview, but you don't want to prejudice the interviewer against you to start with.
  12. 12
    Be on time for the interview, or a few minutes early. Better to get there 45 minutes ahead of time and listen to your car radio for 40 minutes, than to get there 15 minutes late. First impressions count!
  13. 13
    The person you will meet first is often someone from Human Resources. They may give you an overview of your interview schedule, and may even (if you're lucky) coach you a bit about what's to come. They will then hand you off to your first interviewer.
  14. 14
    During your interviews, try to be emotionally centered and relaxed. Listen carefully to questions, answer succinctly, and don't jump the gun.
  15. 15
    Programming questions tend to start off easy and get harder as you progress. Explain your reasoning as you go, and always make sure you're answering the question asked. Ask questions if you need to. If you get really stuck, ask for a hint.
  16. 16
    Architecture and design questions tend to be naturally looser, and imaginative solutions count for a lot. Try to strike a balance between generality and specificity.
  17. 17
    Some questions may involve solving logic puzzles that aren't programming-specific. Again, make sure you understand the question correctly before proceeding, and, without rambling, let the interviewer know your thought process. Questions of this kind are often about understanding how you approach problems as much as they are about finding the right answer.
  18. 18
    If you're given a question already asked by a previous interviewer at the company, inform them of that immediately! They may be testing your honesty.
  19. 19
    It's OK to say "I don't know" to an interviewer's question, but you should never leave it at that. Ask more questions if they may help you get to an answer, or otherwise explain how you would find information to answer the question.
  20. 20
    When offered something to drink (water, soda, coffee, tea), say yes. You'll probably need to wet your whistle from time to time.
  21. 21
    Ask engineers about their responsibilities and what they like about the company.
  22. 22
    Ask managers about the company, the products you'd be working on, and their "management style". Show interest in the product by asking intelligent questions about it.
  23. 23
    Don't be afraid to ask for feedback from an interviewer at the end of a session.
  24. 24
    Save questions about benefits for HR. Ofttimes you may touch base with the HR person again at the end of your interview day.
  25. 25
    At this stage, a few companies may be ready to make you an offer. If so, skip down. If not, you will, we hope, get a phone call that goes something like this: "Hi, Sam. We really enjoyed talking with you the other day and would like to invite you back for a second interview. There are a couple more engineers who didn't get a chance to talk with you the first time [and/or] we'd like you to meet the manager/director/vice president/president. When are you available to come in?"
  26. 26
    The second interview may involve more engineers, but more often involves your boss's boss, their boss, and a longer session with HR. It is almost always less technical than the first, and is more a formality to make sure the manager has the necessary approvals to extend an offer. Often, people's schedules dictate who will be there and who won't, and you might need to come back a third time to meet the company president.
  27. 27
    When asked about salary, if you're a new graduate, just ask for "a competitive offer".
  28. 28
    For someone more experienced, give a salary range if pressed for a number. Don't give a lower end that's lower than what you're willing to accept.
  29. 29
    It's OK to answer the question, "What was your most recently salary?" But in general, defer questions about salary until it's clear that the company is seriously interested in you.
  30. 30
    Always ask for stock options!
  31. 31
    If, by leaving your present position, you'd lose your vacation seniority, ask for the same number of vacation days per year to start.
  32. 32
    It's especially good if you have an offer from another company. Don't reveal the name of the other company or the details of the offer; just the fact of its existence will strengthen your position. You can talk about it in general, and how you'd weigh the comparative strengths and weaknesses of the offers, but it's a tricky negotiation.
  33. 33
    When the company makes you an offer (yay!), it'll usually be within a week or so after your final interview. A formal offer letter will be sent by snail mail. It will have an expiration date a few days in the future. If you're sure, call the manager to accept. If not, reply with a counter-offer, but be sure it's one that's within the realm of possibility.
  34. 34
    Most of all, good luck!


  • We haven't talked about resumes here, because that's a whole topic in itself. Probably the hardest thing for engineers is to realize that a resume is marketing document, not a core dump. See the excellent wikiHow below for guidance.
  • Do try to get your resume directly to the hiring manager, skirting HR; their job is more to filter resumes out than to count yours in.

Article Info

Categories: Interview Skills | Engineering