How to Interview for a Software Engineering Position

Understand you're not looking for a job; you're offering your services., Familiarize yourself with the company, what it does, and the products it sells., If you know someone who works at the company already, by all means contact them!, Understand...

63 Steps 5 min read Advanced

Step-by-Step Guide

  1. Step 1: Understand 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 than 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. Step 2: Familiarize yourself with the company

    Think about how you could be an asset to the company. , Knowing someone at a company means you already have someone who can vouch for you, and is a great advantage. , 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. , This saves the company a lot of time, as many candidates who "look good on paper" cannot otherwise answer basic questions. , 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. , 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. , 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. , 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. ,, 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. , 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! , 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. , Listen carefully to questions, answer succinctly, and don't jump the gun. , 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. , Try to strike a balance between generality and specificity. , 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. , They may be testing your honesty. , Ask more questions if they may help you get to an answer, or otherwise explain how you would find information to answer the question. , You'll probably need to wet your whistle from time to time. ,, Show interest in the product by asking intelligent questions about it. ,, Ofttimes you may touch base with the HR person again at the end of your interview day. , 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 we'd like you to meet the manager/director/vice president/president.

    When are you available to come in?"

    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. ,, Don't give a lower end that's lower than what you're willing to accept. , But in general, defer questions about salary until it's clear that the company is seriously interested in you. ,,, 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. ,), 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. ,
  3. Step 3: what it does

  4. Step 4: and the products it sells.

  5. Step 5: If you know someone who works at the company already

  6. Step 6: by all means contact them!

  7. Step 7: Understand that if you want a specific job

  8. Step 8: but don't know the language used

  9. Step 9: you can still get the job!

  10. Step 10: Many companies these days will screen candidates by phone before inviting them to a face-to-face interview.

  11. Step 11: The initial phone screen may be conducted by a non-technical person.

  12. Step 12: If you pass the first screen (or there isn't one)

  13. Step 13: next comes the engineering screen.

  14. Step 14: In this and all interviews

  15. Step 15: make sure you understand the question!

  16. Step 16: If you passed the engineering screen (or there wasn't one)

  17. Step 17: the next step will be the in-person interview.

  18. Step 18: Get a good night's sleep the night before

  19. Step 19: and eat a good breakfast.

  20. Step 20: Always wear a suit (or similarly conservative dress for a woman) to an interview unless you have been specifically told otherwise.

  21. Step 21: Be on time for the interview

  22. Step 22: or a few minutes early.

  23. Step 23: The person you will meet first is often someone from Human Resources.

  24. Step 24: During your interviews

  25. Step 25: try to be emotionally centered and relaxed.

  26. Step 26: Programming questions tend to start off easy and get harder as you progress.

  27. Step 27: Architecture and design questions tend to be naturally looser

  28. Step 28: and imaginative solutions count for a lot.

  29. Step 29: Some questions may involve solving logic puzzles that aren't programming-specific.

  30. Step 30: If you're given a question already asked by a previous interviewer at the company

  31. Step 31: inform them of that immediately!

  32. Step 32: It's OK to say "I don't know" to an interviewer's question

  33. Step 33: but you should never leave it at that.

  34. Step 34: When offered something to drink (water

  35. Step 35: coffee

  36. Step 36: say yes.

  37. Step 37: Ask engineers about their responsibilities and what they like about the company.

  38. Step 38: Ask managers about the company

  39. Step 39: the products you'd be working on

  40. Step 40: and their "management style".

  41. Step 41: Don't be afraid to ask for feedback from an interviewer at the end of a session.

  42. Step 42: Save questions about benefits for HR.

  43. Step 43: At this stage

  44. Step 44: a few companies may be ready to make you an offer.

  45. Step 45: The second interview may involve more engineers

  46. Step 46: but more often involves your boss's boss

  47. Step 47: their boss

  48. Step 48: and a longer session with HR.

  49. Step 49: When asked about salary

  50. Step 50: if you're a new graduate

  51. Step 51: just ask for "a competitive offer".

  52. Step 52: For someone more experienced

  53. Step 53: give a salary range if pressed for a number.

  54. Step 54: It's OK to answer the question

  55. Step 55: "What was your most recently salary?"

  56. Step 56: Always ask for stock options!

  57. Step 57: by leaving your present position

  58. Step 58: you'd lose your vacation seniority

  59. Step 59: ask for the same number of vacation days per year to start.

  60. Step 60: It's especially good if you have an offer from another company.

  61. Step 61: When the company makes you an offer (yay!

  62. Step 62: Most of all

  63. Step 63: good luck!

Detailed Guide

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 than 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.

Think about how you could be an asset to the company. , Knowing someone at a company means you already have someone who can vouch for you, and is a great advantage. , 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. , This saves the company a lot of time, as many candidates who "look good on paper" cannot otherwise answer basic questions. , 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. , 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. , 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. , 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. ,, 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. , 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! , 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. , Listen carefully to questions, answer succinctly, and don't jump the gun. , 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. , Try to strike a balance between generality and specificity. , 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. , They may be testing your honesty. , Ask more questions if they may help you get to an answer, or otherwise explain how you would find information to answer the question. , You'll probably need to wet your whistle from time to time. ,, Show interest in the product by asking intelligent questions about it. ,, Ofttimes you may touch base with the HR person again at the end of your interview day. , 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 we'd like you to meet the manager/director/vice president/president.

When are you available to come in?"

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. ,, Don't give a lower end that's lower than what you're willing to accept. , But in general, defer questions about salary until it's clear that the company is seriously interested in you. ,,, 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. ,), 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. ,

About the Author

L

Lori Hughes

Enthusiastic about teaching cooking techniques through clear, step-by-step guides.

53 articles
View all articles

Rate This Guide

--
Loading...
5
0
4
0
3
0
2
0
1
0

How helpful was this guide? Click to rate: