The Programmer's Bill of Rights

It's unbelievable to me that a company would pay a developer $60-$100k in salary, yet cripple him or her with terrible working conditions and crusty hand-me-down hardware. This makes no business sense whatsoever. And yet I see it all the time. It's shocking how many companies still don't provide software developers with the essential things they need to succeed.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2006/08/the-programmers-bill-of-rights.html

That is fantastic. This should be on a t-shirt or something. :slight_smile:

Is there any reason that this list should be limited to programmers and not everyone else also who works with code and computers?

There was a day when unlimited smokes and coffee would have made this list, but I date myself.

  1. (proposed) Every programmer shall have the power to do the job right.

  2. (proposed) Every programmer shall have the most powerful tools available for the chosen environment, and for that matter some say in the environment used.

  3. (proposed) Every programmer shall have access to reasonable support tools (including but not limited to: source control, automated unit testing, nightly build scripts, etc.)

Every programmer shall have a fast PC

Sometimes I wonder about this one. As I watch Visual Studio 2005 take a dog’s age to launch on my PC, I wonder if MS shouldn’t have given their developers SLOWER machines.

Brian, I think he means “the choice of quiet working conditions”. I too love the headphones blaring most of the time, but having the control over it when I need to really cut off my external inputs is important to me too.

Sometimes at work I wear my headphones with no music just to keep the distractions to a minimum and deaden any conversations around me.

re:
8. (proposed)

i’d settle for being allowed to use the editor of my choice: vi. i do despise most IDEs.

Another proposal:

Every programmer shall not be subjected to the requirements of the corporate uniform.

or to put it another way:

Every programmer shall be allowed to wear comfortable clothing of their choice.

Some of these could be summarized in a “one rule pack” that reads:

Every programmer should be able to work anywhere in the world, though a fast VPN, and not in cubicles… :wink:

I prefer these bills of rights:

http://c2.com/cgi/wiki?DeveloperBillOfRights
http://c2.com/cgi/wiki?CustomerBillOfRights

Jeremy, those are great links, but they’re very different animals.

My “Bill of Rights” is about basic working conditions only. That’s why it could apply to OSX, Linux, or Windows developers working in any language, using any methodology, not just agile.

Don’t forget good development tools

This is also why I didn’t comment on tools; the choice of software development tools is not only a religious issue, it’s clearly higher level than having the core BASICS: a fast internet connection, a fast pc, and a quiet workspace.

Since almost all companies have little idea on what makes a great environment for a programmer, you are better off watching the movie “Office Space” and then figuring out what you’d do if you had a million dollars.

(proposed) Every programmer should be given EXACT specifications of what he is expected to deliver.

I must disagree on the fast computer. It has been like 20 years since compiling an app took more than a minute or so. I say give the programmer the same computer the average user will have, I bet the performance of the apps they write will be a heck of a lot better if they have to feel their user’s pain.

I agree with tis bill of programmers rights, and even though I may not be a programmer in the literal sense, I still do debigging, and testing of certain software, as well as play games on my computer, and I enjoy things much better when I get to choose my own stuff. That being said, however, not all companies are going to allow this to happen, nor will they be willing to allow it, speaking froma realists point of view. The only way that this bill of programmers rights will be used in The everyday work environment, is if the poeple who use computers, not just the programmers try to push to get this bill of rights recognized by governement, not just eh american government, but all governments, no matter what country, or location on the globe. Well tat is my 50 cents worth, if anyone else feels the same way, then please go forward and make a big stink of this on the news, on the internet, and in your local, and national newspapers, as this should be called the common everydays workers bill of rights.

I concur with your “Bill of Programmers Rights”. However, I believe that they should apply to ALL people in the IT industry. Maybe the “Bill of IT Workers Rights”?

#0: No programmer shall be made to report to ex-operators (who can’t think in symbolic logic, but still want to leapfrog the hard work climb up the corporate ladder).

Why limit it to 2 monitors? I have three and love it. Code on one, form on another, reference material on a third.

A programmer should have as many monitors as they want. Personally I find three to be the limit I would be comfortable with–I can’t see how to place a 4th that wouldn’t involve too much head turning.

How about the right to a have great IT business analyst? One who can write clear requirements for the programmer?