Jeff Atwood posted back in 2006 an article entitled "Programmer's Bill of Rights".

To summarize:

  1. Every programmer shall have two monitors

  2. Every programmer shall have a fast PC

  3. Every programmer shall have their choice of mouse and keyboard

  4. Every programmer shall have a comfortable chair

  5. Every programmer shall have a fast internet connection

  6. Every programmer shall have quiet working conditions

The only requirement met by my workplace is a fast internet connection.

I would like to try and convince my employer to adopt the rest of these practices, assuming it's not too unreasonable for a workplace to provide their programmers with these items.

How could one encourage an employer to adopt these practices? What points could be made to encourage my employer to increase the expenses they are willing to spend on their programmers?

  • 3
    Hi hdman, welcome to The Workplace. Poll-type questions are not a good fit here. For more information, please see the FAQ and Good Subjective, Bad Subjective.
    – Nicole
    Feb 4, 2013 at 6:55
  • Might be better phrased as asking whether the specific points mentioned in the article have merit and/or are codified in law anywhere, but would likely end up being too localised and a shouting match between opposing opinions to boot.
    – jwenting
    Feb 4, 2013 at 7:09
  • 4
    Voting to reopen - the new edits make it a much more on-topic question for me.
    – Adam V
    Feb 4, 2013 at 17:01
  • 2
    IMO this is NARQ because these are 6 different problems. Maybe a general "how can I get stuff" (to which the obvious, general answer is "prove it's useful to the company") might be okay, but 6 different, specific requests is a mouthful for one question. The answers also vary a lot; a fast internet connection probably requires the whole company to change, vs buying a second monitor only for developers and so on.
    – Rarity
    Feb 4, 2013 at 20:08
  • 2
    Meta Question: meta.workplace.stackexchange.com/questions/1682/… - Please stop downvotes and reopens until this question has been settled. Feb 4, 2013 at 20:30

2 Answers 2


I would work on each item separately.

For #1, there's research that shows that more screen real estate leads to greater productivity:

According to the researchers' findings, folks who use a single 24" display are 52% quicker at tasks like editing documents and tossing numbers between spreadsheets than those who use a single 18" display. Having two monitors instead of one helps, too, although not quite as much: the speed increase from switching to dual 20" displays from a single 18" monitor is only 44%. Interestingly, the researchers say productivity actually goes down when users switch to a 26" monitor, suggesting 24" could well be the sweet spot.

(The link comes from Jeff, who had an entire post talking about the benefits of multiple large monitors.)

For #2, when it came time to upgrade PCs at my first job, one of my coworkers was given several test PCs and asked to gauge which of them were fast enough. He opened the largest code solutions we had in SourceSafe and measured how long it took to compile them on each machine. He was able to use that data to push for the department to upgrade to the best of the test PCs he'd been given, because it was able to compile in less than half of the time of the slower PCs, as well as being able to keep more files and projects open without interminable delays.

For #3, you could try bringing in your own mouse & keyboard and show a similar productivity increase (albeit smaller); alternately, if your mouse/keyboard need replacement, you could simply ask for a small upgrade to the mouse/keyboard of your choice. A mouse & keyboard are relatively cheap compared to the costs of PCs or chairs.

For #6, here's what Joel Spolsky had to say:

Look for ways to get out of this environment. Take a laptop to the company cafeteria, where there are lots of tables that are empty most of the day (and nobody can find you). Book a conference room for the whole day and write code there, and make it clear through the preponderance of checkins just how much more work you get done when you're in a room by yourself. The next time there's a crunch on and your manager asks you what you need to Get This Done By Tomorrow, you know what to say. They'll find you an office for the day. And pretty soon they'll start wondering what they can do to keep that productive thing going year round.


On each point, you must answer the following question: What's in it for the company?

Every programmer shall have two monitors

This is one of the harder items to quantify. How will the company benefit from you having two displays? Can you demonstrate that you're more productive with them? Can you propose a 3-month trial & demonstrate improvements in those 3 months?

Speaking for myself, I had to go back to a single-monitor setup. My desk is not configured in such a way that I could set up 2 monitors and not be constantly swiveling my head, or keeping it turned to one side. Result: months of neck pain. That pain negated any benefit I had from the extra real estate.

Every programmer shall have a fast PC

Are you currently constrained by your PC's performance? Do you spend a lot of time waiting for things to happen (builds) that would result in a significant increase in productivity, time or cost savings by upgrading the computer? Could a simple upgrade to the existing computer (SSD vs. traditional hard drive) be sufficient?

Every programmer shall have their choice of mouse and keyboard

Every programmer shall have a comfortable chair

These are a little easier to justify. Keyboard & mouse are inexpensive enough that replacing them shouldn't be a big issue. RSI can be extremely costly for a company - both in healthcare and lost productivity. If you can get better keyboards & mice that will reduce the risk or RSI, you can make this case.

As for chairs, you have similar concerns about health - posture, correct typing/working position, etc. That said, offices buy (or lease) their furniture in large blocks, and get a price break for that. So replacing the chair outright could be a hard sell. Making sure that the chairs aren't 15 years old, lack proper cushioning & support, etc. is easier. Getting someone on-site to make sure that chairs are properly set up is just as important.

Every programmer shall have quiet working conditions

Again, this is a difficult one because most non-technical managers do not understand that a 5-minute interruption can take a programmer out of his current task by an hour or more. Cube farms are standard in most companies. Giving programmers special treatment is generally not going to happen; the best you can hope for is getting your own cube "garden" (smaller than a farm) that's situated away from large walkways & areas with people who spend a lot of time on the phone. You can also try attempting to establish "office hours", a set block of time each day where people can approach you with "drive by" questions, but outside those hours they need to request a slot (unless it's a true emergency).

Ideally, we'd all have quiet working conditions. But the company needs to see a lot of financial benefit for the costs of giving programmers their own workspace that's isolated. Instead, pitch for a better location. Putting programmers next to the 10-person call center that takes 200 calls per hour, or next to the main aisle through the cube farm is a bad idea; relocating to a corner away from traffic, with a buffer zone between them and louder (by necessity) employees is more workable. Or you could pitch for improvements to the existing cubicle walls, perhaps more sound-deadening materials.

  • 2
    you must answer the following question: What's in it for the company? This will help (greatly) to attract better programmers (just put something like "This company accepts "Programmer's Bill of Rights" within the job ad)
    – Steve V
    Feb 5, 2013 at 11:56
  • This assumes that the company is looking to attract those programmers. If you're not a software development shop, "better programmers" may not be a significant priority.
    – alroc
    Feb 5, 2013 at 14:24
  • well, if they smart, they should realize that better programmer's performance is much much better than 'average' one's
    – Steve V
    Feb 5, 2013 at 15:15