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.

I know we've covered what questions you should ask about a company before you would decide to work there. But what do you do with the answers?

In other words, what would you consider a dealbreaker? I.e. what would scare you so much about a company that you wouldn't work there, even if everything else was great?

For example, if they tell me they don't use version control, I wouldn't work there. End of story.

share|improve this question

closed as not constructive by Anna Lear Oct 22 '11 at 16:02

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

20  
"Say, have you read 'Twilight'? What an awesome book! Changed my life!" –  BlairHippo Sep 28 '10 at 14:37
40  
"We'd like to hire you." Any company willing to hire me is clearly not a company I'd want to work for! –  Fishtoaster Sep 28 '10 at 14:46
1  
I could live with 'Twilight' (i mean, wearing black clothes, speaking wise things noone understands and trying to avoid the sun comes kinda natural to most guys in IT), but when they mention 'Digital Fortress' by dan brown in a sentence without curse words, THAT would be a dealbreaker –  keppla Aug 1 '11 at 8:48

33 Answers 33

up vote 129 down vote accepted

Companies that feel the need to mention up-front that unpaid (for salaried employees) overtime is required 100% of the time.

share|improve this answer
38  
THIS. THIS. THIS. Occasional "hell weeks" are just part of the industry. But when you're EXPECTED to be putting in "extra" hours just to be perceived as pulling your weight, run. –  BlairHippo Sep 28 '10 at 14:33
26  
I'll work overtime if it's something I caused - but damned if you're going to throw me on a coder death march so you can underbid on a project and look good to your bosses and get a huge raise while I'm working 60 hour weeks for months on end. –  PSU_Kardi Sep 28 '10 at 15:00
13  
Or they don't even consider it over-time. –  JeffO Sep 28 '10 at 15:05
4  
Amen! Worst decision of my career was working for a company after they told me in the interview that "we routinely work 45-50 hours a week." –  Austin Salonen Sep 29 '10 at 18:12
3  
@Carson63000: Spot on... My first few months I did the same but it was mainly to get things (source control, CI, bug tracking) in place so that I didn't have to work those long days. That ended up burning me because they came to expect that I would work those long days. –  Austin Salonen Oct 1 '10 at 13:57

Dealbreaker:

If they describe themselves as a "young company" and when you look around you don't see anyone over 35 in any kind of technical position. There's clearly no long term technical career track, and probably nobody experienced enough to learn from. Plus they're probably underpaying and expecting you to work 60+ hour weeks.

share|improve this answer

If the founders of the company have moved on, you should too. This isn't an ironclad rule but I've found that companies often lose energy and focus when the founders move on. The people who start successful companies are a rare breed and, though demanding, are great to work with.

share|improve this answer
2  
I find this to be a bit too elitist for my taste. Successful companies inevitably grow. A person who is great at starting new companies and running average sized businesses may be the wrong guy to run the company he/she founded once the company moves on to "the next level". –  Diego Deberdt Jun 24 '11 at 12:04

You can't go round inspecting everything, but a trip to the toilets either before or after the interview can tell you everything you need to know about a company and how it treats its staff.

I'm not a hygene nut, but I do feel it's important that the facilities I'll be using every single day are decent.

share|improve this answer

Dealbreaker: We don't wanna buy this software, let's pay developers write it, or let's spend months of developers' time wrangling with some crap free alternatives.
I always ask in the interviews what commercial applications you have got and why did you think it is useful for you. Very negative point about a company's resource management.

share|improve this answer

Asking for salary history.

That's none of their business and likely to mean they aren't interested in talent so much as hiring warm bodies to burn through.

share|improve this answer
4  
Actually I don't mind this - I just give an honest answer, because in all cases they've given me a great salary anyway. Good businesspeople don't want to hire you for less than you're worth, it's much more expensive to lose you quickly and have to hire you again when you find a better-paid job. –  MGOwen Oct 20 '10 at 4:49

Are you ready to move away from your town to work abroad?

This is definitely my Dealbreaker

share|improve this answer
6  
Oddly, I'm very OK with moving. I'm particular about where I don't want to live, but outside of that, I'm mentally very ok with moving. –  Paul Nathan Sep 28 '10 at 16:44
1  
dilbert.com/strips/comic/2007-05-19 –  Mark C Sep 29 '10 at 3:42

