Stack OverflowJob Interview questions - The ones you should ask the company
[+96] [34] LepardUK
[2008-09-18 08:52:48]
[ interview-questions contracting ]

I am sure there are lots of people who ask the question, "What have you been asked at interview?".

I want to turn this on its head and ask the community what question do you wish you had asked the interviewer before accepting, or not, a role.

I am sure there are many circumstances where a sensible question asked at interview would have saved a lot of pain later.

Not a programming question, IMHO. - Richard A
(3) Poll-like questions should be community wiki posts and as such no answer should be marked as "accepted" one. - J.F. Sebastian
This question will give you some ideas about the things you should be asking about:… - Dan Dyer
[+64] [2008-09-18 08:58:08] Galwegian [ACCEPTED]

Apart from asking about your work environment (the team, your machine, cubicle/office, compassionate flexibility), you could also use the Joel Test [1] to rate their development process (not trying to be a fanboy! ;-))

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

I personally always ask to physically see the area I'll be expected to work in.


(2) It is ironic that the Joel Test was not used for SO… - J.F. Sebastian
"Do you fix bugs before writing new code?" I wish... Other than that and and "quiet working conditions" (there tends to be a LOT of joking around / conversation since we work in open rooms and not cubes) I'd say my place of work is not too bad by this test. - TM.
(15) 1. yes but in the worst way possible 2. no 3. no 4. yea but we dont check it 5. no not really 6. lol 7. lol 8. yes 9. cant complain 10. yea they are called developers 11. no 12. no - community_owned
[+50] [2008-09-18 09:21:05] icelava

I don't go through alot of interviews, but for most I do, I usually ask more questions than the interviewer does. I have honestly lost my list, but off my mind:

  1. What are some activities the developers or team carry out to improve them skills, craft?
  2. Should developers be jack of all trades, or deep specialists?
  3. Is there a library/shelf for books for technical staff? What books do you recommend/mandate all developers read? What books do you recommend managers read? What books do you recommend architects read?
  4. What are some conscious efforts made to ensure developers are well rested and healthy?
  5. Is buddy system/pair programming practised here?
  6. How does the company carry out introspection/evaluation processes to improve itself?
  7. Could you explain general guidelines you use to balance the Trade-Off pyramid/triangle? Which point does the team usually find compromising alot?
  8. What are some existing difficulties the company/team are facing right now, and the plan/strategy to overcome them?
  9. Is there a dedicated team of testers?


  1. What unit testing framework do you use?
  2. What version control system do you use? Expand on how branching/merging may be practised.
  3. What build-automation or CI process do you use?
  4. What additional development tools do you purchase beyond Visual Studio (or Eclipse)?
  5. Are databases version controlled too?
  6. What issue/bug tracking system is used to monitor progress on fixes?
  7. Is MSDN subscription available? (for Microsoft shops)
  8. Is the development environment built to support distributed engineering/development? (VPN, Sharepoint workspaces, Internet version control system)
  9. How many monitors do developers use for their workstations?
  10. Why was I not asked to undergo a practical test? :-)

"What are some conscious efforts made to ensure developers are well rested and healthy?" I see only BS answers to that question, did u ever got a good one? - IAdapter
(2) EXACTLY - most management NEVER consider the health and morale of their crew. I was fortunate once to be in a team managed by an ex-developer. He understood how important team morale is, and regularly took breaks for the team to enjoy lunches and dinners and drinks. Having fun together. - icelava
(9) "Why was I not asked to undergo a practical test? :-)" Good question. - Alex Baranosky
(2) What sort of answer to #2 would be useful? At everything in the world, you need to be a bit of a JoaT, and you need to be a bit of a specialist. Are you just looking to see if they call you on it? - Ken
@ken there is no "correct" answer to this. what is important is management has given considerable thought to this topic to maximise the effectiveness and efficiency of their team. I am sure you'd know most mgmt don't even stop to think about these matters on how to make their teams perform better. - icelava
icelava: Can you give an example of a more-correct or less-correct response to this? As a programmer, I cannot imagine any value I would get out of any response to this. What kind of thoughts about "specialist/JoAT" would be useful, and what effects would you expect from them? - Ken
@ken the key thing to listen for is the steps taken to prevent their programmers/developers from being overloaded with too many tasks/responsibilities. Even when you're JOAT you cannot possibly be covering all corners, every aspect. How they define the roles of each person and how they interact with each other is important to how well-oiled a machine the team will be in a project. From experience, too many ppl are running all over the place to do their "job" and stepping on each other's toes because there's no well-defined structure. - icelava
[+22] [2008-09-25 13:56:26] curtisk

