tags:

views:

8790

answers:

97
+189  Q: 

Anti-Joel Test

The Joel Test is a measure of how a team performs with regards to the best practices in coding. What questions, given a 'yes' answer, would subtract from the the Joel test score?

(Assuming you don't simply negate the current questions on the 'Joel Test', ie: "Do you have no source control?")

For example:

  • Does the company insist on being very process heavy?
+64  A: 
  • Does management think that paying a consultant to teach on-site classes is the most effective way for developers to learn a new technology?

  • Is there at least one case where a single person unilaterally makes software architecture decisions for more than three simultaneous, ongoing, non-trivial projects?

  • Is the coding standard an inviolable straitjacket that serves to hinder rather than inform?

  • Is StackOverflow blocked at work?

  • Would management view time off to speak at a conference or other technical gathering relevant to your work as suspicious and/or unconditionally refuse it?

  • Do developers feel frustrated or stymied by managerial/organizational problems more often than technical ones?

John Feminella
In regards to the second one, let me make sure I understand. You'd dock points if a single person were in charge of three simultaneous projects and was making all the key architecture decisions. I personally would agree but I just want to make sure that's what you mean.
Drew
Right. In other words, three seems to be about the uppermost limit for technical involvement -- beyond that, architecture decisions aren't being given the proper care and attention. Frankly, I think the limit is closer to one, but I can see two or three if their other involvement with the project isn't high. But then, of course, you run the risk of not being involved enough to make good decisions!
John Feminella
Err... why would anyone block StackOverflow at work?
RegDwight
Can't say I agree with number 2. Do you really want every single developer making their own decisions and every single project architect completely different? I know I know, developers want their freedom. If you want to do it your way, be your own boss. I think having a single architect helps out, especially when you bring new developers on board.
amischiefr
@amischiefr » Hmm... I think you misread that point. I'm emphasizing that I think it's not a good idea to simultaneously be responsible for lots of projects *and* be the sole decider for those projects. A cross-project concentration of power is harmful in the long run, simply because you're just going to have too much on your plate to be focused enough.
John Feminella
@RegDwight, Because obviously, it lets you cheat!
Alex
+32  A: 
  • Is the coding standard an inch thick?
  • Is Dilbert forbidden?
FeatureCreep
Split this answer into three separate ones, and receive three votes from me instead of one.
Ola Eldøy
+1 on your comment for the strategy tip. Maybe next time...
FeatureCreep
Yes - working with legacy code is a pain
jb
I'm not really sure that a legacy cash cow is a necessarily bad thing. After all, it's good enough to make the company some bread, and you might be working to make it better. Other issues will determine if its actually reasonable to make it better. The other two are spot on!
TokenMacGuy
Yes, I see what you mean. Maybe that point does not really apply in this context.
FeatureCreep
The Dilbert web site is blocked, but there several Dilbert books in the toilet. Partial credit?
Chris Huang-Leaver
Chris: So to enjoy an occasional Dilbert comic strip at your place one has to occupy the toilet for at least couple of minutes instead of just spending 10-15 seconds by looking one from web browser? Wow, management... :)
Esko
+54  A: 

Is the primary development language an in-house only product?

Seen way too many Daily WTF where people were stuck developing in a language that was designed, built and consumed solely within the company. That would be a -10 for me.

JaredPar
So that would mean FogCreek software itself gets a -1? I am not sure Joel would be very happy with this one. :)
Vaibhav Garg
@Vaibhav, What language do they use internally?
JaredPar
an abomination in the name of all that's decent. It's called Wasabi: http://www.joelonsoftware.com/items/2006/09/01b.html
foljs
@JaredPar They use a custom dialect of VBScript build to address the shortcomings of VBScript. The idea is only 25% crazy in the context how it happened-- but custom or extremely rare programming languages in business is still a bad idea in general.http://www.joelonsoftware.com/items/2006/09/01b.html
MatthewMartin
@Vaibhav, @MatthewMartin hadn't heard of Wasabi before but it sounds like more like a targeted somewhat constrained DSL than a full blown language like C++, C#, etc ... Still a huge undertaking but not 100% insane. This would still put me off from joining a company. The examples I was more gearing though at were places where they had custom COBOL like compilers or Joe Random Language that was invented, developed and maintained by one person on the team.
JaredPar
Besides, is there a rule that people have to believe FogCreek is perfect? I like lots of what I hear, but no place is perfect.
acrosman
Comment too small for the 5 page rant I need to get one experience off my chest. Let me sum up "a 10 year old C++ code base driving a web site, #pragma'd out the yazoo (and not cleverly either) to build on 4 different platforms (2 were defunct for 5+ yrs), 3 (I'm not joking 3) different in-house scripting languages in various stages of completely (but all in use!) to build html forms, and an XSLT "like" declarative language (why not use XSLT?), all controlled by a raving lunatic-control-freak that had started the product as a thesis project, started a company around it, (continued)
Binary Worrier
Had been bought over twice. He'd never worked anywhere else and couldn't see anything wrong with the abhorrent behmoth he'd created. He once poured over a decorator I put on an existing smart pointer class for 40 minutes trying to find some reason not to allow it because "Design patters don't aren't always the best solution", actually it was because I was doing it in a way he wouldn't like. Worst work athmosphere I've ever encountered, I walked before my trial period was over. SO 4 different custom scripting languages, one of which was declarative, it was an absolute nightmare. BREATHE! ! !
Binary Worrier
@Binary, LOL. That sounds so bad I almost feel guilty taking pleasure out of reading it.
JaredPar
Jared: Some night you can buy me a pint and I'll tell you all about it. Beware that I start foaming at the mouth about 10 minutes in though :)
Binary Worrier
@Binary: This is so funny, if only it wasn't so sad...+1 for both :)
the_drow
It doesn't have to be kept in-house for it to suck. I've witnessed more than a few really bad custom languages/environments/frameworks/WTFs that were treated as a product.
John Cromartie
Not that I think it's good for a company to use an in-house language, but it can cut both ways: I once had a friend work at a place where they used their own language. When she got an offer to go somewhere else, the old place gave her a nearly 50% bonus and 50% raise to stay, even though she'd only been there one year! Part of this - of course - was that she was good; however, it also would have cost too much to hire and train a replacement.
PTBNL
Depends on how well-designed the language is and what it's used for. I'm a fan of Sawzall.
Bob Aman
We have our own in house ORM software for Java, it's called Abis, and that is about where it belongs.
amischiefr
+155  A: 

Is there a dress code which includes a suit and tie?