If I can't ssh home, that's it.

share|improve this answer

The deal breaker is "Anything you create on your own time belongs to the company, and anything that competes with any of several dozen other unrelated businesses owned (now or in the future) by our parent company is prohibited."

The work I do for the company belongs to the company -- no problem. I'm not to compete with the business unit I'm working for -- no problem. But beyond that, such agreements are just asking for trouble, and I can't afford the lawyer power that a company can.

share|improve this answer
14  
I had one clause at a consultancy = you can't later work for any of our clients, or anyone who has clients in common. "Can I see the list of your clients before I sign?" - no that's confidential ! –  Martin Beckett Mar 6 '11 at 4:55
1  
Unfortunately everyone seems to have some contract now so there aren't many options. This is why we could use a union. As long as that is everywhere and no one boycotts these companies, they get away with it. Mine says they have rights to any products that compete with their business. It is vague defined and I suspect if I invented something I'd have to go to court.... –  Cervo May 7 '11 at 21:14
1  
Interesting you say that, because I never really care about this - it's pretty much impossible to enforce –  Jaco Pretorius Jun 17 '11 at 7:18

I think people are putting to much focus on the technical side of things here. I won't even comment on statements like 'windows is a no go' because in that case a reality-check is in order which is beyond the scope of this.

To get to the point:

Personally I would not so much focus on technical aspects of a job. Sure it's nice if your new company is using a mature SCM solution like perforce or git, it's cool if the firewall has almost no restrictions and you work machine is a 8core with 32gigs of RAM.

Desktop computers can be upgraded and new scm solutions can be implemented if you make valid arguments and manage to convince your boss of the benefits.

What can't be easily fixed is an unfriendly work environment. What can't be easily fixed or changed is the way the employer looks at employees - From my experience that is either (a) machines that you put coffee&cash into and sell the product or people that produce better code when they are treated well and have a good time at work.

My desktop at work is not a power-house and I work with Java even though I'd love to do low-level C programming on micro-controllers. However the working atmosphere is really great. We often have BBQs, regular small developer convention days where people present new stuff they've come across during work etc.

You were quite possibly actually hoping for the kind of technical answers u've been mostly given here so far. I just wanted to put notion on the fact that there is more to a good company than the technical details. Try to make out if the job looks like it has a healthy working environment that wants to make you go to work in the morning rather than shout and curse..

share|improve this answer
6  
Generally speaking (but not always), the issues you dismiss as unimportant are good indicators of how much the company cares. If I don't get at least dual monitors, a good SCM, a decent machine (doesn't need to be a powerhouse), and unblocked internet, then it would take a lot for me to be convinced that said company really cares about their developers. Plus, it would take even more to convince me that they had a developer-oriented culture if they required Windows and didn't write Windows software only. –  Jason Baker Dec 9 '10 at 2:29

If the company doesn't have a control version, you can put it. You should be scared if they say in the interview, that everyone do unpaid overtime (because they are the best or whatever), or they focus too much on the money you will earn in the future (someday...).

share|improve this answer

My interview "trick question" is usually something along the lines of "What do you guys do for fun?"

In my experience, teams that really gel together end up doing fun stuff together outside of work as well -- bowling, playing badminton, wolpertinger hunting, it doesn't really matter. A blank look from the interviewer at this point is usually a giant red flag for me.

share|improve this answer
1  
"Could you please define 'fun'?" –  Mark C Oct 6 '10 at 14:57
1  
This sort of thing can be taken too far. I knew someone who applied for a job at some major city (financial) institution. The terms and conditions said something about being obliged to attend a fairly large number of "company sports days" (at the weekends). Creepy. Sorry, but enforced fun ceases to be fun. –  timday Dec 18 '10 at 0:32
3  
I don't think this one is true if your future co-workers have families. I have enough friends on my own, I don't need a new crew of "drinking buddies", thanks. –  Ed Griebel Dec 20 '10 at 16:18
1  
I actually quite like this question. It may tell you something about the overall working climate. People who like each other don't mind having lunch with their co-workers once in a while. If there is no friendly atmosfere in the team, then what atmosfere is there? –  Diego Deberdt Jun 24 '11 at 12:12