I always ask "Why do you enjoy working here?" Depending on the panel/individual you get some interesting answers and body language. If questioned back, the reason I ask is that who would be better able to speak about the workplace than those that have been here and are looking for me to potentially join the team. Overall it has served me well.

I also ask about their thoughts on training, further education and the like, as well as some that were previously mentioned.

[+16] [2008-09-18 09:43:54] Andy Cook

Not programmer specific but some of my favourite and most useful questions to ask a potential employer include...

1 - Describe a typical day for me.
2 - Tell me 3 things you’d want me to achieve in the role.
3 - Do you have any concerns about me – I’d like the chance to address them.
4 - What qualities would your ideal candidate have?

1 - Oddly, this throws many interviewers. Whether it's my temerity in asking it or their inability to adequately answer it, I don't know. Even though it seems a perfectly reasonable question to me, I've never had a very good or detailed answer. It does help me get an impression of the person interviewing me though (usually the person who would be my manager).

2 - Again, it's rare that they are equipped to answer this but helps me form an impression of them and the way the company works.

3 & 4 - I ask these at the end of the interview (some might argue they are best asked at the start). I often find the interviewer will reveal his/her thoughts about me when they otherwise wouldn't, giving me a chance to allay any fears they have about me and put my 'case'.

1 and 2 would be covered in the job spec and if that was not clear enough I guess asking for clarification is okay... but why are you applying for this job if it is not clear what you would be doing! 3 is a great question. 4 I am not convinced would help your case much. - Loofer
4 is useful when you have more then one interview. In the second interview, reinforce why your suited for the position based on the answer of that question. - Matt R
To explain Q4 a little more (better late than never)... I ask it to give me the added chance to point out where my skills/experience match what they’re looking for. “You ideally want someone who can write well too? Funny you should say that as my writing has often been favourably mentioned in my appraisals. I remember writing a report on a seminar I went to and it was liked so much, it was distributed throughout the company...” and so on. - Andy Cook
[+14] [2008-09-18 09:10:33] John Nolan

There is a similar question [1].

Here is my answer to it.

Where do you see me in 5 years time in your organisation?

How have you learnt from mistakes made in your previous projects? if the interviewer says they don't make mistakes they are wrong and ego centric. If they do post mortems then great.

How do you ensure quality software? You'll be amazed how many people just don't test or expect code to be done right and first time and then complain about bugs

Do you regularly have late night sessions to meet deadlines? an indication of how much time you will be expected to put in and perhaps unrealistic deadlines

Do you have a training budget? How do you expect developers keep up with the latest advances. no training or investment in developers should ring alarm bells

If the company is not using the latest bleeding edge technology ask what are there upgrade plans. no upgrade plans may make business sense but as a developer you may not want to be stuck working with legacy technology


[+13] [2008-09-18 09:01:29] Stephen Darlington

One I always ask is: "Can I work from home occasionally?"

In fact I rarely do work from home. My aim with this question is to find whether they trust their employees but you can't really ask that directly!

My worst job was when an interviewer lied about the role. I'm still unsure how I could avoid that pitfall again.

[+10] [2008-09-18 09:21:52] Garth Gilmour

It is hard to ask probing questions of the interviewer when you really want/need the job. Not least because you feel awkward pressing for extra detail on fuzzy answers, which is often all you get back.

In the standard situation of being interviewed by a HR person and a senior coder I always play close attention to the answers and demeanor of the latter. Since he/she doesn't interview people as a core skill and isn't always comfortable toeing the company line, it's a lot easier to get indirect info about how developer-friendly the company is.

[+9] [2008-09-25 14:14:17] D.S.

I agree with the "Do you enjoy working here." If you literally hate going into work, nothing else really matters. My first job out of college I dreaded going into work. It was boring, I wasn't doing anything I learned in college, and felt I was wasting all of the money I spent on school.

In my last interview, I asked "Do you enjoy working here." the interviewer asked "What do you mean?" that was a signal right there. I ended up going with another company.

[+9] [2008-09-18 08:59:21] Florian

Since most people at human resources have no clue about the work of a developer I would ask if I could have a chat with my (possible) future coworkers :)

(6) Surely at any company worth working for, your interview process involves developers??? - Tom
[+9] [2008-09-18 18:06:18] user11318

One I like is, "Why did the last three developers who left your organization leave?" Their explanations and reactions will tell you volumes about the potential problems within the organization.

Also if you have any concrete requirements, you must be up front about them. For instance I need a flexible schedule to make childcare requirements work around my wife's busy job, so I'd have to ask how flexible they are willing to be on the schedule.

[+7] [2008-09-25 21:56:36] Steven A. Lowe

if it's a start-up firm, be sure to ask "Are you fully funded? For how long?"

[+6] [2008-10-29 06:31:28] community_owned

