views:

20812

answers:

81

What might be said or implied at an interview or job posting that should set off alarm bells for a coder?

I'm still only a few years in the industry but I already know to look out for excessive red tape and bureaucracy. Cubes and a noisy office also tell me that I'll be both miserable and unproductive and that management does not appreciate what coders need to work well.

Edit: The way things are going I'm taking extra time to look at the company's stability. If they depend on a single vendor for their livelihood and could be out of business if the vendor decides they don't really need the service or can do it in-house.

What are your dealbreakers?

+145  A: 
Chris Jester-Young
The second bullet is a big deal for me. I refused to sign the HR agreement form that said this at my last place of employment. I didn't make a big deal of it, just never did it. :-)
T.E.D.
@Ted: Yep, and you're not the only person I knew who did something like it. :-)
Chris Jester-Young
I was given a HR form 6 pages long once. Among the absurd things it would have forced on me was the fact that the company owned every single creation and idea that I came up with, 24x7x365. Also, I couldnt work for a competitor NOR customer of theirs for 2 years from termination. I walked out.
Optimal Solutions
People certainly think that they're not allowed any say in a boilerplate contract, which couldn't be further from the truth. Cross out any sections you don't like and initial them. HR types may need to take a breather, but if you have a reasoned argument they'll usually give in. If not, then leave.
Robert Paulson
Also, just because those clauses are in a contract, does not mean that they are enforceable. Further, it doesn't mean that the company would waste its money trying to pursue it. But yes, I agree, it makes me cringe when I see the 'I own you' clause.
Travis
Whether they're enforceable could ultimately depend on what a judge says. Given how out there some judges can be, I'd rather not sign something just because *I* think it's unenforceable.
Kyralessa
In many states "we own you" provisions are uninforcable as long as there are no material connections to work resources..etc. Check with your friendly neighborhood lawyer for further detail.
Einstein
One of the reasons I left CSIRO (major Aussie government research org) is we couldn't even contribute to open source projects with Legal OK'ing it and they own everything you think of, regardless of its relationship to work, even totally different domains, like software dev designing wheelbarrows.
Andy Dent
Just because clauses are unenforceable doesn't mean you can't wind up in court over them. It's better to not be in court than to win in court.
David Thornley
+14  A: 

Actually, the opposite. Not enough process, no source control etc.

harriyott
Moderation is the key.
Kibbee
There are two ways of doing process. Telling people what to do (rules, coding-standards etc) and enabling people to do the right thing (build servers, source control etc., automated testing etc.) Lot's of companies focus on the first.
Mendelt
+52  A: 
  • No source control
  • No centralised bug tracking or project management
  • Performance measures SLOC / Check Ins
  • VB6
  • VBA
  • Access databases
Rob Stevenson-Leggett
No source control - that's 10 steps below "bad to work at". And I say that as someone who walked into such a situation (out of necessity, but still..). It was as much fun as I'm sure you can imagine.
Steve B.
My last job did the last two on this list, extensively.
MadMAxJr
-1 for language snobbery
Lance Roberts
+1 for VB6/VBA. My Arrays always have a size thanks very much.
scunliffe
sounds like my last job
ManiacPsycho
Yer, I'll go with those
Travis
+++++++1 for Access databases! - Try doing a full outer join...
Redbeard 0x0A
Access is a step up from excel :-)
Einstein
You left off the worst of the VB family: vbscript.
Jason Baker
+135  A: 

You might want to have a look at The Joel Test, an article Joel Spolsky wrote a few years back giving coders a 12 step guide to evaluating a prospective employer.

Bill the Lizard
I just saw your answer after I posted mine. I'm a little slow this morning. :)
Thomas Owens
I was pretty surprised that I was the first to bring it up. :)
Bill the Lizard
I know. I expected the first 3 answers to be Joel Test.
Thomas Owens
I can't say how much I wish I'd read Joel's list before my last interview. Truly my karma needs work.
annakata
I don't know. The place I work at scores a 1 on the Joel test, possibly moving up to a 3 in a couple of month time, and I think working there is great. Probably the best job I've had.
@dagw: There's no reason you can't apply the Joel test to improving the conditions at your current workplace.
Bill the Lizard
+53  A: 

I'm about to start a 90 day contract-to-perm job where they have a dress code, and you're not allowed to have anything personal on your desk except one photograph of your family. I'm pretty sure it's going to suck.

Update: Well, the rumours about the "nothing personal" were wrong, there were things I liked about it and things which sucked, but they ended my contract before I could find something else, and that really sucks.

Paul Tomblin
Pfft, I can't see why they'd derive any benefit from allowing you to be happy in your work environment. In fact, I don't think they should even give you a desk, they should make you sit outside in the cold.
Ant
Ouch... that doesn't even make sense...
chills42
I don't think I could live with a job where I couldn't have giant robot models and action figures on my desk. I have to have some fun stuff to stir the imagination while coding.
MadMAxJr
I'd strongly suggest putting a picture of a Domokun on your desk and claim wholeheartedly that it was a family member.
Abyss Knight
+1 for @Abyss Knight
kenny
Congratulations! You now have 90 days to find a better job.
Steven A. Lowe
Dude. You must have worked at my old job.
John Dunagan
I was in that exact situation at my last place. Lots of high profile sponsors/investors making random appearances was the reason behind it, but it just meant that when they did come round, they though no actual humans worked there... that combined with a sucky commute and bad management made me go
geocoin
89..87..86...HURRY
Tim Matthews
I've worked with some pretty good people, and you know how we normally dressed. It always amused me when they'd ask us to dress more like managers and less like software people when outsiders were coming in.
David Thornley
That does suck indeed! Your 90 days are pretty much up :(
Andrew Rollings
If I encounter an empty desk I ask myself if the person sitting there is actually doing any work. BTW: Are you the "The PROPER way to handle HTML postings"-Paul-Tomblin?
EricSchaefer
@Eric - yes, that's me.
Paul Tomblin
Well, thank you for that great quote. It is one of my favorite email/usenet signatures. Especially when answering to HTML emails or usenet postings. Thank you very much.
EricSchaefer
Wait.. so you're not allowed to keep a stack of mad scientist-esqe scribbles and inpenetrable diagrams on your desk? Man that'd suck, that's half the fun. Got another job yet? We're all rooting for ya
Quibblesome
+3  A: 

I would apply the Joel Test. Scoring poorly on it, with the possible exceptions of 9 (I don't need the best tools, but I do need good tools) and 12 (hallway usability testing might not be appropriate for all projects), might mean that it isn't the best working environment (and therefore possibly not the best job).

Thomas Owens
+15  A: 

Lack of process and documentation, when they say "Yes we're implementing that." tends to really mean "We know we should be doing that but aren't at the moment".

If you enjoy pouring through hundreds of lines of code just trying to work out how things work, spending hours to make relatively simple changes, relying on the patchy knowledge trapped in the heads of your co-workers don't let this put you off in the slightest.

Dave Anderson
+129  A: 

"You'll be able to work in <insert fun language here> really soon but just for a couple of weeks you'll have to maintain our MUMPS/COBOL/VB4 application..."

"Unit testing - yeah, we've heard of that. Sounds exciting. Have you done any?"

Jon Skeet
I'm always tempted to take a job like this and try to be a hero for introducing new technology to the company. Then I wake up from my daydream...
Bill the Lizard
If an employer even says the word MUMPS, run. You won't regret it.
Tim Stewart
Tim -- they call MUMPS "M" now. Watch out.
Dave Markle
Yeah, lookout for a job for <fun language> where they ask you lots about your experience with <dull language> too
David Kemp
Yeah, i came for the Python job, now i'm refactor a crude dotnet application. :(
Andre
Dave, thanks for the warning!
Tim Stewart
Ahhh, MUMPS I remember that. Any language named after a disease that makes men sterile has to be fun to work with... (!)
Chris Huang-Leaver
What's FAR worse is when I mentioned unit testing at an interview for a bank, the reply was "No. We don't have time to do that." I was offered the job but turned it down. At least if they say it sounds interesting, you have a better chance of converting them..
IainMH
I was hired as a VC++/C# guy. I was asked to do mostly VB6 and Excel. I lasted 3 months there.
Perpetualcoder
@Andre - I came for the crude .NET job; now I maintain VB6. Ouch.
JasonFruit
+1 ... totally what I've encountered
chakrit
@Dave - No they call it Caché now... watch out even more! ;-)
fretje
Don't knock MUMPS - the syntax might not be anything special but the architecture did spawn an awful lot of imitators. Many, many 4GLs of the 1970s and even later owe a lot of their fundamental architecture to MUMPS. Highly influential and very much unsung.
ConcernedOfTunbridgeWells
+10  A: 

The deal breaker for me is when i look at the books in the office and there is nothing but programming books.

For me personally I like to see a good mix of books on the business of software development, efficient development process etc. It tells me that there is at least someone there who want to understand the end to end process.

I've worked in several companies where I've had to initiate development processes etc. that i now want to see that the foundations, of sorts, is already there.

Matt Goddard
do you ask them if you can have a look at their books @ interviews?
JohnIdol
I'd have thought that NO books would be the worst case here!
Valerion
I think I agree with you, but the guideline you present about books could be better worded to improve clarity. My first thought when reading the phrase "nothing but programming books" was that you were looking for philosophy or history texts or something.
que que
+62  A: 

This is the bitter voice of experience talking. ;-)

  • When the interviewer does not seem happy with his job
  • When the interviewer does not give you firm assurance that you'll be doing what you want to do ("We also have some REXX programming that we do..." means you'll be a REXX programmer)
  • When the company doesn't keep their systems up to date ("We still use Windows 2000 and .NET 1.1")
  • When the company is not financially healthy
  • When management doesn't understand software development or doesn't see the benefit in good SCM practices

And, the aforementioned Joel Test... But failure of the Joel test isn't as much of a dealbreaker as if the company is not open enough to want to succeed at it.

Dave Markle
That is true. It's one thing if they started with a 0-2 on the Joel Test and now they are a 4-5 and working on getting better. That's a good thing, and if you have experience in one of the lacking areas, you might be an asset.
Thomas Owens
I second what Thomas Owens was saying. I, too, really like what Dave Markle said about the difference between failure on the Joel Test versus sincere efforts toward future excellence on the test.
que que
about 90% of the companies I have interviewed with (and most that I have worked for) over the last 10 years have failed on at least one of these points. The real deal breaker is the lack of desire to improve
Mark Arnott
It's fine and dandy for the company to be open, unless that means: "sure, implement and maintain ci, issue tracking, testing, etc. - btw: your expected deliverables haven't changed." - If it's not there the day you arrive, then they don't know what they're doing. I like to work with/for people smarter than me - not train my boss in how to manage a software project.
SnOrfus
+85  A: 