At this stage in my career, a dealbreaker is often the phrase, "you will be required to do some occasional support of existing legacy systems".

Too many times that has resulted in 90% of my time hacking at a VB6 app with no documentation to get it functional again. You're the new guy, therefore the sh*tkicker who has to do the support work.

share|improve this answer
4  
VB6? Consider yourself lucky. I dealt with VB3 (and that was in 2008) –  configurator Sep 29 '10 at 7:36
3  
I fully support your notion that you shouldn't get the sh*t jobs just because you're the new guy ... but if I'm interviewing you and get the impression you're not willing to help me upgrade my legacy systems, no hire. And that's reguardless of how much greenfield development there might be coming up. –  Bevan Sep 29 '10 at 20:47
1  
I've fell for this trick before. I've worked for a company as a senior .net developer, and had to maintain vb6 apps that are over 12 year old. 12 years! C'mon, it ain't that complicated to re-write that with a 8 developer team and 12 years. Considering this app was written by one person, back in the day... –  Rick Ratayczak Oct 22 '11 at 16:59

Companies which hire w/o asking the candidates to write code

I don't want to work with a company where new "Programmer" in my team doesn't know how to "Program".

share|improve this answer

Like a good spamfilter, there are few outright deal breakers, but there are a number of things that will score them up.

  1. Cheap machines. Slow machines with little memory shows they are not interested in maximizing the amount of work I can do for them.
  2. A need to have one machine for e-mail (usually Windows running Outlook) and another for primary duties (programming or system administration.) Constantly jumping back and forth between the two breaks flow and makes it difficult to copy/paste work items into or from e-mail.
  3. Matrixed organizations. When you work primarily with the product team from day to day, but your performance review is done by someone who rarely works with you, that's a recipe for disaster.
  4. A history of poor customer support or low customer loyalty numbers. When a company doesn't treat their customers well, those attitudes from management bleed into how they treat the workforce. Even worse, it can taint how the workforce treats each other.
  5. A history of regular mass layoffs. A national IT company near me seems to have a story every year in the paper about how many they're laying off, and always within a couple weeks (plus or minus) of the New Year.
share|improve this answer
2  
Why would your company want you to have different machines for email and for other work stuff? –  configurator Sep 29 '10 at 7:35
2  
I interviewed with a place that was getting into iPhone development, but their source control was windows only. Each dev had two machines, a Mac Mini and a windows machine they used to make commits. It sounded like a nightmare. –  kubi Sep 29 '10 at 9:50

Deal Breakers:

  1. No Source Control
  2. App tied to a Database that makes Windows 2000 look like the bleeding edge of technology
  3. No, or poor bug tracking
  4. Timesheets (when not on specific client work) esp. if implemented in a horrible system devised by your sucky payroll software.
  5. Any sign of Major Process Failure - e.g. TPS Reports
  6. No Internet
share|improve this answer

Dealbreaker: I don't feel like I'm the dumbest person on the team.

What I mean by this is that I don't want to be in a position where I can't learn a lot from my peers. You can always learn from others, but when I worked at one particular company, the people there were amazingly smart, and I felt like I should be back in first grade as far as my programming skills went. However I learned more in a couple years with them than I had in the 5 years prior to that and including school. Now, I try to find a place where my peers make me look bad, because then I know I'll learn a lot.

share|improve this answer
9  
I wish I could relive several years of my life with this mentality. –  Steve Sep 29 '10 at 1:58
1  
Would this only work for the first decade or so? Since after that you'd be the one that would have to teach other people? –  Daemin Sep 29 '10 at 8:02
4  
@Daemin: I think/hope it eventually gets to the point where, if you're in the right place, your peers know more about different specializations instead of outright knowing more. –  Steve Evers Sep 30 '10 at 22:54
4  
Don't know who said it but: "never be the best musician in a band" –  Martin Beckett Mar 6 '11 at 4:53

If the first interview is with an HR rep who knows nothing about the job. Way too bureaucratic for me.