JaredPar
I see how programmers wouldn't like this (hence no downvote), but this as a reason to mark down a job sounds like being a primadonna. We should all dress professional and not like hippies and slobs, anyways.
Wayne M
@Wayne agreed people should not dress like slobs. I was more referring to places where they require programmers to wear 3 piece suits.
JaredPar
But apparently someone else thought this was worthy of a down vote.
JaredPar
Jared, I won't down-vote either but we have a dress code but it's simply 'business-dress', smart trousers, proper shoes and a shirt (no tie). We have customers who come to our place of business and our other areas have to dress like this so it would be unfair and hypocritical for us to wear jeans etc.
Neil Trodden
@Neil, @Wayne, editted my answer to be more clear. I don't need a suit and tie to program :)
JaredPar
-1 Isn't this a bit US-centric? I worked as a programmer in Japan with a suit and tie - it was the uniform everyone else wore and had no bearing on the position.
Elijah
In the UK, I think you'll find that if you're required to suit-up to work as a programmer, then the company may well be more about presentation than performance. A previous job I had did have this requirement, and it was all about making the customer pay, then doing only enough to make it look like we had built what they asked for (even if it didn't work properly).
Mr. Matt
It's kinda funny I used to have the same attitude when I was under 25 or so. But eventually I grew up and now I'm almost 30 and I take a lot of pride in the way I dress. The advantage of not having a dress code is that everyone else usually dresses like bums and you wind up looking more professional.
Josh Einstein
I think that when coding, a tie is overkill. I find it hard to concentrate when my top button is buttoned up and I'm slightly uncomfortable. If programmers should be meeting with clients on a particular day then they should dress for the occasion but otherwise, there is nothing wrong with shorts and flip-flops in my opinion.
Simucal
Heh... For those arguing against this, imagine if your other tools were designed to help enhance your appearance rather than your productivity: http://www.youtube.com/watch?v=qptvCqtMg_o
Shog9
With no further insight, if I wanted a piece of software developed, I would pick the company that employs nerds dressed in t-shirt, jeans and sandals over a company where the developers wears suits with ties, dress shoes and slicked back hair.
JulianR
All the people here who think they're more professional because they wear a suit and tie crack me up. Mindlessly following rules that make people less productive isn't the professional thing to do. A professional is somebody who GETS STUFF DONE.
Chuck
Yeah, keep those hippies out of the code!
Jay Bazuzi
I can only code while lying on the floor. :)) kidding.
Mehrdad Afshari
My father used to quip "the only use of a tie, from an engineer's perspective, is to limit blood flow to the brain". He was usually careful to follow up with how this might be a useful function in certain meetings...
leander
@Shog9: "if your other tools were designed to help enhance your appearance rather than your productivity" ... we'd all be using Vista :)
gbjbaanb
@Chuck You are so right, I thought I was alone with that thinking!
André
I think that this is a useless answer. We work at a place that requires us to wear a tie, but that is the only thing that bothers the developers. As far as everything else goes, it is the most organised place I've worked at and we are therefore hardly ever required to work overtime.
Trumpi
IMO Jeans and t-shirts are enough, if you just take a shower regularly and cut your hair sometimes. :)
abababa22
If I can fool you (about my skills) by wearing a tie, then I don't want to work for you.
Les
Dude, you won't get the top contract rates in the city without wearing a suit. It doesn't make you stupid, it makes you smart. (And it's much easier to go to an interview without your boss knowing)
Chris Needham
I don't see what the big deal is with this. It's just clothes. By the way, if you're having trouble breathing or circulation is being cut off to your brain, your shirt is too small or you're cinching your tie up too much.
Adam Jaskiewicz
Besides, such a dress code gives you plenty of opportunities to bend the rules. Tan suit, orange shirt with white cuffs and collars, bright mint green tie, and basket-weave loafers? Well, it fits the dress code...
Adam Jaskiewicz
Professionalism is about the WORK not the clothes. Would you ask a carpenter to wear a suit or a tie? A strict dress code at a software company means they are forced to pull from a limited talent pool (folks who are willing to work at a place with a dress code). Turns out, in the software engineering field this is a significant factor.
Wedge
A programmer doesn't have the safety issues of a tie getting caught in a saw, either. A suit isn't a hindrance to getting your job done as a programmer; it is for a carpenter who has to carry around large, possibly heavy objects, and deal with power tools. It goes both ways; I don't see why companies feel the need to tell their employees to wear a suit daily, if it isn't likely they will be interacting face-to-face with customers daily. On the other hand, it really doesn't seem like a whole heck of a lot to ask, and I don't understand why people seem to have such a huge problem with it.
Adam Jaskiewicz
I don't get it. The (Anti-)Joel Test is about software quality - how does the dress code influence the quality of the software you produce? I understand you may not like it for *personal* reasons, but do you actually believe that the someone wearing a tie produces worst software than that same person without a tie?
alves
@WayneM: Disagree. In this world of IT and intelligencia, aren't we a little beyond grading people by their physical apperance? This "Professionalism" trait always seemed shallow to me.
tsilb
IMHO "business-casual" attire is a measure of decorum that elicits a small/simple demonstration of respect for the company (it's goals, customers, and other employees). It can also regulate distracting personal expression; you're an engineer, not a fashion designer (or unemployed slob, for that matter). Also, though a culture may even exist in the workplace of not caring about attire, realistically there may be some that are inwardly turned off by your t-shirt with holes in it who may not provide you the references you need later on.
gWiz
@alves - because suit and tie is a warning that this is a consultancy where they never actually produce anything but field lots of 'consultants' at a few $1000/day to clients that know nothing. = EDS, Cap-Gemini, Anderson + government IT contact
Martin Beckett
Real nerds care about getting things done, not how they look. If your company requires suit and tie (at least in the US), they're not looking for real nerds. That is a danger sign.
David Thornley
Never trust a programmer in a suit.
Carl Bergquist
To produce good quality software programmers need to be confortable, so they can focus on their jobs. A manager may need to show the place of work to his clients. Coworkers prefers to interact to people which are clean and odorless :) and not socially too different from them. Whatever the political desicion about dressing should take this into account. Find (and mantain) a balance is difficult. Prioritize if it is too difficult. And some, they don't even bother (or care) finding this balance, they just prioritize ...
@johncatfish: At one company, we were occasionally asked to dress up because customers would be in the building, and they didn't want to see anybody dressed like a first-rate software developer.
David Thornley
Seriously, who cares. It's the smallest of gripes unless they insist on a full suit even at the workstation and don't have A/C.
John
+247  A: 

Do you do your development work on the live production server?

Neil Trodden
+1, I physically cringed when I read your answer.
JaredPar
Like I did when I went to help a colleague with something and found that's where he was developing? :-)
Neil Trodden
I can beat that - I once did a gig where they did their training in C++ programming on the production server.
anon
@Neil B: That's utter insanity. But maybe we should be glad they're operating a software company and not running an Army firing range!
John Feminella
How about an architecture designed to do that?
Joshua
@Neil, I just don't know how to respond to that. @John came close to describing my reaction but insanity just doesn't go far enough.
JaredPar
Any direct access to production at all is sub-optimal
Joel Coehoorn
At least that way you don't need a source control system... been there unfortunately.
Frank Schwieterman
It is one of the questions I actually ask my customers.
Kwang Mark Eleven
Kwang, my experience is that people who do it *know* it is wrong and still do it even when they say "I *know* I shouldn't do it but..."The colleague who I said I caught doing it was told by me that I was not going to help them with their problem because it was just too risky - I found out that another colleague had actually set him up a mirror on another server. It must have been too much effort to connect to it.He won't install a dev db on his own machine because it might make it *unstable*.If you repeat that last sentence a few times, it might make your head explode.
Neil Trodden
..continuedSo my point is, the people who do it, won't tell you they do it - they are both ashamed but equally unlikely to ever change.
Neil Trodden
Never, never try to teach UNIX process creation on a production server. With 30 students, guaranteed one of them will write a fork bomb.
Joshua
Been there, done that. I once did contract work at a company that developed some inhouse apps like that. The reason, as far as I can remember, was simply that they didn't want to bother setting up a seconde system for development (or use virtualization, or at least different user accounts).
sleske
Last time I ran into that, the manager seemed to think it was the natural way to do things. (Coincidentally, the only other employee on my team who had been there more than six months was at pains to tell me that things would be different if he were running things.)
David Thornley
+158  A: 

Is the chief technology officer an accountant?

Andrew Shepherd
+1 from me - VERY good.
duffymo
ooh, yeah, that's a bad one
Martin DeMello
I certainly see the point, but I've only worked at one place where IT reported to the CFO, who was an accountant. (I guess my boss was the equivalent of a CTO, but the term didn't exist - at least I'd never heard it - back then.) I had no real complaint with the CFO, it was the CEO/owner who was the problem - he didn't know anything about IT, and it seemed he didn't want to spend any money in that area.
PTBNL
I report directly to a CFO, because of company size. Thankfully, he is very interested in the IT Department's input, and usually trusting of advice, acknowledging specifics points where his knowledge on a given subject comes short.
anonymous coward
this is an excellent answer. accountants can sink development ships.
Devtron
Or a Lawyer ...
Martin
Is the CTO the son of the founder/owner whose experience comes from playing video games?
Martin Beckett
As you get higher in the enterprise, the important thing is not so much whether the exec knows the technical details as whether he knows the limits of what he knows, and whether he trusts his staff or outside sources (magazines, vendors, etc.).
David Thornley
+3  A: 

Do they mix EJB, Hibernate, SQL in .properties files, and a custom code generator?

Paul Tomblin
Custom code generator == life saver.
Joshua
Custom code generator == career dead end.
Paul Tomblin
Custom code generator == complete inability to take advantage of advances in technology, in my experience.
David Thornley
+1  A: 

"Has marketing a higher budget than development?"

vobject
I'm not going to vote this down because I think it alludes to a problem with priorities but our company pays for everything we need for development work, including staff but our marketing budget dwarves it. TV advertising is *expensive*
Neil Trodden
Did not mean to offend anyone. I do not have inside knowledge about how the budget of a company is shared. Maybe it is normal to have marketing be more epensive than anything else. The question (and some answers) just reminds me of the Dilbert strips. Mainly this one: http://dilbert.com/strips/comic/2009-03-02/
vobject
+63  A: 

Does your source control consist of physically backing up your source tree into a source.backup.n directory every time you want to make too many changes?

Martin DeMello
Isn't that what Subversion calls a branch? ;-)
rq
This is gonna sound like flamebait, but I'd much rather that than the old version of VisualSourceSafe we've got at work...Would kill for management allowing us to use svn, but it is deemed as "beta software" and "not MS". :(
voyager
Oh my god. Before I installed SVN at my previous office, this was the preferred method of backing things up. Needless to say, overlaps were far too often for my taste.
Manuel Ferreria
It's funny how VSS is used in companies with the motivation that it is a MS product even though MS aren't using VSS themselves. This issue is nowadays adressed by replacing VSS with the version control system in TFS.
Spoike
To me, this is a variant on negating Joel's question #1. I take it to mean: "Do you use *real* source control?"
JeffH
I also had very ugly experiences with VSS around 2001, but my understanding is that today VSS is almost reliable ;)
Kwang Mark Eleven
Bonus points if the copies are called "backup", "old backup", "old old backup" and "copy of Old backup"
Martin Beckett
isn't this a dupe of #1 on the list?
Peter Recore
+55  A: 

Did the last developer you hired leave quickly? Usually high turnaround in IT means at least one of two things: A) The code is wretched and unmaintainable, and/or B) Management has highly unrealistic expectations about programmers.