A big red flag for me is if I get the feeling that I'm walking into a situation where I'm going to be the best dev in the shop, unless I'm going in knowing that I'm going to be the lead. If they're wallowing in mediocrity, I'm likely going to be miserable.

Also, if my spidey sense tells me that they know a lot of buzzwords but don't actually know a lot, I'm running for the hills.

If they code by the seat of their pants, that's trouble.

I can zone out noisy work areas (I wear my headset a lot) so that typically isn't an issue.

itsmatt
From your first three points it sounds like you're the one interviewing them. This is exactly the attitude to take.
Bill the Lizard
I agree, but I can't tell if you're being sarcastic?
Jason Maskell
+58  A: 

Lotus Notes. This is by far the worst email program I've ever used.

The way I look at it is... if they can't put a decent tool in place for something simple like email, what are the chances that your development tools are going to be any good?

Vinnie
Completly agree on this Notes is such a pile of crap
alexmac
I'd agree if this is a software company... if it's the software portion of say, an accounting company... then i'd be willing to overlook notes.
chills42
I shared your answer w/ a coworker because we have had bad experience with Notes. He reminded me of the steaming pile that is Oracle Collaboration Suite. Hooboy, vhat a stinkah. At least Notes works, though it's a pain.
jj33
Notes is absolutely horrific. We're switching to Outlook and I'm counting the days...
agartzke
Never have I used such an abomination for an email application
Russ Cam
Notes can be used as an IMAP server and thus you could use every mail-client you want. You just need to get the admin to run IMAP.
boutta
Only Notes place I ever worked at was a ColdFusion shop. So +1, completely agree.
Jeremy Frey
Notes makes me wish for Outlook/Exchange. At least with Oracle Collab Suite (working for Oracle) we had Outlook for a front-end, and they eventually got the OCS connector mostly working. And I say not liking Outlook/Exchange.
Zathrus
Notes isn't an email app, it's a groupware platform that happens to have a very badly written email app written for it. Some of the groupware apps we've written are very popular.
paxdiablo
@Pax - I agree. Notes is great for lots of things. At a job I had 5+ years ago we used it for tracking billable hours, hosting discussion forums, and many other useful things that my current employer is lacking. Unfortunately we also used it for email.
Clayton
It makes me die a little inside when I hear about a group using Notes just for email. There's a lot of decent capability in Notes, and it's being completely wasted.... and they're using its worst feature instead. It's like buying a car for its cigarette lighter.
Trevel
But Trevel, it took ages for the lighter to get hot, and half the time the cigarette didn't even light. The next car I buy is definitely going to have a zippo-built lighter in it.
Travis
I disagree. It's not a red-flag. Notes was the first email application that allowed custom coding onto it, and my company has used Notes since it was available. They are now migrating to Outlook, an equally terrible pile of Drek IMHO.
Pulsehead
@Pulsehead -- agree. Not that Notes is such a great application, but I've used it and Outlook both. The Outlook codebase doesn't exactly have a rosy reputation within Microsoft (the phrase "steaming pile" tends to enter into discussions).
Pontus Gagge
@Pax: I maintain that the only people I've ever met who talk notes up are people who directly make money fixing it (Notes devs, contractors who specialize in notes dev't). I've never met a normal user who used it for anything (including non-email uses) that liked it.
Greg D
I have to use notes on a daily basis :(words don't begin to describe how shocking it is
Matt Joslin
+32  A: 
  • Lack of integrity in the boss
  • Dysfunctional teams, especially if you can tell during the interview
  • No time to learn or explore
  • No mentors (unless that's why you're being hired)
  • Unwillingness to invest in technology
  • Draconian process or no process, both are bad IMHO

[EDIT] A normal work-week of more than 40 hours

tvanfosson
Agreed on the work-week issue, even more so if you are salaried.
Rob
how are you supposed to see this in an interview?
Hugo
@Hugo: If you're working with a recruiter, they'll at least hint at it (if you have a GOOD relationship with them). If you're plugged into the local developer community, drinking with the right people will get you all the appropriate war stories. Else {run(run(away))}.
John Dunagan
@Hugo -- ask questions, ask if you can talk with current employees, look around while getting "the tour", observe the interactions of people on the interview team. You are interviewing them as much as they are interviewing you.
tvanfosson
A: 
  1. You get an instruction by the employer to be formally dressed for the interview
  2. All those that are interviewing you are not programmers (or dont have a background in it).
  3. They tell you that you need to be in the office everyday at 8 AM.
  4. You cannot own a laptop because you cannot take code home for security reasons.
  5. They tell you that you will interact with testing/documentation people once every quarter.
Ather
point 4: has that ever happened to you (or anyone)? Seems plain stupid to me
JohnIdol
I don't see why formal dress for an interview should set off alarm bells. I'd never consider going for an interview in anything less than suit and tie - if you can't make an effort for that it doesn't show much about how much effort you'll make in your work, regardless of normal dress code.
Valerion
Anywhere that requires govt. security clearances would have rule #4. I've worked in quite a few such places. Not real sure why this would be a huge problem for someone. You *like* taking work home with you? Blech!
T.E.D.
Doesn't seem unreasonable to be formally dressed for an interview and show up at 8 in the morning for work.
Paul Nathan
Getting to work at 8 AM is fine as long as I can leave at 4 - 430 PM.
Kibbee
An applicant should always dress well for an interview, otherwise he's showing that he just doesn't care about anything.
Lance Roberts
Sorry, I really have to down vote this one. Nothing you're saying makes sense. #5 is the only one that strikes me as plausible, but your project manager should do most of that for you, no?
Abyss Knight
+1  A: 

If the interviewer is curled up in a ball in the corner, mumbling 'death march'

toolkit
+3  A: 

Many good answers - I'd add checking out the dev to tester ratio - 5D:1T or lower being good, IMO.

Gordon Mackie JoanMiro
+97  A: 

"We use a modified waterfall workflow methodology."

John Dunagan
Which translates into "those above you piss on you regularly".
Paul Tomblin
Is there any other kind?
devmode
Excellent, Paul!
Andrei Rinea
Oh, so true. If I could upvote this more than once, I would...
Ian Nelson
I wish I'd read this 5 years ago before I accepted that job...
Greg D
arrrrgghhhhhh!!
Vidar
+12  A: 

Noisy and Cubes is not necessarily a bad thing. It can sometimes mean that you're working in an energized interactive environment.

It comes down to the sort of environment that suits your style. I like working on a team in close proximity to others. My best programming experience was in a room with 4 others with no walls, a conference table in the middle and a huge whiteboard nearby (as well as whiteboards at each desk). It was incredibly collaborative, creative and productive.

Those 4 years created a valuable foundation for the rest of my career.

TrickyNixon
I think there might be a difference between having a team huddled together in what sounds like a nice environment and coders next to the telemarketing drones.
Echostorm
Or coders next to salesmen - never again.
Martin Beckett
Or the guy next to you sitting on a conference call all day on speaker-phone (even though he owns a headset! grrrr).
Awaken
+7  A: 

First, what breaks the deal for me may be the one thing that gives you an easy, peaceful feeling. I like change, disruption and reorganization. I like forging ahead with not usable internal support organization. That's me. If you like stability, read no further.

Caveat 1: I've been a contractor for 30 years, and had over hundred positions -- and almost as many interviews. This may not fit your idea of a good way to work/live.

Caveat 2: When all jobs are temporary, nothing is a deal-breaker.

With that warning, here's what I don't like.

The interviewer is your prospective manager -- not an HR person -- but they lecture you for 20 minutes on the ins and outs of the project, the politics and the technology choices.

After 20 minutes of listening to them talking, they follow up with "do you think you can do this?"

Nothing good comes of the above.

The answer is always "yes" because the question is merely rhetorical. All future conversations will be like this -- all their questions will be rhetorical -- your job is to guess what they've already decided.

S.Lott
"With that warning, here's what I don't like.The interviewer is your prospective manager -- not an HR person -- which is a good thing." That's really confusing. The interviewer is your prospective manager, which is a good thing, but that's something you don't like?
jcollum
+154  A: 

For me, the biggest deal-breaker in a development job is the requirement to be on-call.

ChrisThomas123
I'd mod your post up 100 times if I could.
hunterjrj
I agree, like wtf is that about?
leppie
On-call is bad, but what it says about the company is that either:a) they aren't willing to hire/train/retain qualified tech support staff ORb) that inter-departmental communication is so poor that tech support staff doesn't have enough information to support the techBoth are bid red flags.
Robert Gowland
It can mean also that the company has decided to invest in custom software that wasn't well designed. Hence, heavy production support. However, if you are a dynamic individual with an eye for improving things, these places can be an opportunity, if the management style permits.
Bernard Dy
As long as they pay you to be on call and there's some sanity to the rota. Once you tell them that calmly and as nicely as possible, they don't usually ask you again.
Robert Paulson
+1 - will never do that again!
Steven A. Lowe
It can depend. I worked a job where the developers were 3rd level on-call, and would only get called if there was an actual high priority bug. This normally meant a monetary transaction. On a team/rotation of 10 programmers, I was paged twice in 3 years. I think that's fair.
mtruesdell
If you're on call for frequent support work this would suggest a mixed development/operational workload - and possibly an unrecognized one - which is a no-no in my book. Occasional troubleshooting support is reasonable.
ConcernedOfTunbridgeWells
As I just finish monitoring a system finishing up it's morning run before going in to work... I certainly agree. I'm just not sure how you can get around on call for certain corporate jobs supporting customized software and batch cycles.
C. Ross
IME, having developers be on call is a good thing for software which needs to be running 24x7. After they get a few calls, the reliability of code improves.
Devdas
+14  A: 

Required travel would be a deal breaker. (Since I have a family.) Not to mention that getting thrown into the client's home turf when things are broken is pretty nerve-wracking. Especially when what's broken is back at the office but you get to sit there in front of the client on the phone (or not) while your co-workers post on StackOverflow and go to lunch, etc.

mspmsp
I wouldn't consider a deal breaker, but there should be extra compensation for this.
Casey
+27  A: 

Here is a list I recently compiled (mostly for myself, but I am sure a few aspects will be shared by others).

A list of things to keep in mind on the next interview.

  • Ask to see a portfolio, if not available online
  • Ask to see some of the code of the best/lead developer, this will be the best expectation
  • Ask to see the version control log and unit test log, dont fall for ‘yes, we have/do that’
  • Ask that the best/lead developer be present at the interview
  • Make sure the best/lead developer is better than you, else you will be doing his job
  • Ask to see some run of the mill code, any random snippet
  • Ask them to be very precise on the responsibilities of the applied position, make them contractual
  • Ask to look at their DB structures
  • Ask to see architectural and design documentation