well i dont know about other countries but in india you can never tell what your job exactly is going to be ... every damn HR person will blab on about "open environment ..flexibility environment .. dynamic growth opportunity" ... and when you join you find out its a all a truckload of crap ... unfortunately you can never ascertain such things upfront ... but i generally ask whether they have a specific role for me in the organization ... or am i just a brick in the wall ... (of course you can never tell whether this would be truthfully answered or not)

+1: I live in the U.S., but I've experienced the same. - Jim G.
[+5] [2009-02-08 03:42:06] Andy Dent

My favourite two, which tell you a lot from their reactions:

  1. What is your toughest technical issue you're confronting right now?
  2. What is the toughest non-technical issue you've faced in the company now or in the last year?

The second one is a good one to ask if it's the kind of interview where they ask you things like how you deal with co-workers, describe the worsts conflicts you've dealt with at work, how you resolve disputes etc.

[+3] [2009-04-06 17:44:41] Mr. Will

One thing I have learned is to be sure to ask about the number of software developers in the company and also the number of development teams. If there are a smaller number of developers and teams, this means there are not as many opportunities to work in different areas. Likely, you will continue working on the same products over and over which can become quite stale after a while.

[+3] [2008-09-18 09:06:41] Roger Wernersson

How does the company make money?

How fast does the company make money?

How fast does the company spend money?

What does the future look like?

[+3] [2008-09-18 09:07:07] workmad3

'Is your coffee filtered or instant?'

'Is your coffee free?'

This sort of question is a nice, light note to end an interview on and can also give you an indication of how well they treat employees without asking a no-go question like:

'do you think your developers are worthless code-monkeys or important assets to your company that should be treated well?'

(1) if they answer 'yes' to any of the above questions run! - Arthur Ulfeldt
[+3] [2008-09-18 08:57:13] krolley
  • What development tools will I use?
  • Will I develop on legacy tools / systems?

[+3] [2008-09-25 15:23:05] Adam V

I like knowing the following, though I probably wouldn't ask all of them in the interview.

  • Are alternate work schedules allowed? (9/80? 4/40? 4 9s and a 4?)
  • How early / late can I come in? How late am I expected to stay?
  • Is working overtime a common occurrence?
  • Can I work from home?
  • What are the specs of your work computer?
  • Does the office reimburse for books or seminars?

And less-work-related:

  • Is there someplace to eat that's close, tasty and cheap?
  • Can I eat at my desk?
  • Does the company / team have any sort of extracurricular activities? (My last company had lots of company-sponsored sports, along with twice-annual pool tournaments; my current company took us all bowling a couple of months ago.)

In general, I agree with your questions. But "Can I eat at my desk" seems a bit funny to me, and "specs of work computer" should be rephrased in a broader way. - mafutrct
@mafutrct: My first company had a rule in the company handbook emphasizing "there's a cafeteria for a reason". It didn't mean we weren't going to do it, it just meant we had to worry about something showing up on our yearly reviews. "Failure to follow company rules" isn't exactly a ringing endorsement. And the reason we ate at our desks was that it was one of the most productive times of the day - when half the developers leave for lunch, the floor is very quiet. - Adam V
[+2] [2008-09-25 21:54:12] David Locke

I've only had one job since graduating from college but one question that I asked was "Do you have a dress code?"

So you don't know the meaning of job-hopping? - The Elite Gentleman
[+2] [2008-09-18 08:58:53] Dynite

I always think that if you're a candidate that's worth considering, then you should have questions that you want to know if you were to have a think about it.

Surely if you're about to start in a new company there must be things that you want to know.

I don't think there are things that you should ask.

[+2] [2008-09-25 22:01:16] Ben Collins

Ask whatever questions help you figure out the true essence of the business; the core function that produces revenue. It's important to be a part of the core revenue-producing part of the business (i.e., be software developer at Microsoft, or be a marketer at an advertising agency, but not the other way around).

(2) <MS bashing mode>Marketing *is the core revenute-producing part of the business at Microsoft</MS bashing mode> - DVK
[+1] [2009-01-03 12:39:50] Daniel Daranas

They typically explain what I will be doing fairly well (domain, technology...) so I tend to have this quite clear after the first part of the interview.

I like to ask:

"What is the timetable?"

If they do regular unpaid overtime they are usually not very aware of how much of a red sign this is for me, and for some reason they will almost boast it, like "Uh, you know when you come in but not when you come out". As a bonus, I get to know if they reduce the working time in summer, and whether they have a flexible timetable (in the good sense).

If I haven't been shown the workplace (their mistake), I ask where I will work, is it a big/small office, where it is located, etc.

I also like to ask: "Do you do unit testing?".

Also, "Do you do code reviews?".

At some place I asked whether they had a source control system. They didn't.