share|improve this answer
4  
I can live with it if it's over the phone. –  JeffO Sep 29 '10 at 12:08
7  
sometimes its just insulation for an over stressed project team. Given I've spent way too much of my life conducting interviews, I appreciate it when there's a good in house recruiter doing an initial screen to make sure the resume lines up with the actual experience of the candidate. That will cut down by at least 1/2 the number of people I need to interview myself. –  MIA Sep 30 '10 at 22:24

Mailbox size. Storage is cheap. If you make your employees waste any moment of time clearing out their mailboxes, you've got the wrong priorities.

My previous job had a 100MB limit on personal email accounts and the primary mode of documentation was 10MB+ Powerpoint decks. Given the salary of my then manager, I estimate that she wasted at a minimum of $30k/year of company time organizing her email. Perhaps I was overly stubborn, but it became my personal goal to convince the powers that be that our email policy was easily costing the company on the order of $1mil+ of lost productivity per year.

share|improve this answer
1  
Back in 2001 I worked at a place that gave each employee 100 MB of backup storage on the network. I was doing Access database development at the time. My storage filled up after about three databases. And even at the time it was about $1 worth of storage. –  Kyralessa Sep 29 '10 at 3:56

I have a short list:

  • Issues with a particular OS. Sure if I'm doing .NET stuff it's probably going to be Windows, but doing PHP / Java development there is no reason to disallow a full range of operating systems. Have a personal grudge against Apple / Linux / Windows that's your business, not mine.
  • Companies that expect or mandate weekend hours. I'm sorry, my weekends are mine. Sure most of the time I'm doing semi-work related stuff anyways, and I may even come in to the office. But sometimes I won't, and you don't have the right to pitch a fit because I don't.
  • If you don't version control that speaks volumes.
  • Non-diverse platforms. It's great that everything is written in Java, however if you aren't open to other options (when there are clearly better languages for certain tasks) you aren't being flexible in an industry that has to be flexible.
share|improve this answer
8  
I agree with all of your points except the OS one. It's nice that you have a preference, but ultimately... best tool for the job, eh? (That is, if you're applying for a .NET job, for example, and insist on using a Mac, you might be a bit peculiar.) –  Anna Lear Sep 28 '10 at 15:10
5  
@orokusaki: I disagree, but this isn't the place for this argument. –  Anna Lear Sep 28 '10 at 18:00
2  
@orokusaki - love it or hate it, vendors often exclusively use Windows. If I wasn't on Windows, I couldn't use the tools that I need to use to do my job... (Plus it's not actually bad anymore, hold a grudge much?) –  dash-tom-bang Sep 29 '10 at 1:26

Windows. Any version. GTFO.

The key thing for me; at any point is it hinted at that you'll bleed into other roles?

Example: one of my previous job titles was Analyst Programmer... which essentially meant "Sometimes programming, sometimes re-writing requirements document so you can actually start coding, occasionally doing the Analyst's job and other times, well, good luck. May the force be with you.".

If you're applying to be a developer make sure that's what your role will be once you're through the door. Get a feel for a developer's role on a typical project. Ask them to explain the role to you - make no assumptions.

One other question I always ask is: "Suppose technology X becomes the new hotness, how do you fill the technology gap?". If the answer is "we just hire new people" then i'd get out.

Oh, and Windows.

share|improve this answer
4  
Heh, so have you tried Windows 7? :-) –  Jaco Pretorius Sep 28 '10 at 18:20
2  
I have indeed. It's just not for me, to each their own :). Happy now I get to use a Mac. Sounds silly to some, but the platform you develop can make all the difference. –  dannywartnaby Sep 28 '10 at 19:54
7  
I suppose you mean that Windows can be an option, so long as it's not the requirement? Or are you saying that Windows shouldn't be used by anyone at all? –  waiwai933 Sep 28 '10 at 23:10
5  
I wish the MacBook keyboards didn't suck so much ass. –  dash-tom-bang Sep 29 '10 at 1:23
9  
I've always had the opposite feeling--anyone who is so rigid that they are unwilling to work on operating system X is far too rigid to work as a programmer. Good programmers use the best tool for the job by weighing the pros and cons in an intelligent manner (rather than letting personal bias get in the way). –  Stargazer712 Oct 13 '10 at 20:04

