Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Sort of like the Joel Test I guess, except you don't need to limit it to checklists of yes/no questions.

share|improve this question

closed as off topic by Walter, Jim G., Mason Wheeler, Yusubov, gnat Dec 4 '12 at 7:24

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

I wasn't sure what tags to use on this question. Suggestions welcome. –  Tim Goodman Sep 8 '10 at 13:49
Do I have carte-blanche to work the way I want? –  dietbuddha May 13 '11 at 22:10
@dietbuddha Do you really want all your colleagues to have carte blanche to work the way they want? –  MarkJ Dec 4 '12 at 6:38
More appropriate for Workplace. –  GreenMatt Dec 4 '12 at 16:16
@MarkJ I don't want all my colleagues to have carte blanche, I want to have carte blanche. :) I at least want some alignment in process and practices that I think are valuable and use. –  dietbuddha Dec 5 '12 at 6:31

14 Answers 14

up vote 85 down vote accepted

Asking a company good questions is an important part of your interview. It will enable you to really show that you know what you're talking about. It also allows you to find out if the company is a good match for you. An interview should be about evaluating both the to be employee and the to be employer, not one sided.

Here's a list of questions you can start with, and as you discuss their answers there will probably be other topics that come up that you can discuss. You can also make suggestions to the company if you find that their process can be improved.

In addition to the Joel Test questions...

  • Which source control system do you use?
    • Do you make use of branches? how?
    • Why do you use that source control system, have you used others?
  • Who else would I be working with? What are their competencies?
    • What do they work on?
  • What do you work on?
    • Do you like your job?
  • Do you do code reviews?
    • Who performs the code reviews? peers? managers?
  • Which bug tracking software do you use?
    • Is your bug tracking software used often?
  • What programming methodology do you use?
  • Which programming languages does the company use?
    • Which version of that language do you use?
    • Are there any other large frameworks or APIs that you use? Why?
  • Which IDE do you use?
    • Which version of the IDE do you use?
    • Do you use any plug-ins with that IDE?
  • How does the QA process work?
    • How many QA people per developer?
  • How do you classify the company? Small business? Large corporation?
    • Is the company well funded?
    • What i a typical team size per project?
  • Can you walk me through a typical work day that I may encounter if I worked there?
  • Are there any perks about working there?
    • How many vacation days?
    • Which holidays?
    • Can I work from home periodically?
share|improve this answer
+1 Very thorough answer! But I'm curious, Brian, how long do you schedule for your interviews? ;-) –  Paddyslacker Sep 8 '10 at 15:55
+1 Great answer; one word of caution: I wouldn't ask about vacation days/holidays until you have a good foot in the door. Many interviewers/recruiters are turned off by someone who immediately asks when it's OK for them to be gone. I wouldn't mind this question if I was performing interviews, but others certainly will. –  bedwyr Sep 24 '10 at 16:19
On the other hand, if a place is that uptight when you ask about vacation, maybe that in itself is a sign you shouldn't work there. There's nothing offensive about taking a vacation now and then. But there is something offensive about a job that thinks people shouldn't want to take vacations. –  Kyralessa Sep 29 '10 at 3:40
I would go further and add things like: Do I have admin rights to my computer? Do any of your projects use OSS? Who chooses what technologies get used to build software? –  KevDog Dec 15 '10 at 16:20
+1. And regardless of all other answers, if the answer to "which source control system do you use" is "none"... RUN FORREST, RUN!! –  Konamiman Dec 4 '12 at 12:12

I have seen this somewhere. "What would you expect me to have accomplished in 6 months?", just to set expectations right.

share|improve this answer

"Can I take a look at your coding standards document?"

If there's something really silly in there, I will steer clear.

Recent example: "Every private field must have a public getter and setter method" (Java)

share|improve this answer
Yikes. That example would make me steer clear too. –  Tim Goodman Sep 8 '10 at 17:16
  • Does the company offer any support for outside training e.g. financially for free or time off for exams?

  • What kinda of environment do the developers work in, is it quiet?

  • What kinda of hardware do you developers uses, how often do they upgrade?

share|improve this answer

This isn't exactly something you can ask, but something to be aware of:

Having gone through quite a few interviews and jobs, one thing that I think is crucial is to identify the potential personality clashes as much as possible among your potential co-workers. Over the years I've found that there are a couple of personality types common in our industry that can make things miserable and/or downright impossible. Team cohesion is extremely important in this line of work, and I've found that it's best to avoid getting involved with toxic personalities if at all possible.

share|improve this answer
+1 Good point. Maybe a good question to ask would be, "Who will I be working with on a day-to-day basis?" It's probably not always possible, but if you can meet those people somewhere in the interview process it may help give you an idea. –  keithjgrant Sep 8 '10 at 22:35
so far, whenever there's been a 'trouble person' in an organisation i've gone to work for, they were always absent when I've been on the walk around. my current position being the most notable with the toxic personality –  geocoin Oct 26 '10 at 9:13
I have very often found big egos and downright rude people in programming. Especially at interview time I have seen several times hard to believe levels of rudeness. –  Jubbat Dec 4 '12 at 1:31

