Get over yourselves. The vast majority of you are not writing operating systems, or programming in ML! You are programming business logic in garbage collected languages. You get a paycheck. If you don’t like the conditions where you work, work somewhere else.

Programmers shouldn’t be given fast computers. Fast computers let programmers write dog-slow code. If the people writing gnome or KDE (or Windows, for that matter) had been on slower machines with less memory, the desktops would be much, much more lightweight.

John F, grendelkhan: This only works if the company is dogfooding. Generally, it would be better to put any internal users (sales, QA) on the lousy hardware, so that they feel the pain, and report it to the devs.

At any rate, if you’re developing webapps, there’s no excuse for slow hardware.

I am all for this bill of rights! I am still in college, but I think these are a must for a programmer. As for the fast PC, it would be nice, but if I can have a second one to run as a server, I am happy.

John F: maybe incremental builds are less than a minute, but then you change a common header and have to rebuild the project – forget about it – a lot of application development projects are not going to do a clean build in under a minute. More like 20-30.

With that kind of delay, devs either work around putting the code in the “right” place in order to avoid the downtime (leading to shoddy code), or they’ll wander off (physically and mentally) and lose their place, and probably not notice when it’s done, adding even more down time.

I think there’s a magic cutoff where if the compile/link/rerun time takes more than say 30 seconds, the dev will get bored/distracted and downtime goes exponential.

Features and performance are constraints applied by management/marketing. Optimization comes at the end, no need to make devs suffer with a slow machine all along the way, just during the final polishing.

No. Every programm shall have a large monitor. That’s all. For debugging, they should have an additional remote PC, not a remote monitor. (You ain’t never crashed a kernel, or driver obviously)

Every programmer shall have a fast PC

ONLY for compiling. The target PC for the application must, in fact, be the absolutely slowest computer available on the market, and barely have any disk space at all. The faster the PC the programmer targets, the more bloatware they write.

Every programmer shall have their choice of mouse and keyboard

This one I agree with. Also through in the text editor.

Every programmer shall have a comfortable chair

Yeah, whatever.

Every programmer shall have a fast internet connection

What has a fast connection got to do with anything? Krugle, and sourceforge doesn’t go any faster just because you have XDSL.

I can’t understand why people don’t understand #6, which basically means that the programmer should work in an environment that doesn’t have people coming and going and interrupting their work all the time.
Also, #3 sounds like I’m supposed to bring my own equipment o_O

Every programmer shall have the right to install and configure all software on his PC

As in, not be forced to work on a locked down PC where the software was slapped on as a default install by a teenager who has “IT experience” (ie: has played a computer game or two) on temporary contract to an outsourcer for whom maintaining control over the desktop is more important than having the desktop used to accomplish something and where ‘lockdown’ is being used as a poor substiture for security.

I can’t understand why people don’t understand #6, which basically means that the programmer should work in an environment that doesn’t have people coming and going and interrupting their work all the time.

Some programmers don’t understand it either - but then quite often they are the ones not doing anything clever enough to be concentrating on the task on hand (people who produce bad code that does not work well and isn’t worth the paper its printed on do not care in the least about point #6).

Likewise for some managers (and I really have seen some who take the attitude that nervous breakdown due to environmental problems simply means “time to find another contractor and put this one out on the street, no notice required”).

I’m not convinced by #2, unless there’s a rider for testing to be done on mediocre machines. I’d hate for the programmer’s bill of rights to take away from the end user’s experience by assuming everyone will use fast machines with loads of memory.