My shortlist:

  1. Overtime is mandatory (unless I call the shots). Overtime is always a sign of mismanagement. If someone f***s up and I can't do anything about it but waste my spare time to clean up after them, that's a no go for me.

  2. I have to work with the provided tools. Sorry, I'm a senior developer. I didn't spend years refining my skills to be limited arbitrarily.

  3. Bad mood in the team. Dirty/messy workplace. This yells "management doesn't care."

  4. Old computers. A decent computer costs around $1000 (pure hardware). That's about the same as one developer seat per day. If that's not in the budget, sorry, I don't see a point working for a bankrupt company. If the computer is decent, it has to have at least 4GB of RAM. That costs $120 today -> no reason at all to have less.

  5. If my boss is corrupt or tries to corrupt me (lying to customers, making software worse than it could be so we can magically "fix" it for more money, abusing people why they are not present, mobbing).

  6. Agile without any of the rules/tools. Agile is just a label. You need a lot of discipline, rules and management support to be able to be agile. If agile just means for them "we ship crap every two weeks instead of once a year," I quit.

  7. Rules are more important than reality.

share|improve this answer
5  
I've experienced #5 before. Needless to say I was planning my exit strategy that same day. –  Jeremy Bade Sep 28 '10 at 18:41
10  
RE #6, I always press for details when they say, "We're an agile development shop". Often that just means they don't document or plan anything. –  Damovisa Sep 29 '10 at 7:07
2  
@David Thornley: Because of my bad experience, I avoid work in places where rules are set into stone by people that don't suffer from them. –  Aaron Digulla Sep 29 '10 at 15:38
5  
@Aaron - if you came on my team and decided to run your own source code control, you'd be gone pretty quickly. It's simply not possible to efficiently run a large project when everyone is using incompatible tools. Different, but compatible, tools is often fine ... but expecting a .NET development team invested in Visual Studio that you want to do all of your development on a Linux machine with Mono is a sure way to get canned. –  Jess Sep 29 '10 at 19:58
5  
@Aaron, luckily, it sounds like your dealbreakers are quite compatible with employers' dealbreakers: the people you're not interested in working for almost certainly would not want you working for them :-) –  Carson63000 Oct 1 '10 at 1:22

My dealbreakers are:

  • Working environment == Cubicles
  • Working computers == tiny 15" single monitor, 2 Gb or less of RAM
  • No Internet connection
share|improve this answer
12  
How many developer environments are NOT cubicles? –  Jess Sep 28 '10 at 17:54
9  
@Jess the good ones –  JuanZe Sep 28 '10 at 18:26
2  
Heh and here I was thinking that I needed to get that quad-dual core machine with 16G RAM upgraded... ;) –  dash-tom-bang Sep 29 '10 at 1:24
2  
In Denmark you are basically not allowed to put people in cubicles. Every office have to have a windows. :) Of cause you just get open office spaces then. –  Bjarke Freund-Hansen Dec 7 '10 at 9:22
2  
I would prefer cubicles to open plan. Worst place I saw had gone for private offices/developer - but had built them into a large open plan, so fluorescent lights and AC went across internal walls. You had offices with a section of light in one corner and others where the entire ceiling was lights –  Martin Beckett Mar 6 '11 at 4:58

Showing up late for my inteview. You don't get a second chance to make a first impression.

share|improve this answer
9  
Meh. I showed up late for a job interview because the directions were bad. The person giving the interview understood, and it went well. I was offered a better job than the one I originally interviewed for. I'm not saying that its ok to show up late, but just be human about it. Be respectful of other's schedules, but don't avoid the interview because ******** happened on the way. –  Stargazer712 Oct 13 '10 at 19:58
2  
@Stargazer712 - I'm not suggesting getting up and walking out the very second they are late; it just puts them in a hole that I feel they need to work to climb out. That's why I give my cell phone number. I'd call if I were going to be late. –  JeffO Oct 14 '10 at 0:06

Working with a boss who thinks I am not apt for the job because I'm a woman (yes, it happened - to a friend).