Once done with the above list, and you are happy, proceed with a normal interview, else say “thanks, but not interested”.

leppie
Most companies are going to be reluctant to share all that without an NDA. If I ask "which VCS do you use" and they say "Subversion", I'll take their word for it. Some interviewers maybe deceptive but I've never come across outright lying. If they did lie, I'd be straight out of there on day one.
Dan Dyer
That's not to say I disagree with your basic advice. You always have to keep in mind that you are interviewing them as much as they are interviewing you.
Dan Dyer
If offered the job, ask to work there for a day, for you to see if you fit in. I've done this a couple of times, not only does it help you make a decision, it really seals the deal with the employer in that they realize how much you care about picking the right job.
Jason
+6  A: 

i recently had an interview with a BIG company and I figured that they would be at the cutting edge of technology, the following had my spidey senses going

  • no definite answer on their QA process
  • no definite answer on code review
  • unit test - at times
  • sharing code amongst teams - maybe
  • no answer on their source control project
  • as far as CI goes, they said depending on time and project
  • they asked me a lot about GAC even though they do not use the GAC to place their assemblies
  • they did not hear of subsonic, nhibernate, nservicebus,add-inn framework etc even though they do a lot of back end stuff and things with .net 3.5
I hope you did not accept the position, or were they too 'scare' to offer the position to someone that can see thru the BS? :)
leppie
Who was doing the interviewing? If it was someone in HR then they might not have know the answers - if it was someone on the team then those are red-flags.
Rob
I would be scared if I was only interviewed by an HR person.
leppie
@leppie - At some companies HR will do an initial interview before handing you off to the actual group manager for the position you are interviewing for.
Rob
I did the interview with their architect, senior architect, technical project manager, tech lead, and a department manager who is hands on with everything sql.
ps: they didnt offer me the position coz i think they did not like my work with O/R mapping and the unity and add-in framework and had done a lot of work with writing API's and custom assemblies,not enough UI work in last year
+19  A: 
  • Visual SourceSafe. Never again I say, never!
  • Having to be at work at a specific time in the morning (like 8:30)
  • Anything that sounds like "we really want to implement [practice that good developers do] but we're real busy right now"; this means they're a code-it-now-fix-it-later shop

I'd put lack of unit testing on there, but honestly in my last job search I found that only 40% of the places I interviewed did unit testing. Which is pretty sad really but there you are.

jcollum
Visual SourceSafe is fun. Especially if someone who no longer works there still has the code checked out!
MadMAxJr
The admin can uncheckout this code...
Hapkido
What if it's the admin who no longer works there? :)
Bill Karwin
using VSS on my current project. it's awful, god freaking awful.
ManiacPsycho
VSS = deal breaker; voting up.
Jay Bazuzi
It's important to define unit testing in the interview! Most of my coworkers consider unit testing to be, "I ran the code once before I checked it in, and it worked ok." Spot checking is NOT unit testing!
Greg D
+246  A: 

The Joel Test and Field work in non-IT specialised organisations

For a software company or an in-house development shop the Joel Test (as various other posters have discussed) is quite a good start. However, as a contractor one tends to find oneself working in companies that are really not geared to develop software (otherwise why would they need to hire contractors?). Since I've been working in London I don't think I've seen a company that would rate more than 3 or 4 on this scale. Usually they can get specifications, source control (even if it's just VSS) and someone to do testing. Sometimes they have a bug tracking system.

In this situation, the actual project environment is quite sub-optimal and often has other political obstacles to getting work done. Data warehousing and B.I. projects are particularly vulnerable to this type of issue as they are dependent on interfaces to other systems, which in turn have their own politics. You can't really do a data warehouse project without having to stick fingers in pies, so these political obstacles are more or less unavoidable.

Typically, there is also an incumbent and poorly documented back office with their own manual procedures, politics and vested interests (often referred to as 'Gatekeepers' in data warehousing literature). There may also have been one or more unsuccessful attempts to produce a coherent MIS platform, so one tends to start out having to carry a burden of proof. The back office staff may or may not view the project as a threat.

Management's commitment to the project and making it work is a key factor in project viability and can be a make or break issue. In my experience management is really a weak link - project sponsors have to be prepared to back the project when it needs the business to pull its weight and line management need to be prepared to act as a two-way channel. I tend to be wary of signs of managmement that look like they aren't pulling their weight. Poor commitment from project sponsors, inadequate resourcing and evidence of a sleazy or self-serving management structure raise big warning flags.

Warning signs - some positions and interviews I've walked away from (or wished I had):

  • Interviewer comes across as sleazy. This is a gut feeling or 'vibe' thing. At one point I went for an interview at a large consultancy and got the distinct impression that they were more interested in upselling than anything else. Sleaze is a big one for me as B.I. work is dependent on what is sometimes called 'customer intimacy - you need to gain the trust and backing of the business. An atmosphere of sleaze isn't going to promote trust.

  • Interviews that consist exclusively of trivia questions or where the interviewer appears to be trying to prove they're cleverer than you. You don't want line management that is in the habit of trying to run you down. It also suggests some insecurity which can manifest itself in all sorts of negative ways. In the worst case it shows management looking up interview questions without really having the depth to do a competent technical interview. In a contracting role this is not necessarily an issue as they may genuinely need to bring in expertise that they do not have locally. However, an unwillingness to admit this or run the interview on an honest basis is also a warning flag. I also tend to view excessively structured interviews as a warning sign of someone who wants to simplify the decision down to tick boxes without taking responsibility for making a thoughtful evaluation of the candidates.

  • Positions where the employer is offering less than a market rate. At best this is a clear signal that your management (at some level) is not giving the role the support it needs. If the manager can't or won't sign off (or get signed off) a market rate for the role, what other support will be lacking?

    At worst it is a sign that someone in management is always trying to pay less than the market for what they are getting. People like this are self-centered and will always try things on - give them an inch and they will take a mile. They will also not pull their weight when you need support for something.

    Lack of management support to resolve issues not directly under the control of your project is a key driver of project failure, wasted time and unresolved issues that hang around and cause friction. As these will be issues on your project you will be viewed as responsible for them by default. This is the sort of situation where unsupportive line management with a 'you should just make do' attitude can do real damage to the project - and potentially your career.

  • Signs of micromanagement, self-serving management or excessive focus on minutae of performance. This is a signature of a direct report who is in the habit of reporting ticks in boxes to their management and proclaiming how wonderful they are for delivering everything on time and on-budget. Micromanagement of this sort is a bad habit in software project managers. It generates artificial work stress, disrupts flow and is always a drain on morale.

    Also, it allows the management to fob off the project risk to development staff, setting you up for meaningless 'failure to deliver' evaluations, which the manager now has an incentive to give in order to cover their own arse. This makes it a personal career risk to be involved in this sort of environment. For obvious reasons, all estimates will get padded in this sort of environment and Parkinsons Law law will apply - which means this type of management is a net drain on throughput.

    Finally it is also indicative of middle management who are not willing to stick their neck out to manage expectations with the business. This will erode your credibility, as management are in a position where they make self-serving promises to the business and blame the development staff for missed schedules without having any accountability for the reaonableness of the promised schedules. If it starts to reflect badly on you it is too late; you are already being perceived as poor at delivery and anything you say is likely to be regarded as an excuse.

    It is also a possible bellwether of endemic CYA culture that may be running at unhealthy levels. This is a situation to avoid if you can for many reasons - the principal one is that it gives people you are working with a strong incentive to drop you in it to cover themselves if they get in trouble, which means that you can't really trust other parties in this type of environment, including your own line managmenent.

  • Support jobs dressed up as development. Hedge Funds are particularly bad for this. Also, anything billed as '50% development, 50% support'. This should be mentally translated to: 100% support and a development workload that won't get done because of all the interruptions. This type of job is unpleasant and sets you up as a convenient scapegoat for missed development objectives. Combined Deveoper/DBA jobs are prone to this sort of failure mode.

  • 'Polyanna' overly positive hiring managers. Overly positive people who continually make claims like 'we don't have that kind of problem here' can be an indicator of middle management who won't acknowledge issues or won't manage upwards. It can also be an indicator of control freak tendencies - this type of personality tends to try and control information flow and present a rosy outward appearance. Finally, it can also be an indicator that the interviewer is misrepresenting the role or circumstances.

For a contractor, where (to some extent) you're only as good as your last job, career risk is actually a significant issue. As an example I've seen a situation where an ostensibly plum job at a company remained open at increasingly OTT contract rates because of the reputation that company had within the market. Previously I had been hired by the then incumbent in that job, who had been with them for 8 years until the company was acquired. He subsequently left, largely due to the rather septic internal merger-and-acquisition politics, and his replacement lasted for just a few months before he also left. In the meantime I had left as well. After that the position was such an obvious poison chalice that they couldn't fill it, even offering something like 50% over the market rate.