[+1] [2010-10-29 23:35:46] Tom
  1. How much involvement does mid and upper management have in the details?
  2. Who develops and enforces the development policies and procedures?

These two questions tell me a lot about whether or no I want to work for someone. If the management keeps getting involved in the details, I (and others, I know) are not happy as I don't like micromanagement. Basically if you're hiring me to do a job, please just let me do it. Also, if the developers don't take a leading role in development policies and procedures, it becomes a lot harder to change bad ones and adapt to new situations and technologies where old policies don't apply properly, or needs to be updated. To me, this goes a long way toward telling me about how comfortable I would be working for the company.

+1: Although I lean the other way on #2. I like shops where either a programmer manager or lead developer enforces coding standards. - Jim G.
@Jim G. Understandable, but to me, enforcement should be a team responsibility. Makes it easier to remember, since you have to use them all the time both coding and reviewing. Having a lead enforcer is good, but everyone should be involved, especially for small teams. - Tom
[+1] [2008-09-18 08:55:09] Seb Rose

How important is peer review/buddy checking in your development process?

What Unit Testing framework do you use?

What SCM do you use?

[+1] [2008-09-18 08:57:47] Matthias

If its related to a certain project or product, I would ask where the project is headed towards. I'd be interested in what their plans are.

[+1] [2008-09-18 09:00:57] RB.

What sort of personal development budget do you have? Would you pay for me to achieve certifications (e.g. Microsoft Certifications) as part of my package?

Could you show me round your development infrastructure. I'd like to briefly understand your build process, documentation process, source-control, etc., etc.

The best interview I ever had took about 4 hours, as they showed me every aspect of the way they worked, and that's what sold me to take the job.

[+1] [2008-09-18 09:15:01] Matt Lacey

What is the companies business model?

Do you want to work for someone who has very good sales people, who can sell poor quality software and then make money selling training and consultancy on how to use the product they've bought?

[0] [2010-10-29 23:43:44] Paul Legato

Do you have any staff dedicated to helping customers resolve their technical issues with the product? What is the procedure for escalating a customer's technical issue to the attention of the development staff?

Some companies expect developers to get on the phone with non-technical end users who work for important clients and hold their hands while they are learning to use the software. Others go to great lengths to address customer technical issues without bothering the developers whenever possible.

This tells you a lot about how they interface with their customers, where they see the programmers in that scheme, and how they value programmers' time. It also tells you how much they've thought through their business model — it hasn't occurred to management at some places that they will need to support the product after its release. When they haven't thought that through, that role tends to devolve onto the development staff, which creates a frustrating work environment when your coding is interrupted to spend an hour providing technical support to a secretary at Important Customer Inc. who can't figure out how to submit a web form.

[0] [2010-12-06 20:47:07] BillTorpey

My favorites include:

  • What things do you think you are doing well, and therefore don't need to change?
  • What things do you think you'd like to do better?
  • How are you hoping that a new person can help improving those things that need improvement?

Also, if you are talking with someone who has a similar role/responsibility, asking what a typical day is like can be very enlightening...

[0] [2009-07-20 04:58:18] community_owned
  • Has your company ever bounced paychecks?
  • Are any members of your executive staff or directors under indictment?
  • Do process servers show up here on a regular basis?

Any "yes" answers to any of these might represent a good reason not to take the job,

[0] [2009-07-20 05:19:13] Larry Watanabe
  1. What kind of machine/monitor setup will I be using?
  2. What kind of projects will I be working on and what will be my role?
  3. What kind of development process do you follow and how are your teams organized?

I think asking the JOS checklist might be a bit offensive, especially if the organizatoin doesn't follow any of those practices. Simply asking them about their current process can determine the same information, without sounding high and mighty.

And of course we all want to work on good equipment :)

[0] [2009-01-03 12:52:44] Henrik Gustafsson

How much process not directly related to the customer value of the product is applied? I.e. find out how many hours a day you're supposed to be focusing on the customers problems and how much is spent filling in forms and going to meetings not related to the product or problem domain.

What kind of development processes and practices are used? And tools. Is the company process purely managed by sending huge Excel sheets around? (I kid you not, I've seen 40k-lines+ documents being passed around for updating)

I haven't had time to try those two out, so I haven't come up wth a good way of putting it. Other than that, the the Joel test, probably.

[0] [2009-02-08 04:35:30] Kendall Helmstetter Gelner

"What is the career path like for a technical person"

Basically you are looking for how many levels there are before you are forced to be come a manager if you want a promotion.

[0] [2009-03-17 04:57:38] Aaron

I've found that the Joel test (yes, I know that Joel is one of the creators of SO, and that did not influence the content of my post at all) is a great start for questions to ask a company.

Personally, I think a software shop that doesn't pass the test can drive a developer crazy after a while.