Also: Does the team not care about learning new things, experimenting with new technologies and at the very least check out what's "new" in their programming world? If they are like this then it means the team is a bunch of incompetent Morts and are mediocre at best.

Wayne M
Yea, I tried to unveil the new great MVC (we are ASP.NET shop) to the director and our senior developer. Nobody really cared.
User
I find there are two sigmas with people being unwilling to learn. One is with .NET developers who think anything outside Visual Studio is scary, the other are low level trolls who thinks all those new fangled high level languages are criminally inefficient. Polar opposites. Thankfully, there are many good developers who sit comfortably between the two, using whatever language or framework best suits the job.
Soviut
Employee turnaround is a useful metric.
Kwang Mark Eleven
+76  A: 

Is the development team driven and controled by sales people?

Do you usually promise to create the documentation after the software is finished?

Do you hire cheap people because they cost less?

Do you let inexperienced people create new products, but experienced people finish and maintain whatever is created?

Are strategic alliances (instead of technical merits) the main argument for resp. against the use of a technology?

ammoQ
I wonder if no documentation for the english language would exist until it was spoken for about 20 years. would something like this be valid until the documentation finally comes out:yeh teh docz are uzeless.Beware of such companies.
the_drow
+1 for "Do you hire cheap people because they cost less"
stefanB
+1 for the strategic alliances q.
jmucchiello
Devlopment driven by sales can be good. ie We have talked to customers and they really need this feature most vs. a CEO who read something about web2.0 in a magazine and wants to switch your embedded product to the web.
Martin Beckett
mgb: I agree with you. Maybe I should have written "marketing people". Those who do not care about how happy the users are after the product is sold, but care a lot about how impressive the product looks in a power point presentation.
ammoQ
+1 for the inexperienced people create new products but experienced maintain them.
wheaties
Development driven by sales can be good, provided somebody sits on the sales people and makes sure they're being realistic. I've seen what happens when that doesn't happen.
David Thornley
This is my reality +1
Joe Philllips
"argument for resp."? What's resp?
Gabe
+3  A: 

Is the Testing Plan, for a given piece of software, developed after the software itself is developed?

(The Test Plan should be using the Requirements as its basis rather than the software.)

DerekParnell
Also:Is there a test plan?Is it up to date?
Pondidum
Greenfield development is rather rare. When most projects are maintenance projects and most projects were done with less than optimal process to start with, this may be an unreasonable expectation.
MatthewMartin
It always felt like cheating to write both the code and the tests. Then again, some people wrote code and tests such that the code failed the tests.
David Thornley
+167  A: 
  • Do web filters block out forums making it difficult to research online?

  • Is the work environment noisy making it difficult to concentrate?

  • Is the work schedule an inflexible 8-5?

  • Do they expect tier 1 support in addition to your programming duties?

  • Does management have no true understanding of development?

    • Despite this, does management "think" they know development?
  • Do they fail to provide an outlet for being creative?

  • Do they fail to provide adequate development hard/software?

  • Do they deny developers admin rights to their own box?

Cuga
+1 for the management think they know enough about development, but do not. As The Colonel story daily WTF.
Jem
I think giving admin rights to a developer for his own box when he requests it is a reasonable and good practice.
pts
Developers admin rights to their own box? What's wrong with that?
David Berger
I've worked places before where they did not grant developers admin rights on their own box. It made development extremely difficult and I would never put up with it again.
Cuga
Quiet work environment is on the original Joel Test.
Cameron MacFarland
It's one thing to give developers admin rights to their boxes. It's another for them to actively develop as admin.
Eclipse
While developers typically need admin rights, I've seen a LOT of higher ups demand admin privileges and are typically the gaping hole through which viruses make it into the office.
Soviut
If your developers are putting viruses on the computers that they didn't write they should be fired for practicing unsafe computing
Matthew Whited
@"If your developers are putting viruses on the computers that they didn't write they should be fired" - so it's ok for them to put viruses on their computer that they *did* write? :)
nsayer
Developers who are writing viruses on their work computers might need more of a challenge in their day job... I'm don't think it should be an automatic fire for most developers, but there are work environments where it would be a major red flag
Colin Pickard
+1 for "Do they expect tier 1 support..." That is the ONLY thing that I don't like about my job. I am not a tech, I wrote the software. Do NOT call me at 2 AM when the server cannot connect to the Database, or the file application is timing out trying to connect to another server, there is NOTHING I CAN DO!!! Unless you want me to write some code at 2 AM that goes right to production, don't call me.
amischiefr
Oh, man. You couldn't have nailed it any better.
Alex
Administrator rights are REQUIRED to attach a debugger to a process on Windows at least.
iconiK
+40  A: 
  • Is access to the internet blocked at work?
  • Are they inflexible about letting you work from home occasionally?
  • Does the management do task effort estimation?
  • Was it too easy for you to get an offer from the company? (All you had to do during the interview was to explain quicksort)