Joel Test for a typical London Insurance firm:

  1. Do you use source control?
    Usually they do have source control, typically VSS (better than nothing although some say that's a matter of opinion ;-) On one occasion I've seen CVS used for a Java project.

  2. Can you make a build in one step?
    Usually not geared for this (at least not on B.I. systems). However, I have seen C.M, C.I. and scripted builds on one occasion and introduced them on a couple of others.

  3. Do you make daily builds?
    I have seen this on one occasion but usually they don't do this sort of thing.

  4. Do you have a bug database?
    I have seen this on two occasions, but usually informal spreadsheets are the norm.

  5. Do you fix bugs before writing new code?
    I've never seen this done in practice.

  6. Do you have an up-to-date schedule?
    Most would say they do, but in practice schedules tend to be more for show than anything else.

  7. Do you have a spec?
    Finance companies doing any U.S. business basically have to have a spec document for Sarbox controls. This might not have been the case a few years ago.

  8. Do programmers have quiet working conditions?
    Never. Always in open-plan offices.

  9. Do you use the best tools money can buy?
    Software tooling tends to be OK but fairly conservative. Hardware for resource-intensive development work such as a data warehouse project will often be lacking and correcting the shortcomings often takes months and backing from high-level project sponsors. On a number of occasions I've also seen software tooling - even basic stuff like Visual Studio - take months to arrive. For this reason I also maintain my own development lab.

  10. Do you have testers?
    Often but not always.

  11. Do new candidates write code during their interview?
    I've never seen this happen in practice, but the jobs I do tend to sit somewhere between development and consultancy so coding is only a part of the job.

  12. Do you do hallway usability testing?
    When I have business reps with good buy-in something similar happens on occasion but it's far from the norm.

EDIT: Involvement in the support of what you've built, particularly in the early phases of roll-out can be quite instructive for a developer (as bernard-dy says). However, a mixed development/support role where you are on-call for general support issues (as is typically the case in a role described as 'Developer/DBA') has fundamental conflicting requirements within the role. This sort of environment is also frustrating and unpleasant to work in.

Doing any non-trivial development job requires concentration and support work is reactive with an implicit demand of 'drop everything'. This context switching is very toxic to anything that requires concentration and it will be the development work that suffers. In a role of this sort the immediate priority is always on the support but delivery deadlines for development are far more convenient judge performance by. The typical trap here is to be expected to drop the development work in favour of the support work but later find performance being evaluated on development deliverables (i.e. performance assessment is out of sync with the real work priorities).

ConcernedOfTunbridgeWells
+1 for '50% development, 50% support' comment
Even Mien
+1 for positions offering les than market rate: they *never, ever, ever* meet the post-probation promises they make
annakata
I've learned to discount heavily promises of what I will be doing in the future. If you're not doing what you thought you'd be doing in a few months, there's a problem.
David Thornley
With regard to support and dev, doing both often makes you a better dev. Too many developers only hack away, failing to put maintenance considerations into ultimately high-maintenance designs. They say, "I only do new stuff, I don't like support." Have these devs ever had to eat their own dog food?
Bernard Dy
Fair point in that it might motivate one to build systems that don't incur maintenance issues. However random support responsibilities where one is on call for items unrelated to the development work is very toxic to the development workstream.
ConcernedOfTunbridgeWells
NXC, agree. Unfortunately in IT shops it happens. Teams here handle both ongoing maintenance and new feature requirements. You are right, it is frustrating, but as Spolsky notes, the business often lacks compelling reasons to improve things. A challenge indeed, but sometimes also an opportunity.
Bernard Dy
Yes, I've seen it happen on a few occasions. One of the incidental benefits of contracting is that the funding tends to be tied to individual projects, so you've got quite a good case to push back on random requests for support work. I also tend not to admit that I used to be a DBA ;-}
ConcernedOfTunbridgeWells
50% support doesn't mean dogfooding it means the phone ringing every 10mins with some manager that can't be bothered to read a manual.
Martin Beckett
@mgb: Yes, that's true too (the old "ID-10-T" error code [take out the dashes :) ]). But in my experience support is often driven by poorly-designed, buggy, counter-intuitive apps. Feeling the pain of my mistakes (and of others) has made me a more compassionate, thorough, and thoughtful developer.
Bernard Dy
Your support vs. development example is too restrictive. Watch out for any job where you are hiring to do neat thing A and they mention also doing horrible thing B. Last time this happened to me, guess how much time I did A. Hint: It was a very round number.
David Thornley
I think the combination of development and on-call support is particularly toxic as they have profoundly conflicting requirements. That's a different issue to being sold a greenfield C# development position and being handed a festering pile of legacy VBA code to maintain.
ConcernedOfTunbridgeWells
(continued) That's not to say that bait-and-switch isn't something to look out for in its own right - your point is totally valid. See the section about hedge funds for an example.
ConcernedOfTunbridgeWells
thanks for this informative post
Konstantinos
Spot on regarding management support. The open-plan culture in Britain is ubiquitous, not even cubicles, no surprise we've got hordes of misirable workers taking time off because on stress-related grounds.
Totophil
Possibly the best thing written on SO.
mrydengren
Wow this is incredible and probably the most eye opening thing I've read on this websiteI agree that the 'dressing up support roles as development' is a major problem especially in large companies maintaining software for long term projects, where you end up doing a number of roles and never really getting down to proper dev. Many recruitment agencies tend to sprinkle these types of roles with lies about how much development you're going to get
djhworld
+11  A: 

Worked at a place with no vacation time. Said we'd "work it out later". Stupid of me, took it (of necessity). 2nd day there they asked me to sign something that said

a) If you ever look at non-company stuff from your work computer you can be fired (this is a small, dev shop, 6-7 developers only, not a financial).

b) If there's ever ANY legal dispute with the company, you agree in advance that you'll pay all the companies legal fees.

I started looking that day.

Steve B.
Always read what you sign! It pays dividends to have an attorney read those things too. If the prospective employer wont wait - walk.
Optimal Solutions
Did you sign it? Once I was asked to sign something not even remotely that bad, but that I didn't like. I just never signed it. They asked me 3 or 4 times, then forgot about it.
niXar
Refused first, then when they insisted, signed and started looking. A few weeks later they asked another applicant his entire medical and educational history. Not current, but his entire life. He stormed out and almost got violent with the interviewer.
Steve B.
As he should since that's illegal
jmucchiello
I once had an employer who asked me to sign a paper with a "non-competition" clause that said that when I left, for whatever reason, that I would not take another job that was in any way related to computers anywhere in the United States for five years. So, if you lay me off I'm supposed to work flipping burgers for five years? No thanks. I just never signed it. They never came back to me about it. I'm not sure what I would have done if they'd insisted, but I hope I wouldn't have been dumb enough to sign it.
Jay
WOW! That is off-the-charts crazy!
Geoffrey Van Wyk
+67  A: 

The Joel Test is great, but (yes, but) in some cases early on in your career you need to experience things. Poor management, fumbling through bad code, learning from your mistakes are all things that the perfect job should have early in your career. Am I advocating sacrilege? Yep. Having done this very thing myself, I can honestly say you'll learn more and work smarter, not harder once you have.

I worked at a lowly web development company where the "desks" were kitchen counter tops bolted to a wall and our space was about 2 feet in either direction from the other station. I worked for peanuts, but you know what? I learned PHP, MySQL, XHTML and CSS in the year and a half I worked there and I also learned why source control was important, because we never had any and when you lose 8 hours of work to Joe-saves-over-me you start to wonder.

From there I worked at another start up company out in the middle of nowhere and was paid exceptionally well for my level of expertise. They had source control, and everyone there was great to work with. I learned that everything I learned could be improved, and I learned a bunch of new skills. Then I learned the next valuable lesson, which I had started to learn at my last position: Management is key. You need to be managed.

Now I work in what you call the "red tape bureaucracy" and will likely never go back, until I start my own horribly disorganized start up. Oh sure, the service oriented architecture and SOX compliance might get to you at first, but you have to remember that you are learning. Learn everything you can. Learn how you want to work, and how you hate working.

Be open and honest with the hiring manager. Otherwise, you're likely to end up somewhere you won't enjoy. As far as red flags? Go for your gut feeling, and the Joel Test. Just don't devalue the experience of working through problems. After all, in our profession, problems are why we have jobs in the first place.

Abyss Knight
Oh, and (as has happened to me) if the interviewer responds to you having another offer with "you should take that, this job is worse" then you have your answer. :)
Abyss Knight
Spot on. Suffering this kind of nonsense early in your career helps you see the light later on.
AndyUK
Yep. William Saroyan: “Good people are good because they've come to wisdom through failure. We get very little wisdom from success, you know.”
Bernard Dy
Sometimes the only thing you learn from a shitty job is that you have a shitty job.
James McMahon
+20  A: 

Making you work solely from a laptop with no monitor.
(About every large Consultancy that I've ever seen does this.)

Damo
My wrists are hurting just thinking about it. D:
Rob Howard
I bought a wireless keyboard and mouse. Only cuz the projects is interesting :)
Perpetualcoder
I don't mind working with the laptop, but the no monitor bit is too much. I currently have my laptop in it's docking station hooked up to a 19" and a 24" monitor... (I have it good, I know, not trying to showboat too much...)
Redbeard 0x0A
Or even better, a laptop but you can't hook up your own keyboard to it...
Timo Geusch
My Thinkpad T61p has the best monitor I've used yet, and the keyboard is great as well. I've since retired my 19" CRT and external keyboard in my office.
Nighthawk
I worked on a laptop with no monitor for 4+ years at my last job (I did have a keyboard and mouse via a docking station, though). I could have asked for a monitor, and got a decent one, but honestly there's nothing wrong with a good hi-res laptop monitor as long as your vision is good.
Dan Moulding
+48  A: 

The interviewer cannot or will not tell you how you will be evaluated and how you qualify for raises.

Robert Gowland
I never thought of asking that .. thx +1
CheGueVerra
Yeah good one, surprised no one else has mentioned it.
James McMahon
You've heard of lying right? I know plenty of companies that have promotion and renumeration policies. At the end of the day it comes down to how little can we give you to stay and would we miss you. I have a friend who took the hard line and they waved goodbye at him after 5 years...
Spence
@Spence, yes, but that's true of every answer to this question.
Robert Gowland
Most places I've worked, whether you arrive late and leave early and spend the time in the middle goofing off; or work 18 hours a day killing yourself for the company, everyone gets the same raise.
Jay
+36  A: 

If they do web development but outsourced their own corporate site.

Matt Lacey
This one is actually OK. I'd rather have the expertise in house focus on the project code, rather than the "flashy" website. That said, if the corporate site looks like it was last updated in 1997, its time to move on.
scunliffe
Right on the money dude
DFectuoso
+59  A: 

"No, the recruiter got that wrong, we don't do much Java, you'll be writing Tcl."

"Wow that's a long way to come for an interview. Sorry, the recruiter got that wrong, we don't refund interview expenses."

"Wow, that's a long way to come. Didn't the recruiter tell you, this is just a chat? If we're interested we'll get you back in on Tuesday."

"We don't use third-party code here, not even the standard Java API. We wrote our own String class, it's more efficient."

"What version control do we use? Visual SourceSafe."

"We normally work until about 7 or 8pm, but on Saturdays we finish at lunchtime."

"You'll be on-call out-of-hours Monday to Friday."

"All developers spend some of their time doing telephone support."

Dan Dyer
The last one == run... now... NOOOOWWW
DFectuoso
If you travel a long way for an interview, you can be sure that's going to be your daily trip. Why do you expect to be compensated for that one extra trip? Over here it's considered very rude and arrogant to ask for travel refunds.
Rolf
@Rolf: It was beyond commuting distance, it would have required relocation. They offered to pay for the travel when they invited me to an interview (I did not ask for it). They then they failed to deliver on their promise. If they hadn't had offered, it wouldn't have been so bad.
Dan Dyer
"All developers spend some of their time doing telephone support." Actually that's a recommandation of 37signals... I guess it depends how it's done.
e-satis
Yup, fully agree with the complete list except for the last point. *Some* phone support can be a great thing. Learn how your products are used and all. In sane doses, of course.
Pekka
+67  A: 