@Brian R. Bondy coverned a lot of what I ask.

I like to get a walk through the spaces. You can tell alot about a company from seeing how people interact with each other as you walk through.

I ask about the corporate culture - I want a feel for how bureaucratic and structured the place is. I have found through the years that too unstructured is worse than too bureaucratic. Too often they aren't really serious about producing a product to make money with and will go down the tubes. I want to work with people who want to work, not play. I want to know if I will be working with people as part of a team or if I will mostly be working on projects by myself. I want to see how the position fits into the org structure and if there is room for growth. I want to know what interesting challenges the position will bring, I am not interested in doing rote work. If I can't learn something new and interesting in a job, it's not for me.

Having been burned once, I ask about expected overtime, making it clear that I don't object to working overtime for a deadline, but I am not interested in working overtime as a way of life. Better to know up front.

share|improve this answer

Describe fully the complete build and release cycle including who is involved and how long it takes to get things moved from dev to test to ... to prod.

It is surprising how many 'top' companies don't have this nailed, and how much pain a badly implemented process ultimately causes.

share|improve this answer
  • What do people hate the most about working for your company?
  • What are you doing to grow and what are the projections?
  • How are you perceived in your industry?
  • Is the company involved in any charity work?
share|improve this answer
+1 for "What do people hate the most about working for your company?" Good revenge question for the interviewer asking you to list your bad qualities. :-) –  RationalGeek Sep 24 '10 at 17:08
I ask sales people the same question about their products all the time. –  JeffO Sep 24 '10 at 18:37
I prefer Sverir's Version of your first question. It's much less hostile. –  Brian Dec 4 '12 at 0:33
Of note with this question is that if you get some kind of "Everything is great, we're the leader in making widgets, we have X awards and our owner donates millions to Y charity" answer it COULD just be marketing/PR rubbish. Usually the only reason companies donate to charities is for good PR, and every mom-and-pop shop considers itself a "leader" in their industry. Exercise caution and use your own discretion with these questions as it's far too easy to hear the "company line". –  Wayne M May 20 '13 at 15:14

What I've found very interesting to ask is:

"If you were allowed absolute power to change one thing about your technical/programming environment, what would that be?"

This has yielded a lot of very good insights into what people really think about their environments and how comfortable they feel speaking up about them. Usually starts a very good dialog and sometimes gives a glimpse into contended issues within the team.

share|improve this answer

What I would want is to get a sense of the top management, because their attitude will trickle down to the entire company.

Is everything just a "business decision", or do they take an interest in and care about people?

It shows up in how they treat employees, vendors, contractors, and customers. Do they pay bills on time, or do they "age" them? Do their customers like working with them? Do they have a good reputation in the business community?

You can't ask them these things directly, but you can do your homework and find out.

share|improve this answer
Waiting until the last day to pay a bill without penalty is considered good cash flow management practice. I'm curious as to why you'd consider such a thing to be a proxy for the overall quality of a job opportunity. –  user1172763 Feb 2 at 18:37
@user1172763: Right. That consideration is taught in business schools. Now consider yourself a contractor brought in to straighten out some mess, developing a relationship with the employees, paying for your own health insurance, etc. You go above and beyond the call of duty. Then when you submit a reasonable bill for the time you worked, they sit on it for 6 or 8 weeks, expecting you to be their banker. So who is it they care about? Do you want to work for them? –  Mike Dunlavey Feb 2 at 18:59
I wasn't really thinking of contract labor when I read what you wrote, but that makes sense. To answer the question you posed, I might work for such an organization, if we hammered out payment terms beforehand and the opportunity were a really good one otherwise... but I wouldn't be enthusiastic about the payment lag. –  user1172763 Feb 2 at 21:19


If the answer involves a vending machine - run.
If the senior devs start to talk about the benefits of a Moka pot vs an espresso machine - you know they have their priorities straight.

share|improve this answer

I didn't see these mentioned. Apologies if I overlooked.

  • What was your most recent project like?
  • What is your process for estimation and planning?
  • How do you structure your SLDC process?
  • Will I be expected to be on call?
  • How many developers have joined the team recently? How many have left? Why?
  • What is the process if I wanted to request specific hardware or software to do my job?
share|improve this answer

I notice : "How much does it pay?" didn't make it on the list .. :P and I wonder why not! It's a key factor!

share|improve this answer
  • Is your database schema normalized?
  • Do you have coding standards?
  • Is the code well-covered by unit and integration tests?
  • Do developers write tests first?

If the answer to any of these is "no", it is a big red flag.

share|improve this answer
-1 Testing first is not always a good thing –  sixtyfootersdude Sep 12 '10 at 2:03
And a normalized database schema is not always a good thing, but a de-nomalized one, can be. –  Jonas Sep 24 '10 at 15:11
@Jonas: Absolutely. Specifically, I worked on a project for a large web publishing company that got millions of hits per day. Lots of these hits were read-only and denormalized tables let you squeeze a little bit more performance out of database reads. Even though caching helps a lot with this, there are times when you want that first hit to be fast to buy time for something third-party to be slow. –  Ryan Hayes Sep 24 '10 at 17:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.