Solution: Work for people who need fast computers for their own jobs. I work with engineers who need 8 gigs of RAM, 4 processors and 2 monitors (with 1600x1200 resolution), so that’s what I get too. When I say need, I mean it. The CAD program they use won’t always run correctly on the one computer in the office with under 8 gigs of RAM and 4 processors (it has 4 gigs and 2 processors, so it’s not slow by any means). One of the engineers even has a second machine with TWO quad core processors.

Heck, while we are dreaming, let’s go for broke…Every programmer shall have his or her own private cubicle consisting of an area of no less that 100 square feet. He or she shall share this space with no one, the cubicle should come with a standard entryway and four adjoining walls that are no less than 6 feet in height.

The programmer shall also have access to modern conveniences in his or her said cubicle that will consist of the following: (1) Indirect Lighting that can be variably adjusted to coincide with the developer’s mood; (2) A floor heater that can be turned on and off; (3) A fresh air vent that can be turned on and off; (4) A white noise creator to drowned out loud music and non-essential conversations that happen in adjacent cubicles; (5) A flexible work schedule that allows the developer to determine the most productive periods of the day for him or her to work. That should do it.

Wtf? Programmers have rights? How about the children making the expensive brand name clothing they wear? What about the factory workers that make their cars, and the folks working at mcdonalds making their food.

Are you kidding me?
How about the right to quit if you don’t like the job that you agreed to be paid for. You still have that right. If you were dumb enough to not negotiate all those things before you accepted your position, then quit. Whining spoiled babies.

About you should have negotiated before, quit whining, and similar remarks.

You are missing the point: The employer should be the one worrying, because he is wasting money by the bucket load. If his programmers are constantly distracted by noise, or people interrupting them, their output will be low…but their salaries remain unchanged.

If they have to waste hours and hours because of antediluvian equipment, you still have to pay for these hours. Poor equipment is not only slow, but quite often you have to spend a lot of time to fix it, clean the registry, use some hack settings that are marginally faster, and perhaps more importantly, you force yourself to run only the bare minimum in terms of applications: if it is slow, you try to run as few applications as possible, which means that if you need something from another application, you have to start it. Wastes time and takes your attention away from what you were doing.

All these add up to a lot of wasted time and a much lower productivity. If you save $2000 on equipment and waste 500 hours of your programmers’ time, you are a moron.

A second monitor goes for about USD 250. Assuming $50 per hour (for the sake of simplicity) and a 5% productivity increase (on the low side), you will recover your investment within 45 days and by the end of the year, that investment will have paid for itself 7 times over.

Even if your attitude was screw the programmers, I pay them, they are mine to do whatever I want, you still want to get them a proper development environment, because if you don’t, it’s going to cost you.

Personally, I liked this piece on the programmer’s bill of rights. If you aren’t too into yourself, (or a resentful middle manager), most of this was tounge and cheek stuff; and should not have stirred up some of the negative emotions that it did.

I also thought the post on the programmer’s responsibilities was excellent. If we are going to have rights, we also need to have, (and except), certain responsibilities.

I just reread this article after finding it over a year ago. I am diligently trying to move our department towards the things listed in this article, though some items, such as dual monitors, may be difficult given the economic climate. It is difficult for developers to understand why a company might resist making changes like these, given the tangible benefits of these practices. Monitors for example are cheap compared to the cost of a programmer’s time. I tell my team “Your problem is that you think logically” In a lrage company, the bucket the money comes out of is almost more important than the actual cost. Programmers are often viewed as overhead. The company pays the same amount on a monthly basis regardless of how long it takes to perform development tasks.

Thanks again for putting this to “print”. It might just help us move the ball forward.