I walked out of a lucrative prospect one time because their NCA (Non Compete Agreement) read like it was written from Karl Marx or something like that.

Also, ANYTHING (and I mean any little or large or in-between thing) that I developed on, say, a Saturday afternoon was THEIR property. Talk about lame. I asked them, "If I am doing a science project with my kid after dinner and we create some pretty nifty gadget for him to show at the Fair - you own that?". The immediate answer was "yes". I shook their hands and said good-bye. It was then that I decided to go it alone (self-employment) and vowed never to do that to people who were hired to help me. Never tie their hands.

Optimal Solutions
100% agree. This is arguably the most important thing for me (even though, in my answer, it was the #2 bullet point). :-P +1
Chris Jester-Young
I couldnt agree more! I really wasnt aware how many developers feel this way too. Nowadays, when I negotiate with a client, I put myself in a position of this: "How would an attorney handle it?" Meaning: would an attorney agree to this nonsense? 9 out of 10 times the answer is probably not! :-)
Optimal Solutions
Next time ask them "If i'm experimenting with virus programs at home and one of them gets loose and erases the Library of Congress, you'll pay for all the damages?"
Steven A. Lowe
Oh, but the first week come in with an 3 meter tall display on the human plumbing system and ask them where they want it stored....
sammyo
"I make animal fetish porn videos - should I put the company name on the copyright?"
Martin Beckett
+8  A: 

If I become seriously interested in the position, I always ask, "Do you like your job? Are you planning on staying here?" Watch for a quick flash of expression across their face, and watch their body language carefully while they try to answer the question.

DOK
While this sounds nice in theory, I think it's really inappropriate to ask the interviewer whether they like their job. It's personal and it's none of your business.
Evgeny
+28  A: 

I walked out of an interview once after 20 minutes when it became clear that their core hours were 9.30am-4.30pm and "they would be flexible about doctor's appointment". It didn't look like the sort of place I could wear shorts to work either...

Now that I am an employer, both of my employees frequently get in at 11ish, one because they work late, the other because they go and do sports in the morning. So long as they are here for meetings and get the work done, why should I care?

Airsource Ltd
+1 - that is a great attitude!
Optimal Solutions
erm, what the hell is wrong with 9:30-4:30? That's at least an hour less than most jobs. I wouldn't expect more flexibility unless it was a software house.
Draemon
wanted more flexibility, and had no trouble getting it. I don't want most jobs - one will do. And yes, it was a software house.
Airsource Ltd
9.30 - 4.30 'core hours'. That means just enough flex time to avoid paying you for trains delays, doctors, toilet breaks, etc, but not actually flex time.
Colin Pickard
dude i work 8:30 to 6, you guys have it made
Shawn Simon
StingyJack (comment deleted) - my employees are certainly not lazy. If they get in late, they also leave late. Do you really think it is acceptable to abuse my employees, who you have never even met?
Airsource Ltd
I Second Shawn. 9 to 6 here.
pi
I plan on having my own shop soon... and I plan on having a fridge with beer and energy drinks and a kitchen stocked with junk food... nothing else helps you code better.
Matthew Whited
9:30 to 4:30? Where is this? Does this include a lunch break of some kind? My lord! I work 8-5, M-F, which I understand to be normal in my market/area... If I could shave off an hour, I'd love it!
anonymous coward
For everyone that misunderstood, 9:30 - 4:30 are the core hours, hours you HAVE to be there not the total work hours. You can work 7:30-4:30, 8-5, 9-6, 9:30-6:30 (all with an 1 hour lunch), as long as you are there at 9:30am and still there at 4:30 pm. At my workplace, core hours are 9-4 and I usually work 8-5.
Alan Jackson
+21  A: 

I've learned the hard way that technical questions that are dead easy are usually a sign of company full of people who wouldn't be able to answer harder questions.

So when you get technical questions ask yourself if you want to work with a group of people where these questions represent the minimum technical ability level.

tolomea
Amen.Took me a loooooooong time to realize that.
Steve B.
I learned this the hard way. I found out about a year later that the (ridiculously easy) quiz I took at my interview had "stumped" a number of the senior devs.
Greg D
I once had an interview where I was trying to convince the "architect" that a Square object shouldn't always inherit from a Rectangle object unless you know what you want your square to do. I said "this is the answer you want me to give, but this is my actual answer". Got the job, and turned it down.
Cameron MacFarland
A: 

If they are half competent they will be able to bullshit through a lot of the valid tests people have raised. A great sly one is to ask about what your personal dev environment and box. The attitude to providing a productive environment says a lot about their real attitude to developers.

  • New mac pro == good, unknown second hand box == bad.
  • Whatever OS you want == good, SOE Win2K == bad.
  • Choice of IDE == good, tools budget == great!
pte
+47  A: 

My top 10 red-flags:

  1. Their programmers are stuck with 17" tube monitors.

  2. Internet access is not allowed or is severely limited. Ex. They think you can do your job just fine with locally-installed msdn help.

  3. Their "data center" is running mostly PCs (ex. running DOS, Windows 95, Windows 2000, OS2, etc..)

  4. Their network is still running on Novell Netware or Windows for Workgroups.

  5. Their core data is FoxPro, Access, Paradox, mainframe extracts, etc.. [and this will likely never change as long as you're alive]

  6. You'll be required to participate in night support [and you're told not worry if you receive your pager before your PC].

  7. They ask you to take a hand-writing recognition analysis test. [yes, I was actually asked to take one of these once]

  8. They ask you to write a bubble sort. [It's not the bubble sort I'd be worried about]

  9. You're fore-warned that you should never install anything on your computer or store anything local because computers are re-imaged on an ad-hoc basis.

  10. A perk of the job is a new FranklinCovey with free re-fills every year. Worse - the dev mgr or lead architect interviewing you is toting one around.

17''? This is luxury in several countries, mind you. As well as a MSDN subscription (almost always pirated)
rshimoda
The poster said 17" tube not 17" TFT. Well OK, 17" tube is luxury in several countries too, but it's still painful.
Windows programmer
number 7 is pretty comon here in mexico, for all kind of jobs
DFectuoso
#9 is actually important for other reasons: you never ever want important or secure information on a local computer in some jobs. If the PC goes down, and you lose work, its a net negative all around. If your pc goes down with sensitive information on it, there's a chance it gets leaked. Bad!
Robert P
What's wrong with the bubble sort? As long as it doesn't seem like their pumping you for information, there are legitimate reasons to have a programmer program something at an interview. Bubblesort is good because it doesn't take a long time.
jmucchiello
+1 for tube monitors.
Geoffrey Van Wyk
+7  A: 

My deal breakers include:

  • working on commission
  • being on-call
  • any software shop where the sales staff out-number the developers 2-1 or worse (in my experience sales loves to promise the impossible)
Jeremy Bade
Commission? I've never even heard of that in a software position before. Then again I am new to the industry.
James McMahon
Yeah, it was based off the net profit from sales of the software after base salary was covered. However, the sales team would give away my program to close deals on the company's main product. Eventually they just stopped charging for my program but I had already left by that point.
Jeremy Bade
+3  A: 
  • when "interfacing with clients" really means "upselling whether they need it or not"
  • when "leading the development team" really means "writing specs and running tests for an outsourced team that I don't get to choose"
  • when "full telecommute" means "100% travel"
Steven A. Lowe
+8  A: 

I was being interviewed for a job about 10 years ago:

Interviewer: So, have you ever built a Java Applet?

Me: "No, sorry. I really don't know java. I have read about Applets and have a general idea of what are they for and the basic scenario where you could use them"

Interviewer: Uhm. Ok. But suppose that you had to build one. Could you do it?

Me: Yes, naturally I think I could learn to build java applets, just like any other programming topic.

Interviewer: Could you do it.. say.. right now? I mean, if needed?

Me: I could try.

Interviewer: Perfect. Can you start tomorrow?

It is the only one time I have rejected a job offer. I have met people that have worked there and all of them agree that this place is the worst depressing software sweat-shop.

Sergio Acosta
+8  A: 

If you get a chance to wander round where the "real developers" sit (maybe even on the way in to the interview) - check out what apps are open on their screens, and what books are on their bookshelves.

Warning sign apps are when you see nothing but outlook, excel, word etc open on their desktops.

Warning signs for books are when everyone's desks are covered with the latest "technology stack components in a nutshell" or whatever, yet they are in pristine condition, and do not even have any crease marks in the spine

madlep
+4  A: 

Having been lured in on the promise of working with the latest and most interesting technology, one of the interviewers asks me whether I happen to know any VB6 "just in case our legacy LOB app needs supporting..."...

Peter Mounce
+55  A: 

Wow, I'm surprised at the number of divas that replying. I don't know - as I've matured as a developer/professional, my 'deal breakers' have relaxed a lot. Honestly, I can't believe that people would turn down a good job just because they have to be there on time. Really?

For my last interview, the only thing that I asked was to see their code. That's the one thing that can really make me miserable these days. I can wear collared shirts, get to work on time, do just about anything, but working with bad code is just horrible.

Edit - Also, money can be a deal breaker for me as well. I have a no-go line that I will not drop below. The rest is a series of compromises. If you pay really well, I'll toe the line and wear collared shirts and look smart. But, if you've got cool technology and great people, I'll work for less money. But those aren't deal breakers for me.

Travis
I expect that many of the people here are, by virtue of spending time on a site focused on furthering our understanding and expertise, are passionate enough about their work to demand a conducive work environment.
Echostorm
If a potential job contains one or more deal-breakers, then it is not "a good job"
AndrewR
I agree with your sentiment that bad code is horrible, although I'm not voting up here because I want much more than good code.
Jay Bazuzi
@Echostorm: Most of what has been listed on these pages have been quite important for me, for sure, but I wouldn't consider them deal breakers. I'm not going to turn down a job that pays $30K more just because they expect me to be on time and wear a collared shirt.
Travis
About the on-time thing. I was offered a position at a company, but they wanted me to work from about 9/10-6/7, because everyone else on the team did. Sorry, I have a family and a life and accustomed to starting work at about 7-7:30, and I'm not a lazy bastard. That "on-time" is a deal breaker.
StingyJack
I'll go along with the pay thing. When you're confronted with it, we all have a price but I think there are limits. Even a crazy high salary isn't worth giving yourself a heart attack over.
Echostorm
Funny, my maturing process was the opposite - as a young programmer, I was more willing to "toe the line". With experience I've realized that if the most important thing to them is your arrival time, then there are other things wrong too - they need to get over it and focus on whats really important
AviD
I agree completely with you, Travis. You can't just have a set of hard dealbreakers. In certain industries, things like collared shirts and working 7-4 are standard. I think there are lots of people thinking only about "software shops", but what if you want to write software for NASA?
temp2290
If I was asked to work for the JPL/NASA and asked to wear suit and tie I'd be glad to do that... Hell I would dress as Carmen Miranda even!
Coconino
My list of deal-breakers has gotten longer as I've gotten older in large part because I can often get a new gig (I only do contract work) in a day or 2. When there's no threat of being without work (even in the current economy), and I'm only capable of working one full time gig at a time, I get to choose the gig at the top of the list and good gets left for great.
J Wynia
@Coconino: If I saw you dressed as Carmen Miranda, that would definitely be a dealbreaker.
Michael Myers
I do turn up in costume at times, it is mostly a cloak, a hat, a magic wand and the release build.
whatnick
+2  A: 