Anirudh
Explaining quicksort would be WAY more technical that anything I've ever had to do at an interview.
erikkallen
+24  A: 

Does the build/deployment need 10 different manual commands which only one guy knows about?

Karsten
Isn't this covered by the Joel Test already, a 1-click build process?
Tim Sullivan
If you are clicking at all, I think you are doing something wrong. My system generates tweets when other people break the build ;)
nosatalian
ahhh now I understand why 1-click build process is on the Joel list already...
Zeus
+8  A: 

Do the developers think that they can keep every bug/issue in their minds, and therefore use no issue/bugtracking?

Karsten
That is already covered in the original Joel test, so it is kind of redundant.
tomjen
+4  A: 
  • ! (is there a QA department?)
  • What is the QA:developer ratio? (1:10 is an absolute minimum, 1:3 is good, 2:1 is NASA)
Reef
I don't know if I'd make the assumption that NASA is 2:1. see http://en.wikipedia.org/wiki/Mars_Climate_Orbiter
Jay R.
QA will never find all the errors, but it can usually find most of them. Some managers say "Why can't the coders just write a bug-free code? " (I've actually heard that)
Reef
Why can't that manager get people to write better specs
Matthew Whited
+13  A: 

Are you obliged to participate in the company's "must" events?

We had to perform a City-rally, according to the predefined plan, make photos of predefined objects, find out questions to specific answers and be in time for evening restaurant (cheap bar, I only got a cup of coffee). It's either I miss something or I'm glad I'm not German.

User
I am german and I also would not like doing something like that.. ^^
Karsten
this sounds like a perfect day - compared what our "must" events are. sitting in a boring room listeling to company jingles about 4 hours hearing praise for the sales people, although they are not there.
Andreas Petersson
Then again, why would you work in a place where you wouldn't want to participate? Such events can, undeniably, improve 'togetherness' and whatnot within the company. (Or have I just been exceptionally lucky to work in places where you can actually have fun with the coworkers? Well, at least later into the evening, with the booze flowing etc...)
Jonik
Enforcing those events is not technically legal in the U.S. unless you get paid hours to go to them.
Harvey
I'm with Jonik on this. How fun an event is depends on the company culture, if it is rather repressive then the events tend to become something you will be happy to miss. If the culture is one having great co-workers and work environment then the event tend to become something you'll be happy to participate wether it'll be as simple as an afterwork at a pub to a training trip with the company.
Spoike
+17  A: 

Is there a dress code for "dress-down Friday"?

anon
Once worked at a place where they implemented a "No Blue Jeans" rule for casual Friday because they thought the outfits one of their young ladies wore on Fridays were too provocative and thus unprofessional. The problem was it wasn't her pants (blue jeans or otherwise) which were so provocative, but her very low-cut tops!
PTBNL
Or is there a need for a "dress-down" Friday?
Tim
Do you have naked fridays?
Martin Beckett
+18  A: 

Are rules set in stone, even if the programmer have a good reason to break them?

This is actually why I dislike places that requires a suit - it is not the suit itself, but the attitude that the company conveys where appearances are more important than functionality.

tomjen
Rules exist to be broken.
User
Did you really mean to put it that way? Answering 'yes' to that question sounds sensible to me (as long as the reasons really have to be /good/).
Jonik
Thanks, changed mine to an upvote
Jonik
Im currently contracting somewhere where I dont have admin on my machine, and can not run anything that networks hasnt approved, not even Reflector. I get around this by having my laptop on my desk, and using my own mobile internet.
pzycoman
A: 

Do you provide a full proof for your software?

Marco van de Voort
its fool btw 15 chars
Woot4Moo
No. Maybe "complete proof" is better, but definitely not fool proof.
Marco van de Voort
+1  A: 

Do they use dial-up?

Sevki
lol Have you ever came accross that?
the_drow
i have at some remote place where dsl cable or anything was available except for dial-up and sometimes that would go down so we had to use cellphones without edge or 3g... which was more dreadful than dialup...but we made the hacked the cellular network so it was free...
Sevki
+27  A: 

Are your developers unhappy?

Daniel Paull
This question is inappropriate. Everybody will always answer "Yes."
Kwang Mark Eleven
Unless they work for me!
Daniel Paull
-1 completely inappropriate question.
Metro Smurf
@metro: In what way is it inappropriate? Unhappy workers, regardless of the industry, is a good indicator that something is wrong with the business. The converse is not necessarily true though!
Daniel Paull
"Everybody will always answer Yes.", why? I've liked most of the places I've worked for! If that's changed, I've left. When I go to a new place I like to go and take a look around and "meet the team" and one of the things I try to sense is how happy and motivated people look in general.
Adrian Smith
+81  A: 

Is refactoring discouraged?

jalbert
Actually - one of the best questions. Many still don't get it that frequent, incremental refactoring SAVES time and not wastes it.
Arnis L.
i have been told this before: "Dont refactor too much - it makes the source diffs hard to read"
Pondidum
Thankfully I'm usually told to refactor, refactor and refactor even more at my work. This really made me cringe.
Esko
I was repeatedly discouraged to refactor code by my old boss, even when it fixed bugs. But he was probably right to do so, since we didn't have any unit testing... ;-)
Christian Davén
+1, but refactoring should be at least discouraged. http://www.1729.com/blog/EconomicsOfTestingUglyCode.html
Pavel Radzivilovsky
+5  A: 

How many Dilbert cartoons are posted on your cube / office walls?

This is doubly-damning for some organizations. Not only are the employees making not-so-subtle commentary about their work environment, they're also telling me "we're cliched Scott Adams characters just as much as the management!"

"Pointy-haired boss! Hur hur!" ... Spare me!

In the interest of full disclosure, my cube currently has three xkcd and one Penny Arcade strips.

Bob Cross
which ones? - the cartoons you have on the wall.
Nat
@Nat, http://xkcd.com/184/ http://xkcd.com/356/ http://xkcd.com/217/ and http://www.penny-arcade.com/comic/2008/12/17/once-more-breach/ And, let's be clear, they're not just on my wall. One wall is 3/4s tall with a window for the rest (helps the natural light from the window get into the rest of the floor). I use that as a two way whiteboard plus comic mounting area.
Bob Cross
Hahaha... I have 6 or so on my wall ;0
Ethan J. Brown
+39  A: 

Does the average developer have more than 3 hours of meetings a week?

Jeff Moser
not sure if 3 is the magical number, but excessive meetings are definitely a productivity killer, +1
Jimmy
Lower that to 1
jmucchiello
10 minute scrums in the morning and an hour for a beer on Friday afternoon. +1
cbp
+2  A: 

Do your unit tests take longer than 1 hour to run?

Sam Saffron
Hmm, what it unit tests include some kind of performance tests? I think it's OK, because unit tests are part of build process that runs nightly...
Michael Damatov
i think that integration and performance tests can take a while to run, however you want to keep your unit tests ultra fast.
Sam Saffron
Of course, this question is a follow up to "Do you use unit tests?"
Jason Baker
"Longer than one minute to run" would be more like it.
Nat
+47  A: 

Do I need to work weekends just before a big release?

Sam Saffron
Yup, sometimes you have to in order to not delay the release day.Just think of the costs of marketing to prospone the next release data of windows
the_drow
usually thats due to poor project management and planning.
Sam Saffron
That's software development. Might as well look for a tax accounting job where you don't have to work extra in April
MatthewMartin
Just because bad planning is common... doesn't make it right.
Matthew Whited
@MatthewMartin: That isn't software development, plenty of us can right code and keep a decent work-life balance. Weekends are my time.
Mike McQuaid
What is this "project management" you speak of?
dangph
@mike, "right code" as in right a wrong, or as in "I can right code but not english?" :P
Carson Myers
Crunch times happen, and sometimes I've had to work overtime to make deadlines. The question I'd rather ask is whether I'm expected to work more than 40 hours a week in relatively normal circumstances.
David Thornley
Working **one** day on a weekend might be necessary now and then. But only the most incompetent manager/project manager expects people to give up their whole weekend. See how "great" your productivity is after working for 12+ days straight.
Ash
+38  A: 

Are working hours strictly enforced? Am I supposed to work 9-5 daily with no exceptions?

Sam Saffron
This is a big one. Developers should have "flex time" due to the nature of the work.
Wayne M
If the best your boss has to say to you at review time is 'stop turning up at 10 past 9', then you could do with a better boss. I get way more done and voluntarily put in far more extra hours at my new company where I can start anytime between 8:30-10am.
cbp
8 - 5 more like :(
Pondidum
+1 - countless times iv been told off for turning up 30mins late, yet no one seems to care when I stay 6 hours late finishing stuff off...
pzycoman
I actually got reprimanded by a manager, with CC: the CEO for showing up 20 minutes late THE DAY AFTER I stayed THREE HOURS after work helping the SAME manager fix a database he destroyed.
Neil N
@Neil N: ouch :(
just somebody
@Neil, be sure to go home on time.
Devtron
+11  A: 

Has management imposed KPI's to measure individual programmer performance?

keeper
I'm so glad that I have no idea what a KPI is. :)
Doug McClean
Key Performance Indicator
SLaks
So you mean being measured is a bad thing? Or do you mean that bad KPIs are a bad thing?
erikkallen
+93  A: 

Do developers have to account for their time in small increments?

jalbert
+1 - Micromanagement FTL
Wayne M
No downvote, but I'm not sure I agree. I suppose it depends on what you mean by "account". Keeping track of time spent on different bits of a project allows for more realistic estimates and can be an early warning indicator that something's gone wrong.
Tom Wright
Keeping track of time spent in minor increments means that everything takes three times as long to complete!
Peter Boughton
As Peter Boughton said, if you start keeping a very granular time sheet, most of your day will be spent of the context switch from filling it out.
Spoike
Keeping separate time sheets, even with good systems or software for the time sheets is really problematic if they are too granular. BUT if features/tasks/bugs are kept in some sort of issue tracker and the better ones of these have a simple to use time-tracking heuristic (FogBugz, JIRA, TFS, etc.) Usually it's as simple as clicking on a "working on" or "stopped working on" button. This works very well if developers are used to using the issue tracker in their work flow.
hromanko
What do you mean by small increments? 5 minutes, 5 hours, 5 days?
Kwang Mark Eleven
Ugh.. I have to track my whole day in 15 minute increments. This is just one of three (yes, three) time tracking tools we're required to use. That thing is giving me ulcers since it's practically expected that 100% of our time is billable to a specific client request, and management has aliased the word "estimate" to mean "definitive number, god help you if you're one minute over."
AgentConundrum
I think keeping track in 15m increments would be fine - and I've considered doing so on my own initiative, just not for the purposes of discipline/billability/whatever. With sympathetic handling, I think it could be useful to the developer (in working out practices that aren't optimal) and to management (in working out things that the developer's tasked with that are using up time in a way that wasn't expected).If you've got a developer who's productively developing all day, accounting for time in 15m increments is basically "32x15: development". Which doesn't seem onerous at all.
Jon Bright
I once worked for a company using a time tracking tool that we had to fill in every day, giving feedback on at least 7 h of work every day. Minimal time delta accuracy : 5 minutes. I've been fired for refusing to enter my day work for 3 days in a row. Best day of my year.
e-satis
First professional job I had, they gave me a time sheet, and also told me how much time to put down for each task. In retrospect, that saved a lot of time.
David Thornley
@Wayne M - Micromanagement Faster Than Light? Sounds like SuperMan!...ager.
Chris Lutz
The solution to this is of course to write down the last hour of every day as being spent on keeping timetables.
Joren
@AgentConundrum: Sounds like it's time to look for a new job.
Christopher Parker
+18  A: 

Here are the first two that popped into my head:

Are suggestions about programming techniques or implementation details from non-technical people taken seriously by management?

(As a corollary) Do employees from multiple departments without an ownership stake in technology make suggestions about programming techniques or implementation details and expect to be taken seriously?

Paul Morie
My project manager is great. He knows he's not technical, so he says, "Here, build this." I do and all is well. I've had plenty of project managers that want to micromanage every detail of a given project.
Drew
@Drew You're very lucky!
André
Every so often, we get business change requests with "Hey, you should use this newfangled feature I saw on a Powerpoint slide to improve performance." Fortunately, my boss is good enough to reject all such requests and make them come back with business requirements only.
lins314159
+5  A: 

Do you have to fill in TPS reports ?

Amit
Have you seen my stapler?
Matthew Whited
More importantly, are you using the new coversheet?
MPelletier
+15  A: 

Have you upgraded to Fortran 77 yet?

John D. Cook
May backfire if the answer is something like "No, we're still on Fortran II".
Spoike
hilarious. Or better yet...Fortran.NET
Devtron
+4  A: 

This has probably been answered but.

  • Do you code before any planning is done?
Ólafur Waage
I would reverse that.
nosatalian
+22  A: 

Do they hire developers primarily based on academic degrees?

Mehrdad Afshari
I believe the result of that would be massive over-engineered projects that implement every single Gang of Four design pattern in the book.
Soviut
@Soviut: Not really, I happen to have an academic degree, but I'm pragmatic enough to not apply GoF patterns on every single problem in the world. However I do agree that hiring developers based on attributes disjoint with the work they're going to do is a very dangerous thing to do.
Spoike
Google does that, doesn't it? ;)
Lakshman Prasad
The keyword here is "primarily." I doubt Google is willing to hire anyone just by seeing his/her PhD.
Mehrdad Afshari
@Soviut, I disagree ! In my country (France), it results with people who doesn't know what a design pattern is. :p
Nicolas Dorier
+4  A: 

Do they measure developers by SLOC or LOC?

JohnFx
What would that be?
User
Source Lines of code/Lines of code
JohnFx
+5  A: 

Do you plan when to do refactoring? (If refactoring is something you plan, then people aren't doing it all the time, when required. If the business prioritise what's on the plan, you're also letting non-technical people make decisions about essential technical work).

A related one:

Do you branch before refactoring? (You're not breaking refactoring into small, low-risk steps. You're not sharing the work between those working on the branch and those on trunk. You're introducing merge hell between trunk and the refactored code.).

I've seen both of these many times, sometimes on the same project.

Nat
I was told something like "You can do refactoring whenever you see the opportunity if it makes you happy". LOL. As though I need it.
User
We've used branch-before-refactor once or twice to good effect (over the past five years), but it should definitely be the exception, not the rule.
Joe White
Refactoring tends to touch a lot of stuff, which is really what you don't want to merge.
David Thornley
Huh? Why would no *not* want to merge that as quickly as possible? The longer you leave it, the harder/riskier/slower the eventual merge will be.
Nat
+14  A: 

Do management judge projects by their costs only and are unable to judge them by their value earned?

Nat
+4  A: 

Are projects managed merely to fail as cheaply as possible?

Nat
+3  A: 
  • Is your development environment constrained to the point of having no ability to load or cleanly interface with external libraries or tools?
  • Do you use an undocumented, incomprehensible and over-engineered framework with major portions of the source code controlled by an outside party?
John Cromartie
+32  A: 
  • Do you only release a product if there aren't any more known bugs?
  • Is my manager non-technical?
  • Are there more than 3 people who can assign work to me without any approval?
Maltrap
+1 on #3. I've been there before.
Jason Baker
I would say all the above is a norm in bigger companies :)
stefanB
Whys is #1 a negative?
Vaibhav Garg
Some people only code in bugs
Matthew Whited
Has there ever been a successful, non-trivial product with no known bugs? I think even the famous space shuttle people have a few known bugs. Working towards perfection is a good way to ensure your product is either far too expensive or delivered way after being obsolete
Colin Pickard
I somewhat disagree with number 3, depending on definitions. I like the process where any member of the technical staff can assign a case to any other. Common reasons: they feel that the other person knows the area better, they want the other person to comment on the issue and assign it back, fixing the issue requires skills they don't have (especially graphics/design/audio), etc. Ping pong could result in some cultures, I suppose, but hasn't in my experience.
Doug McClean
-1 A decent manager does not need to be technical, or evenly technically minded.
NimChimpsky
+2  A: 

Is the build process manual? Does it have a dedicated "build person", and take hours to produce one build, assuming nothing goes wrong?

abendigo
Already covered in the original Joel test (can do one step build)
stefanB
+11  A: 

Are they one-deep in any critical positions, like Oracle DBA's? So when the one guy goes on vacation you're hosed?

theog
Yea, that's us.
User
I've seen this many places. Worse when they do more than one thing such as Oracle DBA and MQ Series admin.
jmucchiello
Oh man.. Today I'm practicing DDD, last week I had to migrate a client's Win 2000 domain with multiple servers to Win SBS 2008 (don't ask who picked SBS ...). Tomorrow I'm setting up a new spam filter gateway for our office. On and on and on. That customer should've sued us for accepting to work on their infrastructure. Somedays I get to program. And the boss wonders why a big refactor is only now getting done after 6 months. :-/
qstarin
+23  A: 

Is unpaid overtime a regular occurrence, and nothing is being done to change that?

EDIT: StefanB notes that some overtime might be normal. I don't disagree with this, and in fact when I'm passionate about a project, I will give it of my own volition. But I've been in places where some is expected of the employee and is programmed into the schedule; I'm not talking about emergency situations that require occasional heroics, I'm talking about sizable chunks of time that show disrespect for the employee's personal time.

The law states you are paid for a standard work week of 40 hours. Dedicated employees have no problem giving a little extra, but when it's chronic or counted on by management, and that same management isn't comparably dedicated to offering comp time or overtime pay, that's when people are justified in being upset about it.

Bernard Dy
I would say standard clause these days is "your salary already includes 'certain' number of overtime hours" where the actual number of hours is never specified
stefanB
Well, I worked for a company that had some sort of compensation (you could take time off for work overtime) but it wasn't clear what exactly was the overtime since you are expected to work late when you need to finish your tasks (when you have no tasks to be finished you would be unemployed wouldn't you? the better you are the more tasks you have). Even worse manager would try to restrict me working overtime due to not willing to give time off (even though I did not ask). I ended up working late when needed and coming a bit late to compensate disregarding the whole managed approach.
stefanB
If you're FLSA exempt, then overtime is (sadly) unpaid, at least where I work...
Jeff Kelley
If you are reading this page on stackoverflow you are a good enough developer to negotiate either paid overtime or get a job where you don't have to work much.
Mike McQuaid
@Mike Arthur: I wish, for myself and so many others dealing with corporate America, that it was that simple.
Bernard Dy
Who gets paid by the hour? I spend as much time as I feel is necessary to accomplish what I deem adequate, if they don't like it, they can fire me, but so far we are both happy.
nosatalian
+15  A: 

Is developer regularly (once a month) asked to complete numerous online courses prescribed by management to tick some bigger company-wide goal that is completely irrelevant to what developer is paid for (e.g. ethic course, personal goal management course, meeting your goals course, how to use your new time tracking tool in 50 easy steps course, be happy at work course ...)?

stefanB
Monthly compliance training here, but as I work in healthcare I give it a pass
Joel Coehoorn
+1. I've had to do everything from hurricane preparedness to handling a chemical spill. I'm now covered if knock my coffee cup over again...
Tim
It is literally impossible for ethics (real ethics, regardless of what the course teaches) to be irrelevant to what anyone does in any context.
eyelidlessness
+2  A: 

Is people manager making code production decisions (e.g. you need to split coding that module in 5 parts because I give you 5 people, could you have test plan finished a week before requirements are completed so that test developers can start implementing test cases ...)?

stefanB
+29  A: 

is there no coffee maker?

Patrick Gryciuk
We have coffee but milk is a rare commodity
Dave Turvey
@Dave Black coffee has no calories, and is thus health food.
Adam Jaskiewicz
This question is very important for me, but I know many programmers who dislike coffee.
Kwang Mark Eleven
I personally like prefer tea. Drinking something in the morning - that has caffeine in it - has become almost ritualistic for me though.
Patrick Gryciuk
I think that crappy coffee indicates a lot. It says to me that a company would rather do the bare minimum to pacify employees than to spend a bit more and make them happy. I'm not asking for a cappuccino machine; just some coffee that doesn't taste like burnt cardboard that's been sitting in a warehouse for three years.
Adam Jaskiewicz
+2  A: 

Are you required to restart your development box at least once a week?

Even though developing for Linux/Unix systems it always feels like Linux development environment is only an after-though. You're given Windows box and have to open millions of terminals and work remotely using vnc with minimalistic setup to not burden the server where every other developer uses Window box. Not to mention that you have to 'restart' once a week when critical patches for software are applied.

Where are those companies using Mac OS only environment?

EDIT:

Oh did I say "at least once a week"? It's becoming more like once a week but every forth week apply new patches so three restarts a week are required.

Someone in my office made a point that Monday morning restart of window box is ok BECAUSE IT"S AFTER WEEKEND. I told him that it's like to expect to take your car to service every Monday, because it's Monday and the car is expected to run for the rest of the week.

Sorry if all these restarts are norm in Windows world and people got used to that but my Mac Book Pro I use at home gets restarted about once every two/three months unless I left it unplugged and it runs out of power ... but that does not happen often.

stefanB
"companies using Mac OS only environment" - Probably in an industry like graphical design/advertising. "Mac OS only" would suck though, just like "Windows only". In the best places you can choose quite freely.
Jonik
Hm ok that's fair considering that Mac is posix compliant unix system I would be extremely happy to ditch windows/remote login to linux via plain terminal setup for Mac OS only, but yeah if there was an option to choose your system that would be great as well. Unfortunately most places I've seen is Windows/remote linux login which is extremely sad to use windows just because company things outlook is the only email application.
stefanB
Personally I have Windows running inside VMware on my Linux work machine, to be able to use Outlook (properly) and for other Windows stuff like testing with IE, etc. This setup works well enough.
Jonik
+11  A: 

So the guy in charge of software development has never been a developer?

SoftDeveloper
Worse is the CEO who once did some programming in VB/Fortran 66/Excel macro and therefore can make technical decisions
Martin Beckett
Not necessarily bad, but most higher-ups don't realize the limits of their knowledge.
David Thornley
+3  A: 

Do you not work for a company that develops and sells software?

+4  A: 

Do employees have to fill in an hourly timesheet?

Alterlife
Downvoted public sector projects require time accounting.
Rob Spieldenner
quarter hour, actually.. :(
AgentConundrum
And that makes them horrible projects to work for.
Alterlife
+4  A: 

Are you forced to use an ill designed hungarian syntax?

Alterlife
+30  A: 

Do you expect developers to serve support requests while doing project work?

(= Do you let the urgent override the important?)

mika
In moderation, this is actually a very good learning experience, provided of course that you give them time in their schedule to do it. I did it and it made a much more effective developer.
Ash
+1 for urgent override the important. Some 'managers' run on urgency fumes year round, 24/7 and then berate for not making progress on big projects.
Jared Updike
+9  A: 

Does the number of new feature requests correlate to the length of time the CMO was stuck at the airport with his Blackberry?

Josh
Have a stakeholder is a stakeholder.
Preet Sangha
+2  A: 

Are your designs disregarded because they're not inline with the company's [secret] vision?

Josh
+3  A: 
  • Are there any relationships/alliances between any team members?
  • Are there any relationships/alliances between team members->outside persons?
privateace
+6  A: 

Are there no programming questions when interviewing a new developer?

Tim
I don't think you need to ask, you'll see anyway !
Nicolas Dorier
Isn't this in the Joel test?
erikkallen
+65  A: 

You're required to use IE6 at work. And you do web development.

Guilty as charged. Ugh.

Tim
I am required to use IE6... sob!
Kwang Mark Eleven
Oooh yes...been there
Lunatik
Being required to make stuff corssbrowser including IE6
Jacco
Still there... shoot me please.
Brandon
We got FF 3.5 and TB ... love it <3
ApoY2k
I would be very worried about any web developer who doesn't test graceful degradation in IE6
Mikeage
Actually, being forced to using IE6 is a good thing. That way you don't accidentally create something that doesn't work with the crap, which can cost you weeks if you hit a bad bug. For most of us, not supporting IE6 is not an option.
erikkallen
@erikkallen - except that you'll write stuff that doesn't work on any other browser
Phil Nash
Required to support != Forced to use [for general tasks]. The former is OK. The latter is not.
Alex
I used to work at a place where they refused to move off IE6 and all the apps we supported had maintain their support for it. We only had to maintain 270+ user/partner developed apps. (I ran from there screaming)
JustSmith
If it only has to work on IE6 (internal apps) then I would say web-dev for IE6 ain't too bad, as long as you leave before they decide to upgrade everything to IE8
John
+4  A: 

Is the team all male (or all female).

On a small team it probably doesn't matter but when you have a larger team that is single sex it quickly leads to a poor working environment.

Tony Edgecombe
One of the best places I worked at was an entirely male environment.
pzycoman
Some of the worst environments I've ever worked in were all male. So there you go.
Preet Sangha
If it's a female manager and all female employees... there might be a problem with the manager.
TJ
There are women in software development?
nosatalian
+1  A: 

Are you forced to implement system changes recommended by non-programmer users that will threaten the security/integrity of the system simply because the non-programmer user "thinks like the customer"?

Ken I.
+5  A: 

Do you have to Google Traslate/Babelfish the dev specs, business analysis docs and/or client requirements?

alexs
That must be painful.
Eric Hogue
+5  A: 
  • Are developers doing significant DB work without the benefit of a good DBA?
  • Do you have a good deployment plan?
Joel Coehoorn
+5  A: 

Do you test in production (load testing or otherwise) just because you can't mirror your production environment in a test environment?

Mark Freedman
If not, is your test environment running on the same server(s) as your production environment?
lins314159
+10  A: 
  • Do the developers work on multiple projects in parallel?

  • Do the developers use print statements for debugging? (usually implies no IDE is available and the systems are ancient legacy system)

  • Do the developers need to work on other tasks, such as maintaining servers or desktop support?

Ryan Liang
I can't agree with the first one. I have 2 projects going on right now. One is a Java Web app and the other a new C# .NET app. I enjoy having multiple things going on. Does anybody else get bored working on the same old crap day in and day out, or is it just me?
amischiefr
@amischiefr: Good for you that you can get to work on projects on multiple platforms and manage to handle both at the same time.From my experience, it's the context switching that is hurting the productivity. Every time I switch from one project to another, I always need to spend some time to pick up the details of what I was left. I am not saying working on the same project for years. I also work on different projects, but I would prefer one at a time.
Ryan Liang
If you work on an OS that takes 12 minutes to build and 5 minutes to reboot, context switching is a necessity. Having multiple projects at a time is by far the best way to go if anything you are doing requires blocking
nosatalian
@unknown (google): You reminded me some classic scenarios in Joel Spolsky's first Joel on software. Developers would put a sit-up board next to their workstation because the project took long time to build. During the build, they would work out on the sit-up board! I was kidding. But you were right. In your scenario, you'd better find some other things to work on to make the best use of your time.
Ryan Liang
I have 3 projects on the go at the moment; sorry but to be frank only being able to manage one project seems inept to me. Don't agree with the other two either.
NimChimpsky
+5  A: 
  • Does the only connection of developer workplaces to the internet go through a HTTP proxy that is limited to ports 80 and 443?

  • Do you have proxy authentication in place? Is it configured to Basic Authentication? Does it lock the user profile on 3 failed authentication requests?

And because it's in perfect harmony with the above:

  • Do you require developers to change their user profile's password every n weeks?
mkoeller
I recognize that!
Nat
+3  A: 

Is there computer policies in your company that interfere with your daily work?

Mariano
+1 - We had to get a network admin to "sign off" on us restarting IIS on the internal test server, that only we used.
pzycoman
+8  A: 

Is Ie6 the primary browser Org wide?

Lakshman Prasad
+1  A: 

Is it a top-down company or are teams self-organizing?

Are you confined to non-open source tools (because it "hasn't been tested")?

Jon Erickson
+4  A: 

When developers make changes, and unit tests break, do they always simply delete them, no questions asked?

Daniel Ribeiro
+2  A: 

Do you have more active code branches than team members?

JP772
+6  A: 

Have the developers been asked to find "creative solutions" to meet unrealistic deadlines?

PeterAllenWebb
+2  A: 

Do you only write Unit Tests after the development is done ?

AB Kolan
+8  A: 

Are you the only developer?

abmv
+4  A: 

Do you have the feeling that dilbert strips are not funny, they just describe your daily experience?

chrmue
+1  A: 
  • Do your developers look puzzled when you ask them where their customer requirements are?

  • Do the software developers have to waste their time dressing up with anti-ESD coats and shoes to go accross the production floor into the warehouse to pick up their just-delivered SW/HW tools?

guzelo
+7  A: 

Are your developers working on single-monitor workstations ?

More thoughts regarding this topic on ServerFault

Brann
Covered in the Joel Test, I believe, although not this specifically.
David Thornley
+1  A: 

Is developer productivity or performance evaluated by metrics such as "lines of code written" or "number of bugs fixed"?

iammichael
+4  A: 

How much paperwork is required for a database modification?

Do you have clean restrooms for me to poop in?

Do you require development from janitor closets?

Do you have a real network that does not require Remote Desktop Connections?

Will you pay for my lunch? Every once in a while at least?

Devtron
"Yes" answers would *take away* from a company's score for you? Well, I guess some people must enjoy paying for their lunch, which they then eat in their dirty bathroom/janitor closet office =)
Matt Ball
+1  A: 
  • Is third party software managed by a central purchasing department that applies the same rules and timescales to software purchases/licensing the it would to office supplies?

  • Does all internally approved 3rd party software have it's .msi rebuilt and wrapped in a proprietary scripting language, inevitably breaking perfectly unusable installation processes? Do you have to wait 2 months for an offshore vendor to write this script?

Gus Paul
+2  A: 

Do you laugh at developers when they tell you they need new hardware?

Kevin
+3  A: 

Do you spend more time waiting for your project to compile than actually writing code?

Clinton
+1  A: 

Do you strongly enforce code-generation tools to shelter your programmers from the confusing intricacies of programming?

BranTheMan
+1  A: 

Is there a "rock-star" developer within the group?

Is the metric of quality done fast?

wheaties
+1  A: 

Does your company have a causal dress code policy all the time or only when no 'VIP' are walking around?

I was sold on casual dress code (jeans/T-shirts) during inteviews, I was told not to dress up for interview but more and more often we get email notifications that for next one/two weeks no t-shirts or required black trousers/shirt code ...

stefanB
+6  A: 

Did they lie to you in the interview? (That should be worth -10 or so.)

David Thornley
+1  A: 
  • Technology

    • They still develop using obsolete languages (vb6, cobol, etc.)
    • They don't have a migration plan to the latest framework / virtual machine / whatever (example they use .net 1.0 with no plan to update)
    • They develop in-house stuff they should outsource (eg they reinvent the wheel instead of buying one - usually the internal wheel is less reliable, less power-rich, and very expensive)


  • Source control

    • They don't use it
    • They use on obsolete source control (eg visual source safe)
    • They don't use branches when needed
    • They don't tag their checkin with meaningful comments (or better, with workitems ID)
    • They prevent any checkin without a related workitem ID (this is so annoying for trivial modifications, like a spelling error in a text)
    • They don't store their db schema (or build scripts, or some other key information) in their source control


  • Development methodology

    • They don't have a test server, and a preproduction server, and a development server
    • They don't have automated builds
    • They don't have automated tests


  • Developer consideration

    • They don't let developers buy hardware when they need it (an extra monitor, an extra dev machine, some RAM, a SSD drive, whatever)
    • They don't let developers buy books when they need it.
    • Developers don't have a decent chair to sit on
    • They don't have internet access, or you use a white-list sytem


  • Organization / Management

    • There's a rigid time management / reporting system which costs more than 5mn per day per developer
    • IT people depends on a non-IT person for IT related decisions
    • Developers are segregated from users
    • Creating a user in a database / gaining access to a shared directory / whatever requires more than 2 minutes of paperwork
    • Developers don't have administration rights on their computer
Brann
+1  A: 

Does Technical Support have the authority to ask developers to help troubleshoot a problem without first performing due diligence?

YeahStu
+1  A: 

Do you develop your softwares on the same plateform for 10 years

iChaib
Medical is like that.
Joshua
+1  A: 

Are the architecture, analysis, and tests performed by straight-out-of-school developers, paid the salary of a developer, and with the sole title of "developer"?

MPelletier
+1  A: 

Recently seen:

  • WPM (words per minute) requirement of a job specification for a programmer.

This is a true indicator of cluelessness.

cartoonfox
No it isn't if its set reasonable. Most programmers with really low WPM without a really good excuse do way too much copy, paste, and modify.
Joshua
Being able to touch type shows you have optimized the interface between your brain and the computer.
Thorbjørn Ravn Andersen
@cartoonfox: does the job description include the phrase "...and other duties as assigned"? If so, it might mean that this "programmer" will also be pulling duty as the admin assistant. :-)
Bob Jarvis
+2  A: 

Here's the cowboy contractor edition...

Does the employer negotiate a request for an increase in pay by not paying at all?

Are you interviewing 1099 programmers because you think 10-12 bucks an hour with no benefits/tax contributions/incentives is a reasonable and good strategy to save money on the bottom line?

Does your boss still use AOL as a web browser?

Is the project manager currently reading self-help books because this is the first 'real' project he's managed?

Has the project manager stonewalled with the other (and more senior) developer and attempted hostile negotiation the week of CDR (Critical Design Review) because he thinks it's a good tactic to 'up his cut?'

Note: By stonewalled I mean, convinced the other developer to not commit his work to the repository during the month leading up to CDR.

Does the contracted (and highly paid) integration specialist spend the full week of integration writing his portion of software from scratch and leave without any testing?

Are there features being added into the spec (preventing it from being frozen) as concessions because the project manager (who had to be dumped from the team) created an initial schedule that was impossible to meet?

Do the Customer's employees expect periodic out-of-state on-site support to teach them how to code in a new language and how to run a windows based system (that any teenager could handle) even though the the customer explicitly opted out of the on-site training portion of the package?

Does project tracking consist of a many concurrent/conflicting versions of a word document containing a table of problems with the project (not just bugs)?

Does the customer techs need numbered step-by-step procedures for every conceivable task that could be done on said system because the windows control panel is 'advanced stuff?'

Does the customer developer's decades of extensive experience with SCM (Software Configuration Management) consist of copying a new source file and incrementing the numbered suffix in the filename?

Is the computer you're attempting to interface with using a custom proprietary variant of Unix and still running the version written in the mid 80s?

Are the computers you're interfacing with taller than you and have 1000th the processing power of the cell phone in your pocket?

Or my personal favorite...

Does the customer default to reject 'good' advice on the grounds that they prefer to save a nickel by spending a million?

And... people think that working from an air-conditioned cubicle with sub-par-quality coffee is bad... Try to be the guy who's pulling his hair out trying to convince everybody else on the project that adopting version control is a good idea because none of them have even heard of it. Or being a junior developer with no guidance and little experience making critical make-or-break decisions about the project because no one else has a clue.

I feel like I've earned a pair of spurs that would complement a nice pair of shiny rattlesnake-skin boots.

Evan Plaice
"Is the project manager currently reading self-help books because this is the first 'real' project he's managed?" -- Hey that's not fair, everyone has to start sometime. Maybe ask if the project manager is refusing to read self-help books even though she sure needs them.
Windows programmer
Not when the project is worth 100K+ and the said beginner PM is in his early 50's. There's was a little(lot) too much yeehaw included in that project.
Evan Plaice
+1  A: 

Do you write design documents in MSWord (instead of a company wiki)

Pavel Radzivilovsky
To be fair, many companies do that; for drafts it might be ok. As long as the final documentation is maintained as a wiki...
sleske
It's not that bad actually. MSWord has a reversion system just like any other wiki.
the_drow
it has poor hyperlinks, poor cross-document search and poor revision control.
Pavel Radzivilovsky
+1  A: 

Do you write test plan only after the software is complete? (as opposed to, during development)

Pavel Radzivilovsky
+2  A: 

Are your programmers reluctant to show work in progress?

(As in "can I freely edit stuff of others", notifications vs priviledges, etc)

Pavel Radzivilovsky
A: 

Do you fix bugs before writing new code?

Oh... wait a minute... that one's actually number 5 on the actual Joel Test. I wouldn't want to work for any company that answered "yes" to this one.

If you want an explanation, why don't we turn to Joel himself? In an article written only a year after the "Joel test", he explains why Fog Creek don't fix bugs before writing new code.

Greg Beech
You missed an important paragraph: "`But mostly, it's worth fixing bugs. Even if they are "harmless" bugs, they may reduce the reputation of your company and your product, which, in the long run, will have a significant impact on your earnings.`"
Joel Coehoorn
@Joel - I didn't miss that paragraph, and I don't see how it changes the point. The fact is that article states that Fog Creek do not fix bugs as a matter of course before writing new code, but make a decision on a per-bug basis as to whether and when it is worth fixing. Just because they may make the decision that "mostly" bugs are worth fixing, does not change the fact that they choose to leave some unfixed before writing new code. And thus, do not pass the "Joel test" on this point. Which is a good thing.
Greg Beech
+2  A: 

Is your entire developer team a Monoculture (in terms of Operating System, Programming Language, IDE etc.).

By this I specifically mean do they all share the exact same opinions about these things, or is there free debate over them.

Richard Warburton