share|improve this answer
28  
@Hila - That's not a "deal breaker". That's a "money maker". See a lawyer, if that happens to you. –  orokusaki Sep 28 '10 at 17:46
8  
@orokusaki Life is not always that simple. –  Hila Sep 28 '10 at 18:25
8  
@orokusaki - I appreciate the analogy. You'll be surprised to find that even when a woman gets beat - it's not always that simple (What if she has kids? What if he threatens to kill her? What if her family considers divorce a great shame and won't talk to her? What if she is financially or in other way dependent on him?). In our case - what if you know that this is what he thinks, although he won't do anything about it because it's the law (can't sue for misogyny)? What if he said something to your friend, who won't do anything because she REALLY needs the job? I'm sorry, life is not boolean. –  Hila Sep 29 '10 at 11:17
1  
@orokusaki: If the woman has solid evidence that she was turned down because of her sex, and she's willing or able to push hard for recompense, and nothing unfortunate happens, she might get a judgment for $50K (a friend was in a discrimination investigation) in this state. This isn't harassment (unless the woman is asked for sexual favors and can prove it in court), which can get more money. In many places, companies practice illegal discrimination, but avoid letting anybody get solid evidence against them. –  David Thornley Sep 29 '10 at 14:01
1  
@orokusaki The fail is with you, young orokusaki. –  EpsilonVector Oct 1 '10 at 13:24

We use proprietary version control X

The available free version control systems are so much better in nearly every respect. Using a proprietary one, while not necessarily terrible on its own, but what it implies about the company is.

share|improve this answer
18  
+1 Visual Source Safe. gag –  Ryan Hayes Sep 28 '10 at 15:05
4  
For a large company, it's takes a lot of momentum to deviate from a certain path. Many large companies get products like VSS basically for free, so there's no reason for them not to use it. –  Jess Sep 28 '10 at 17:53
10  
@Jess oddly enough, I see plenty of reasons NOT to use VSS. Even for free... :) –  Axelle Ziegler Sep 28 '10 at 19:48
3  
Depends on the industry, as Perforce is the only (singular, indeed) VCS that can handle lots of large binary assets. –  dash-tom-bang Sep 29 '10 at 1:24
4  
If you've ever used ClearCase you'd up-vote this answer ;) –  Stephen Darlington Sep 29 '10 at 11:00

Anything that makes me think that they don't know how to manage a software project. 9 times out of 10, when they don't know anything about software development and want to develop software, it's because of one of two things:

  1. They write in-house software and want to offset the cost by selling it.
  2. They saw the margins on software sales in some business magazine and think it's their ticket to getting rich.

And I refuse to work with either of them, ever again.

share|improve this answer

Any indication that work/life balance won't be maintained. If a company doesn't have a clear policy regarding family emergencies or life-altering changes (e.g. having a baby or getting married), I wouldn't want to pursue an opportunity with them. This includes being forced to travel an inordinate amount of time.

Work is important, but being present in your family is more so.

share|improve this answer
3  
Unless you don't have a family, then you're probably just a scourge on society ;) (So I borrowed this from Dilbert, but apparently it exists in real life) –  Wayne Werner Sep 28 '10 at 17:46
7  
Kudos. This is #1 for me as well. I recently moved across country to be with my fiancée and took a new job; I told my new boss, "I am moving across country to form a new relationship, not destroy it." –  Chris Holmes Sep 29 '10 at 11:48

Sales talks to the customer, then tells us what to build and when to build it.

This is a little more forgivable at companies that don't do software as their primary business, but any serious software company that doesn't allow developers/PMs to interact with the customers is going to produce crappy products, angry customers, missed deadlines, and a lot of misunderstood requirements.

share|improve this answer
2  
Yes, yes, 100 times yes. –  Damovisa Sep 29 '10 at 21:23
1  
If software is at the heart of the business, you find that the software development gets much more attention. If its only a minor part of the business, then unlikely to get much love. –  JBRWilkinson Sep 29 '10 at 22:08
3  
Or even worse, Sales tells the customer that the software already does something in order to sell it, and then we have to build it. –  Ken Oct 29 '10 at 2:26

A compensation package comprised mostly of creativity or promises. The bank which holds my mortgage is not impressed by how much money I'll be making when the investors "finally come through."

share|improve this answer
18  
We got so many of those in college- "We'll give you 3% of the company's annual profit!" "What were your profits last year?" "$0." –  Fishtoaster Sep 28 '10 at 14:45

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