When they move you to another cubicle because you're "talking too much" to the developer in the cubiccle next to you...

Charles Bretana
Depends if the other programmer asked for it no ?
CheGueVerra
At least they didn't wrap you on the knuckles with a ruler.
James McMahon
+11  A: 

Just look at the office: if they have "Motivators" posted all over the place, then... Oh, yeah, then you're in trouble.

Also, open space environment sucks.

I hate those posters. Where I work, they are only posted near the HR offices. Smart!
StingyJack
does anyone actually like them? have they ever actually inspired or motivated anyone? has any actually ever looked at one and said "hey, that poster is right, it IS all about determination and teamwork and a positive attitude?" I'm guessing not.
nerdabilly
There are some hilarious demotivator posters @ http://despair.com/
Echostorm
We have demotivators hung everywhere. :)
Chrisb
+47  A: 

Free Coffee - You'll never find a more simple indicator of how much management respects its workforce.

Peets delivery service and a good espresso machine? You'll also get dual 21s, a fast machine, and the tools you need to get things done.

Drip machine and cheapo coffee service? You'll get a Single 21" monitor and a re-tasked "server" as your dev box.

Drip machine, little cup for quarters, and "The Honor System"? Single 19" & a cheapo HP box with XP Home. And Visual Studio Express Edition.

Bring your own? Bring your own machine too if you want to get any work done.

Jason Kester
how about access to porn ? all programmers like porn and only some like coffee
01
"Non-monitored high speed internet. Office doors that Lock."
Jason Kester
Well, we do have a decent coffee machine but we get 17" LCS as well (+laptop).
Nazgob
I don't mind if they filter out the porn on a web filter, but it kills me when the blog that is trying to tell me how to get something done is blocked!
Redbeard 0x0A
@nazgob +laptop is the key.
DFectuoso
I have worked with Free Coffee and a Free-20oz-Coke-Machine. These were to make up for the lack of trust - had to clock in/out via hand-scanner, and fill out forms if you were 10 minutes over lunch.
anonymous coward
+1. i like free coffee.
Geoffrey Van Wyk
+1. The parallels are genius (and accurate ime).
SnOrfus
+10  A: 

Ask about employee turnover.

JacquesB
+4  A: 

My deal breaker, other than the obvious unsatisfactory work environment; would have to be the expectation of a jack of all trades.

This is common in smaller companies, where a developer might answer a support call unrelated to code he's written, or make a system configuration change, or modify a DB schema, etc..

I guess the same could happen in a larger organization. Rule of thumb, make sure they understand that an agile development process doesn't mean you'll do whatever they want whenever they want.

If you're not careful they could have you mopping the floors. (not that there's anything wrong with that! --Seinfeld)

Phillip Jacobs
This is what I like about small companies - the variety of jobs. I suspect we've got different tastes.
David Thornley
And I came very close to making myself the master of all trades.
Joshua
+7  A: 
alexmac
I believe that it violates the user agreements to use the software over the evaluation period and that is very illegal. I would have reported them.
Jesse Dearing
That's made me sad just reading it. :-(
IainMH
+5  A: 

Beeing interviewed by your prospective manager and realizing he doesn't have any technical knowledge dating later than 1995.

Gabe
+26  A: 

You'll laugh, but I always check out the bathrooms/kitchen first when I show up for an interview. Often it tells you more about the people you're going to work with than the interview itself. If the group you're to be working with can't manage to keep a toilet clean by cleaning up after themselves or can't be bothered to wash their own coffee cup after using it, then it says something about the corporate culture.

Assaf Lavie
Your office has a kitchen?!
Greg D
Well, you know, a coffee break area. Has a sink, a fridge, microwave... I think it qualifies as a kitchen.
Assaf Lavie
We've got the fridge and a broken microwave. Sinks are in the bathroom, though, and there's no cupboard space at all. It's more of a repurposed closet. :)
Greg D
Agreed. Bathroom and kitchen are easy things to keep tidy - much easier than code, so if they are a mess, run far away.
Justicle
+6  A: 

If there is no bug tracking software and the general process used for develop is, "Just make it work!" this is a red flag.

If the idea of a specification is a one sentence e-mail, this is a red flag.

If the notion of career development is, "You want to do WHAT?" this is a red flag.

If the idea of source control generates a response like, "Hey, that sounds like a good idea. We should do that sometime," this is a red flag.

If mentioning the idea of testing one's code makes the interviewer say something like "Whoa... that makes sense. We should do that," this is a red flag.

I can see many more similar to the, "You might be a redneck..." type jokes.

JB King
+11  A: 

Personally, the main dealbreaker for me would be feeling like I'd never get to work on anything that I actually find interesting or fun. Given the choice of of doing dull, mind numbing coding in a top of the line private office with a two 24" monitors and working on fascinating and intellectually challenging problems in a cubicle and a 17" CRT I'll take the latter every day of the week.

+4  A: 

Deal breaker for me is some outrageous vesting period (5 years or more) for your 401k, or no matching 401k for a year.

When I'm at a company and the raises are very small, less than 6% then I start looking elsewhere.

ManiacPsycho
Just wondering, did you get that 6% raise this year?
Casey
+11  A: 

Not me, but a friend going for a C# position was asked on his first morning not to use objects.

"We don't understand that way of doing it."

Okay... He left at lunch.

IainMH
That happenned to me I started looking on the spot, Objects are shit I was told ....
CheGueVerra
Hmmmm... That is disturbing.
Alex Baranosky
I would take the job out of curiosity.
tuinstoel
This happened to me a couple weeks ago. "You used all those objects; I don't understand what's going on" from the senior developer.
mabwi
A long time ago, my wife was using procedural programming, and her boss complained about how the code jumped around. That boss may understand procedural programming now, but I'd bet against object-oriented.
David Thornley
This reminds me of a place I interviewed at a few years ago that oddly said that they do "functional programming" with c++. I had to ask what this meant. They explained to me how all their projects are done with functions and functions only. No objects or anything like that. main() calls another function, that function calls a few more functions, etc. At the time I was young and didn't fully understand how dumb it really was. THANKFULLY I didn't take the job.
nbv4
+33  A: 

There's the old Dilbert test:

If there's Dilbert cartoons all over, it means they're applicable. Run.

If there's a few Dilbert cartoons, fine. Stay. This is a good sign.

If there are none, they may be banned. Run faster.

David Thornley
Fantastic, and perfectly true. I wouldn't want to work at a place that doesn't have a sense of humor...
Robert P
once I added a dilbert comic as my desktop background. 2 days later they changed the group policy to force the company logo as the wallpaper for everyone...
vidalsasoon
These days, I like seeing XKCD comics on the walls.
Bob Aman
Isn't it the other way around? If it's a fantastic company, Dilbert cartoons wouldn't be relevant. Putting a Dilbert cartoon up means you relate to working at a bad company, surely
Sam
@Sam: There's always a few Dilbert cartoons that are funny in themselves, or which poke fun at geeks and not management, and there's parts of even the best company that don't work quite right.
David Thornley
yeah I somehow actually missed the entire point of the answer, ignore me
Sam
+6  A: 

If you can totally wow the interviewer and he or she offers you the job on the spot, its usually a very bad sign.

Flexible working hours are a must. If someone seems like a clock watcher and requires everyone be there from 8-6, it's a very bad sign.

Any place that treats developers like second class citizens is also not worth it. Lots of companies treat devs like a commodity to be bought and sold as needed. It will become very obvious to you within your first week of working there.

Outrageously high pay is another one. If you're making anything more than 10-15% more on your base salary than you think you should, it means they are paying a lot because the job sucks.

Karthik Hariharan
I like my ridiculously high paying, crappy job :)
Juliet
+3  A: 

Ask about the Application and its architecture. If they have no clue about the N-Tier Architecture , thats a bad sign.

In the enterprise world, companies invests time & $$$ to build an application and then they want to see the ROI. So somebody has to maintain the application for the rest of the years.

The company should also be willing to upgrade the technology and make it better. If not you will end up supporting classic ASP application, or .NET 1.0 applications written in classic asp procedural style.

There should also be a opportunity to build new apps in the job profile. If its all support and bug fixes. Then its a NO NO for me.

K Man
Wish I had listened to this before I Took my current job!
Wayne M
+3  A: 

"Before we can offer you the position, we'll need to schedule you for a complete physical and a drug test."

No, I don't do drugs. But if they don't have trust in me as a person, they certainly won't have trust in me as a professional employee. So thanks, but no thanks.

By the way, the folks on here who claimed Lotus Notes as a deal breaker - you really need to have a look at the latest Eclipse-based Release 8. As someone already mentioned, it's MUCH MORE than just an email client!

Mike
How can they trust you when they've never met you before...?
Max
I wouldn't be too negative on drug testing. I work for a place with a lot of heavy machinery--the drug testing is aimed only at them but they would be in legal trouble if they tested selectively. They drug test because it saves 6 figures on worker's comp.
Loren Pechtel
Also, if you're a company that wants to do any work for many governments, especially the United States, drug testing is required to get certifications that allow you to bid. There's a good reason behind it, as long as they don't go overboard.
Robert P
We (well, our client) just upgraded to Notes 8. I'll agree that it's a major improvement, but it's still not particularly good.
AgentConundrum
After several months working with Release 8.x, I've found the server side (Domino) to be very stable, however the deskside client software still needs more work. So although my initial enthusiasm has been tempered a bit, hopefully they'll get the remaining kinks out by the time 8.5.1 comes out later this summer.
Mike
+26  A: 

I haven't ever had an interview for a programming job, but let me tell you about engineering jobs. And let me say that I think a bunch of you were spoiled by the dotcom boom...

Deal breakers:

  • unpaid overtime
  • overtime expected to be regular and in excess of 10 hours per week
  • high turnover environment
  • lack of work processes (similar to not have source control in the software world)
  • bad tools
  • micromanagement / CYA attitudes
  • severely restricted internet access
  • bad HVAC. Nothing worse than an office that near freezing in winter or 90°F in summer.

