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.

+1  A: 

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

What Unit Testing framework do you use?

What SCM do you use?

Seb Rose
+1  A: 
  • What development tools will I use?
  • Will I develop on legacy tools / systems?
+1  A: 

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.

+56  A: 

Apart from asking about your work environment (the team, your machine, cubicle/office, compassionate flexibility), you could also use the Joel Test 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.

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.
1. yes but in the worst way possible2. no3. no4. yea but we dont check it5. no not really6. lol7. lol8. yes9. cant complain10. yea they are called developers11. no12. no
+2  A: 

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.

+6  A: 

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 :)

Surely at any company worth working for, your interview process involves developers???

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.

+9  A: 

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.

Stephen Darlington
+2  A: 

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?

Roger Wernersson
+2  A: 

'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?'

if they answer 'yes' to any of the above questions run!
Arthur Ulfeldt
+11  A: 

There is a similar question.

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

John Nolan
+1  A: 

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?

Matt Lacey
+32  A: 

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?
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.
"Why was I not asked to undergo a practical test? :-)" Good question.
Alex Baranosky
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 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.
+8  A: 

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.

Garth Gilmour
+11  A: 

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

Andy Cook
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.
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
+5  A: 

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.

+15  A: 

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.

+6  A: 

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.

+1  A: 

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.)
Adam V
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: 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  A: 

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

David Locke
+4  A: 

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

Steven A. Lowe
+2  A: 

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

Ben Collins
<MS bashing mode>Marketing ***is the core revenute-producing** part of the business at Microsoft</MS bashing mode>
+4  A: 

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.
+1  A: 

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 in, 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.

Daniel Daranas

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.

Henrik Gustafsson
+3  A: 

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.

Andy Dent

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

Kendall Helmstetter Gelner

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.

+3  A: 

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.

Mr. Will
  • 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,

  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 :)

Larry Watanabe
+1  A: 
  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.
Paul Legato