Things that one can live with:

  • cube farms. Headphones work wonders at blocking out the background noise and your co-workers will learn not to interrupt over minor stuff
  • bad coffee, if there is a decent coffee shop nearby
  • being asked to be on time. This is ridiculous and lazy if you can't be in the office from 8:00 to 5:00. Some flexibility is nice, but it need not be ridiculous.

Only time I walked out of an interview: Right out of school, a guy with a major oil company asked why I wasted my time in school editing a newspaper, organizing social events, etc. When I said I learned alot doing it, he said "I think you would have been better served by working harder on your grades". I had a 3.6 grade point...

Technical Bard
Re: the last part. That definitely says something about how much the employer is going to respect your private life outside of the office. I mean, why waste time with your kids little league games when you would be better served at your computer doing something work related?
Graphics Noob
+13  A: 

What a buncha wimps! There's only one dealbreaker: They don't pay my invoices.

I've been free-lancing, consulting, contracting for 35 years. Poor tools, noisy (and once, dirty) working conditions, inconsiderate bosses (and owners), long hours, new hardware that doesn't work, unrealistic schedules, angry customers - that's all folded into the rate.

Only once did I anticipate being screwed out of my last invoice. Sure enough, payment didn't arrive at the appointed time. Nobody would answer my phone calls except people who said, "Not my job."

Then 90 days late, a check showed up in my mailbox!

Nasty jobs, nasty people ... bring 'em on!

Regards, Bill Drissel

Hehe - that's good stuff. I agree totally.
Sam Schutte
Your attitude is essential when jobs are scrarce.
Geoffrey Van Wyk
This is the right attitude! Seriously!
steve
+4  A: 

Off the top of my head....

  • Lack of Source Control
  • Strict Dress Code
  • Management that does not understand the complexity of the problem they are solving (leads to mismatch between what is expected and what is actually produced)
  • Long release cycles (I prefer companies that execute fast, nothing is more frustrating than having feature x done before your competitor but not releasing)
  • Dumb Team (This should be obvious but you want to make sure that you are working with people at your level or slightly better)
  • Positive attitude (Nothing will make you hate your job more than being around people who hate theirs)
Rahul Malik
+2  A: 

Deal breaker for me is the development/programming tasks I am assigned to perform. I prefer to be working on projects that use tools and technologies that are not more than 5 years old.

Some companies tend to advertise positions by using the latest/greatest acronyms only for a new hire to find out later on that they would be asked to do maintenance work on old applications (i.e. VB6) for "the next 3 to 6 months" while plans are afoot to migrate the app to use the latest and greatest tools.

cyclo
I hear you. There has been a good amount of that around my area of late. I tend to avoid postings where they mention C++ or VB6 in C# positions.
Echostorm
Amen. I ran away screaming in a week from a "software" company that did just this in my area. Claimed a position was .NET when it was 95% Classic ASP spaghetti code.
Wayne M
+7  A: 

Family business - especially if there are VPs with the same surname as the founder but no obvious role.

Martin Beckett
I should have thought of this one. I'm @ one now and it can be really frustrating. At least one of the kids is a hard worker and started from the bottom.
Echostorm
+11  A: 
  • As mentioned above, employee turnover. If they tell you they've had a mass exodus of developers, do not believe their claims that those developers were "too junior", "not good fits" or anything else. No matter what, remember that if a place was not good enough for developer X to work at, it will probably suck for developer Y as well.

  • If a shop is not currently using .NET, but claims that you as a new employee can "lead the drive towards .NET", do not believe it. This is even more so in a highly political environment, as a new employee will have even less influence. If your manager does not have the political pull to move towards a new technology, you will be powerless.

  • If a startup "Isn't comfortable discussing their funding" or their finances, run away quickly. They are either broke or crooked.

  • If looking at a job at a startup, ask about their major customers. If they say they don't really have any, don't be lured by anything else.

  • Age of a company, success, and number of employees are inter-related, in my opinion. If a "technology startup" is > 5 years old and still has less than 10 employees, you should be worried. If they are > 10 years and have less than 5 employees, be very concerned.

  • If they persistently and repeatedly ask you "How many hours are you willing to work?", obviously, run away.

  • In general, being a production center rather than a cost center is always preferable. That is, working for a company that sells software is better than a company that is forced to create software as an expense. Both can be great jobs, but I think there are advantages to producing rather than consuming.

Sam Schutte
+100 to your 5th point - a company that has been around for years but has barely any employees means that the owners don't care about running a business, but want to do nothing while money flows in, and/or that they're running out of money. Bad no matter which way you slice it.
Wayne M
+1 for your last point. Cost centers are much more prone to cuts and downsizing than production centers. At my org, software is a multi-million dollar business, but mgm't only realized within the last year that we have something like 40% market share and we're burning it b/c software is still viewed as a cost center.
Greg D
Thanks - I should note I guess that these guidelines vary depending on how much risk you're willing to take. If you get offered a job at a company with 2 employees that is 12 years old, and they claim that they just received massive VC investment, with software written entirely in COBOL and no major customers, but are willing to give you 33% of the company, it might be worth it to give it a shot, depending on your stomach.
Sam Schutte
+7  A: 

The big thing for me is a lethargic work force.

If the developers are down-trodden, stare-at-the-clock-until-it's-5-pm types, I'm going to be very unhappy and very agitated.

I left a better paying job for a lesser paying one for exactly that reason. I can do overtime, I can do open concept, I can do crappy HVAC work sites, I can do meaningless non-fun coding. Just make sure the people are passionate about what they do -- and that usually comes from a whole bunch of variable sources.

Eddie Parker
+37  A: 

Most of these are, sadly, in retrospect:

  • Family business where family members are senior management based solely on the fact they're family (it's okay if they actually have legit management experience) -- this normally means they have little or no real world experience and don't know what they're doing, but are in control because the husband/wife/father/mother is the owner.

  • Draconian hours/no flex time. Obviously nothing ridiculous like coming in at 12, but the ability to rearrange your working hours if you need to for personal reasons. Not having this means the owner is a micromanager who feels that he can't trust anyone to put in an honest day's work without keeping tabs on you.

  • One or more of your co-workers are "Company Men" and shill for the owner, saying how great a person he/she is and how fortunate everyone is to work at the company (a Smithers, basically) all the time and that "so-and-so is a VERY powerful man" as though it's a threat to you.

  • The company is cheap - if you ask for a $200 tool to do your job and it gets shot down immediately, run away. If something that would save the company thousands costs $150 and the boss says that's too much to spend, run away screaming.

  • You will be the only person in the IT department, and before you got hired the company didn't HAVE anyone in the IT department for over a year. Most (not all) of the time this is a HUGE red flag and you'll be stuck wallowing in crap and troubleshooting users all day.

  • Developers are heads-down coding away the entire day, without any opportunities for experimenting with new technologies during "downtime", and/or lack of downtime altogether. Any company like this is undoubtedly a toxic environment and run like a sweatshop.

  • Your boss-to-be keeps talking about how he was a programmer 20 years ago, but doesn't seem to have learned anything new in 19 years -- in my experience people who are like this have never learned anything new but think they are capable of managing new projects.

  • The person in charge of the IT department appears to not know anything about IT but used to "work on mainframes" years ago.

  • The owner/president seems to not have a good idea of what their core business is and what it entails, and/or the whole operation seems like an attempt by someone to "play" at owning a business so they can be the "boss", as opposed to being a legitimate business venture.

  • (related to above) The entire business seems like just a quick way for the owner(s) to live the way they want to, instead of being an actual attempt to sell a product/service. A business that only exists to fund the owner's extravagant lifestyle.

  • Your potential co-workers seem unenthusiastic and don't care to keep at least passing knowledge of new technology. They don't have to jump on the "next big thing", but if you're interviewing with .NET programmers and ask about LINQ, or Silverlight or WCF and get a blank look, it means that your co-workers are a group of "Morts" and don't want to better themselves.

  • Miserably failing the Joel Test in regards to source control, bug tracking, and good development tools. There's a fine line to this though - if they give you a single 24" LCD and a mid/high-end Dell XPS it's alright, if they give you a shitty, yellowing 17" CRT and a 5-year old Compaq (or worse!) then it's not. Also, at least the basic tools you need to do your job effectively - I've worked for places too cheap to pay money for Visual Studio and was forced to use the Express editions just to have something to use. In short, a company that skimps on its developers doesn't CARE about it's developers.

  • Q: "What do you use for version control?" A: "Visual Source Safe".

  • Your job duties will consist almost entirely of maintaining legacy code with little to no chance of working on new development; also a company that still has large amounts of legacy technology and no plans to upgrade/move forward.

  • (after the fact) Everyone in the company is using refurbished computers, residential class DSL, and cheap routers from Best Buy, but the owner drives around in expensive sports cars and takes frequent trips. Run away - this means the owner doesn't care about running a business but wants to live like a king.

  • (after the fact) Your boss spends more time working on and coming up with new business ventures than running the business you work for. RUN AWAY SCREAMING (if at all possible - sadly this is in my current job and I cannot) for obvious reasons

And the #1 dealbreaker:

  • You would not enjoy the job. Sometimes we need to make sacrifices because we need to earn money, but this is what it boils down to -- I don't care how great your company is or what you offer me as far as salary/perks; if I would not enjoy coming in to work 5 days a week for 8 hours a day, and if I wouldn't enjoy being around my co-workers and supervisor(s), then I wouldn't take the job no matter what.
Wayne M
For the Family Run Company comment, never ever work for a family company if you have any desire to be anything but a worker. You will never be CEO or possibly even VP, it will always go to a relative. This is covered in "Career Warfare", a very good career book.
Furious Coder
+1 I've had to live through the fourth point. Nothing like being told to program in Delphi (this was back in '96), asking for the $800 needed, and being told "no way!". Smaaaaart.
Avery Payne
+1 regarding the Family company. I once worked for a Family company that had one of the managers engage in flagrant sexual harassment. They refused to fire him because he was family. Shortly after I left, a lawsuit was filed.
Bob Aman
"Obviously nothing ridiculous like coming in at 12". I can set my own schedule and I chose 12pm-9pm because I'm a night person(hence, going to sleep at 3am is normal for me) and because after 5 their is almost always way less interruptions and less people talking on the phone. etc etc. Or wait, rereading. Did you mean 12am?
Earlz
What I was really trying to convey is that you could be flexible with your hours without being too ridiculous. I just had to pick an example :)
Wayne M
+2  A: 

As someone from a development background who is now involved in line management and internal corporate funding / roadmap development I can't really believe how out-of-touch some people in this thread are. Why do developers behave like such prima donnas these days - when I earned a living developing (not that long ago) I understood that I was being paid to do a job, and that as much as they (my employers) needed me / someone, I also needed the pay cheque. When someone states "having to turn up to work on time", or "no free coffee" is a deal-breaker, that person is going to find themselves outsourced quicker than they can type cappuccino.

Professional standards, interesting technology, market rates, management support / integrity are all good signs that make for a better workplace, which ultimately makes for better software, but meeting members of the development team as part of the interview process could / should make that clear enough.

As the chill wind of recession blows through the industry, I fear some people are going to have to re-adjust their over-inflated opinions of their own worth.

Hugo Rodger-Brown
When someone refuses the deal because 'no free coffee' he/she can't be outsourced because he/she doesn't have the job in the first place.
tuinstoel
I think the strong creative aspect of coding makes a stogy atmosphere difficult to develop in and our zeal moves us to push for the most favorable environment we can barter for ourselves. That and many of us here are prima donnas and can get away with it. =oD
Echostorm
+6  A: 

Being hired with only one interview, or ON the first interview. It normally means they are desperate to fill some positions. Their turn-over rate must be high. This has happened to me three times, unfortunately.

lamcro
Had that happen once. Off a telephone interview no less, and a brief one at that. I needed the work at the time so I took it. The job was very much not as advertised, but it paid the bills. Needless to say I continued my search the weekend before I started, took a brief break during new hire orientation then resumed my search at lunchtime.
Bob Kaufman
+4  A: 

Over-reaching "all you ever create is ours" 'intellectual property' clauses. Post-employment restrictions on who I can work for or what I can work with.

I have no problem with "what's created on company hours is the company's", that's fine. I am slightly ambivalent about "what's created out of hours, on the company's equipment, is the company's", but on the balance, I think it's reasonable. I have a huge problem with anything I cretae, on my own time, with my own equipment, automatically being gifted to the company.

No-compete agreements are (essentially) an instant deal-breaker. I can make exceptions for a consultancy post, where I'd accept not to go directly into full-time employment with a recent client (that I've been working at/for).

Vatine
+2  A: 

The deal breaker for me is a high number of daily application bug reports. If it is over 3 then the application is poorly designed/written/tested. Combined with the interviewers boastful pride in the application just confirms the observation. I do not want to spend years of my time fixing an application that needs a serious re-write.

What irks me the most is the extensive list of experiential requirements for a position or contract. Little attention is ever given to whether the potential employee/contractor can actually create software that works flawlessly out of the gate. Some people have all of the required experience and are personable but cannot program their way out of a paper bag.

Many a time, on the job, I have been called upon to write programs in a language I had never seen and I simply read the manual and got the job done. Once you have programmed in 3 or more languages there is no difficulty in picking up another. This is especially true for 3rd generation languages. Once you have a few OO languages under your belt the same holds true, except for extensive class libraries that basically have all of same functionality but have different invocation and property names.

With respect to current skills I cannot get a COBOL programming job to save my life. Why? Because I have not used COBOL for over 15 years. Regardless of having programmed in COBOL for another 16 years in 14 different COBOL dialects. Not that I really want a job using COBOL.

I am just in a bad mood today, pay no attention.

Roger
+5  A: 

A summary of all answers in the thread:

Will mostly do support / brownfield development

Will have to be on-call

No source control or SourceSafe used for source control

Don't do branching of code in source control

Working hours not flexible at all

Using legacy software / tools

no TDD / no unit-testing

Waterfall / no iterative development

You will be the best dev in the shop

(Overly strict) dress code

Obvious monarchy

Too serious / no joking / stressed out

No bug tracking system, or bug tracking 100% owned by QA

Overly restrictive Legal Agreement -- they own what you do at off hours

No blogging policy

No dual monitors

Internet access limited

Disconnected or lethargic or burned out team members

Overtime expected and not paid for

Code / db looks ugly

Yes we're going to implement that but we're very busy now

Too much talk of business priorities / results driven attitude

Not using resharper / will not buy resharper or something like araxis merge etc.

No free time to experiment

Nobody recently went to a software dev conference

Very many clients that come and go (e.g. a marketing company)

No books on shelves or books look not read

"Motivators" posted all over the place

Dirty bathroom / kitchen

No code sharing between team members

No Continuous Integration / no nightly builds

Lack of or little personal stuff on desks

Your potential manager gives you a long lecture

IT is a cost center rather than a production center

no match on 401k

Too eager to hire

Can't use your notebook at work / can't connect to their LAN

No working from home / no remote access

No admin rights on your development box

zvolkov
+17  A: 

What constitutes a deal-breaker for me depends on how desperate I am to get a new job. If I was presently unemployed, the refrigerator is empty, and the bill collectors all have my number on speed-dial, "... after 12 hours of coding you'll be expected to work in our salt mines for 4 more hours" might not be a deal-breaker.

But assuming I'm not too desperate, things that run up red flags for me are:

  1. Extremely specific job requirements. When an employer says, "We're looking for someone with Java, WebSphere, Oracle database, SVN, TestDirector, Eclipse, in a widget manufacturing environment, using a Windows XP work station from Dell, with a boss named Bob who has red hair" ... well, I've never had the part about the "boss named Bob", but when someone gives me a long list of specific languages and products, it tells me that: (a) They don't know the difference between "knowing how to develop computer systems" and "knowing Java". This place is mired in detail with no big picture. (b) If I go there, I am going to get stuck in a rut. If I come in knowing Java, C++, PHP, and twenty other languages, and the company's big new project uses C#, I will not get to work on the big new project because I am "not qualified" as I don't know C#. I will never be given a chance to learn new skills, and as the skills I already have grow increasingly out of date I will get stuck in a technological backwater.

  2. Hints that there's excessive paperwork. Personally, any want ad I see that mentions "UML" or "ISO9000" I immediately skip over. I want to write code, not fill out forms. (I'm not saying that I don't want to do ANY paperwork, I recognize the value of requirements papers and ERDs. I just want to know they're in the realms of reason.)

  3. Indications that this place has very rigid policies that are all take and no give. I understand that there are some jobs where you must show up promptly at 8:00, like receptionist or bus driver. But receptionists and bus drivers then expect to leave promptly at 5:00. In IT, I accept that when deadlines loom I have to stay late or work over the weekend. In return, I expect that when the pressure is off, the company will not care that I come in late and take a long lunch. At one job I came in one morning at 8:00 am and we had a customer with a serious problem and I ended up staying until 11:00 am the next day getting it fixed. Then I went home to get some sleep. The next day my boss's boss yelled at me for leaving before 5:00.

Jay
Over-specific job req'ts can also indicate that they already have a person in mind and they're trying to make it impossible for anyone else to meet the job requirements, even though they're required by law to post the job publicly. Same thing with jobs that appear only in a couple low-circulation, local newspapers.
Greg D
That boss's boss sounds like an idiot.
Geoffrey Van Wyk
@Greg: Good point. I've seen those, too. Heck, I had to do one of those once: We had a non-citizen who had been working for us for years and was an excellent employee. Then the government said we had to prove that there were no U.S. citizens available to fill the job. Who would want to fire a known good person and replace her with an unknown? So my boss ran a tiny ad in a local paper and hoped no one would apply.
Jay
+1 for the opening paragraph. The salt mines thing made me laugh out loud.
Awaken
+1  A: 
  • working place (not having own room)
  • strict working hours
AFgone
+2  A: 

What you will definitely notice is that companies that don't do "software' laugh at you when you ask for dual monitors.

Or when you say 'I really need a faster machine. Visual Studio and SQl Server can be pretty taxing on a slow system" and they'll say sarcastically "yeah we'll get right on that."

You typically run into this while doing consulting. you'll often not even get a cubicle. you'll be put at a desk where perhaps the light works and it's usually the noisiest area of the building. Full Time employees, especially in the IT department do not like consultants very much. Usually because we are brought in because people in house couldn't accomplish what needed done.

I suppose I don't really have a deal breaker at this point because I know what i'm getting into with consulting work.

It would be nice to work for a place that actually took development seriously, and provided the resources, but it's definitely hard to find.

Jack Marchetti
Yes, in my last round of interviews, I always asked "can I get two monitors?", and any answer but a yes was a deal-breaker. This is not being picky. Anyplace where you don't have two monitors for your developers has a **lot** of other problems. Count on it.
Patrick Karcher
Nah. You don't NEED dual monitors. It's a nice to have, but you are right, it potentially shows you how much people care about devs. I work for an ad agency and creatives get top of the line machines, everyone else gets shit on :)
Jack Marchetti
+1  A: 

I recommend the Dilbert Metric. Employee happiness is inversely proportional to the number of Dilbert cartoons posted.

Edit: I see David Thornley already said this, and did it funnier. Too late.

khedron
+1 for your honest edit
Marcel
+1  A: 

"Based on my experience developing and shipping software, do I think that this team can ship software?"

For any question I can ask, there might be a "right" and a "wrong" answer, and frequently the opposite of a wrong answer is another wrong answer, or the opposite of a right answer is another right answer. The main thing I'd look for is that the team has answers that seem grounded in reality and experience, and not simply arbitrary rules that somebody read somewhere.

Also, I'd look for a team that doesn't seem overly geared towards novice developers at the expense of experienced developers (draconian process controls, etc.)

kyoryu
+2  A: 

The company has a bad credit score. After having had a couple of contracts go south on me due to the firm going bankrupt I always do a credit check before attending interviews.

Martin Brown
I wish I did that at a previous place. They owed me close to $30k, and they are now nowhere to be found ha
Jack Marchetti
+6  A: 

I started asking this one a few years back. It never fails me.

"What is the last cool thing you learned?"

If I get an answer, great. If I don't, I follow up with

"It doesn't have to be work related, just something cool that made you sit back and say 'wow'".

After a seemingly successful many-on-one interview that I had... some reservations about, I asked the group this question. They all stared at me, deer-in-the-headlights. I knew working there would have been a serious mistake.

Bob Kaufman
I wish I'd asked that at recent jobs.
Jason Baker
A: 

Vending machines
This one alwasy struck me as odd though the correlation between vending machines and TPS-reports is 1.0 thus far.

perhaps someone here can explain this.

Arthur Ulfeldt
+1  A: 
  1. They ask you to sign an employment contract, but they don't give you a copy to keep (this applies to any industry, not just software.)
  2. They have a policy of not issuing copyright disclaimers for code you write at home.
  3. You will be working in an open-plan office which is adjacent to (or even the same room as) the sales office and/or IT helpdesk.
  4. They still use Microsoft SourceSafe.
finnw