The Floggings Will Continue Until Morale Improves

November 12, 2004 3:41 PM

Inspired by this article about the working conditions of an Electronic Arts employee, here is my list of things a company can provide to get more work out of a computer programmer:

  • An office with a door
  • ...and no phone
  • A culture of asynchronous communication
  • A fast workstation
  • ...and two monitors. You wouldn't believe how much difference a second monitor makes
  • ...and their operating system of choice
  • Good development tools.
  • A fast Internet connection1
  • Snacks and drinks they don't need to leave the office for
  • A good-natured working environment
  • Flexible working hours
  • Tasks appropriate to their ability
  • ... and if at all possible, that they find interesting
  • Investment (emotional or financial) in the end-product

The list could be much longer, but it boils down to:

  • Give them the tools to do their job efficiently
  • Remove potential interruptions or distractions
  • Make sure they're motivated

Mandatory overtime isn't on this list, believe it or not. Not just because it sucks (which it does), but because it's counter-productive.

Programmers who have good working conditions and a personal investment in the end result will often volunteer overtime at crunch periods, or just when they have a particularly thorny problem to overcome and don't want to go home until it's done. Also, there will always be the occasional deadline which leaves everyone putting in a tough couple of weeks to push the project over the line on time.

If, however, you find you're working weekends before every deadline, or in the case of the EA employee, for the lifetime of the project, there's something seriously wrong. The project is being mismanaged, and the programmers are being whipped harder to compensate.

Even too much voluntary overtime should be viewed with caution, because people who work too long get tired. Speaking for myself (although there are various reports suggesting this applies generally), the more overtime I work, the less I find myself able to concentrate or apply myself to the task at hand. I'm fine for short bursts of extra work, but over prolonged periods the extra hours I'm working are overcome by the productivity I lose while I'm working them.

Mandatory overtime is even worse, because it will eat through any developer enthusiasm you may have fostered until you are left with a team of programmers who just want to go home. A programmer who wants to go home will cut corners, ignore bugs, write spaghetti code, find devious ways to pass work on to other members of the team, anything so that they can declare their part of the program finished and go somewhere that isn't the office.

1 Some would put the Internet under the "distractions and interruptions" column. It can be. However in this world of postmodern programming, it's vital that a coder has fast access to Google, online documentation, library downloads and so on.

11 TrackBacks

Listed below are links to blogs that reference this entry: The Floggings Will Continue Until Morale Improves.

TrackBack URL for this entry: http://fishbowl.pastiche.org/mt-tb.cgi/599

Diego Parrilla comenta en su blog la desgraciada situacion de la que se queja la mujer de un desarrollador de EA Games. La verguenza es que si no fuera por lo extremos realmente impresionantes a los que somenten a este chico la cosa no me sorprender Read More

OSAF Anniversary from Ted Leung on the air on November 13, 2004 6:59 PM

This past Tuesday was my one year anniversary at OSAF. It has been a great experience for me, not only in the technical dimension but in the community dimension. Most of my involvement in the open source community was due to XML/Java stuff that I Read More

OSAF Anniversary from Ted Leung on the air on November 13, 2004 7:03 PM

This past Tuesday was my one year anniversary at OSAF. It has been a great experience for me, not only in the technical dimension but in the community dimension. Most of my involvement in the open source community was due to XML/Java stuff that I Read More

The Fishbowl: The Floggings Will Continue Until Morale Improves gives a nice synopsis of how you get productivity out of programmers. Be sure to read the comments. Read More

I’ve been mulling over Charles’ post about the good working environment for a few days now. Like most other folk I agree with his list, though I never expect to see them all provided at any place I’ll ever work.... Read More

I’ve been mulling over Charles’ post about the good working environment for a few days now. Like most other folk I agree with his list, though I never expect to see them all provided at any place I’ll ever work.... Read More

(via The Fishbowl) An office with a door …and no phone A culture of asynchronous communication A fast workstation …and two monitors. You wouldn’t believe how much difference a second monitor makes …and their operating system of ... Read More

(via The Fishbowl) An office with a door …and no phone A culture of asynchronous communication A fast workstation …and two monitors. You wouldn’t believe how much difference a second monitor makes …and their operating system of ... Read More

(via The Fishbowl) An office with a door …and no phone A culture of asynchronous communication A fast workstation …and two monitors. You wouldn’t believe how much difference a second monitor makes …and their operating system of ... Read More

I read the recent article on EA's working environment, and realised that I'd forgotten just how lucky I am in my current job. I arrive at my (personal) office around 9am, although sometimes it's closer to 10, I write code and do general sysadmin-ty... Read More

If you are more of a herder than a nerd then please go and read this post immediately. Found via Laurent Bossavit who you should also read if you want to appear intelligent. Read More

9 Comments

I can't think of a better phrase than the one used by the first project manager I worked for after leaving University;

"If you're working more than 40 hours a week I'm not doing my job properly."

Oh that some others would learn that phrase. But you are right Charles, there have been studies (sadly Google lets me down at the moment) that go some way to proving that the longer you work the less effective you become.

As you say short bursts of long hours are OK, but you soon need to scale back to recharge your batteries. Age, fitness and stupidity are major factors here, but usually working long hours for more than a month is a bit of a no-no.

joelonsoftware.com has some good articles on programmer friendly working conditions.

And if you haven't already read Peopleware, it's a must! It has a fair bit to say about overtime (it stresses individuals, it kills teams, and it doesn't work - I think the term they use is "compensatory undertime")

I read Peopleware at the same time as No Logo on McJobs and sweatshops, and it had a lot of resonance, despite being about white collar jobs. (And just read Chapter 26 about waking the sleeping giant Holgar Dansk if you want some revolutionary politics).

Hi,

I have justs moved to uptopian software company that believes in your ideals and more. A little background I have always worked for small amatuer companies in Australia that followed the code and fix philophophy which required hero hours to finish a project.

This new company has provided me with a huge (window with view) office, closeable door, flexible working hours, two monitors, fast machine, fast internet, no limitations on what I can download/install/look at, the company activly encourages internet chat clients, in fact the company runs on them. Not to mention the stock options, bonuses and obscene salary my work is fun!!! FUN!! I love what I do and get this I work 10-5 at most with hour lunch. I have one meeting a week that if there's nothing to talk about goes for 15mins. People here don't work long hours they work smart hours. This is standard issue for every employee!!! I'm just a dev.

I'm not even a super geek, difference is that these companies hire smart people who get things done rather than smart people who are impracticle and talk about doing things but never do or dumb people who get things done but in stupid ways and require a lot of re-work later.

So which company well i can't tell you but it's in America, Seattle and most software houses now have to adopt this culture to attract the right type of people. I must admit the interview process was hell, it was unbelievably hard but rightly so. They only hire the top 2% of the top 2%.

You just have to look at the results here to see that this stuff is important and any company that doesn't invest in their people won't survive and don't let any manager tell you it's a myth because it's not.

End rant....ahhh that feels better.

I liked your liked your list, and agree with it totally. Though the internet bit I have to add to:
"1 Some would put the Internet under the “distractions and interruptions” column. It can be. However in this world of postmodern programming, it’s vital that a coder has fast access to Google, online documentation, library downloads and so on."

Id say that is the utmost importance, as stated above, but I also think the slight interactions that come with it are also required..id go bannanas without the ability at lunch or mid afternoon to check out penny-arcade, view cnn.com or some other quick distraction, cause looking at an IDE for 9-10 hours a day can be a distraction in of itself.

I liked your liked your list, and agree with it totally. Though the internet bit I have to add to:
"1 Some would put the Internet under the “distractions and interruptions” column. It can be. However in this world of postmodern programming, it’s vital that a coder has fast access to Google, online documentation, library downloads and so on."

Id say that is the utmost importance, as stated above, but I also think the slight interactions that come with it are also required..id go bannanas without the ability at lunch or mid afternoon to check out penny-arcade, view cnn.com or some other quick distraction, cause looking at an IDE for 9-10 hours a day can be a distraction in of itself.

I also like the link to joelonsoftware.com, I saw this a bit ago on interviewing and marvel that most companies (Gameing ones even) break some of his axioms of interviewing, in particular I had an interview that broke every axiom almost(i didnt know this at the time) by the end of the interview I was a wreck, but after reading joelonsoftware.com I didn't feel like such a looser cause i realized their interview really demonstrated they had no clue what they were doing...and I was ultimately glad I didn't get the job :)

Great article. Don't know if I could have said it better myself.

I've writte a short bit on the stupidity of crunch time at Mischievous Ramblings (http://enginesofmischief.com/blogs/ramblings/archives/2004/11/11/643) that I think adds to the discussion.

And I wholeheartedly second the wonderfulness of JoelOnSoftware.com!

Good list. But the point of an office is not always practical. Where I work in NYC, space is really tight and at a premium, and most companies cannot physically lease enough space to provide offices to developers. It's not really an issue of money, the space just isn't there. I hear this situation is common in many large cities across the world.

It's important to have ideals and shoot for them, but it's just as important to recognize that some things aren't just physically possible, and to learn to adapt to sub-optimal conditions. Where I work, nobody has offices (and I mean _nobody_), but we deal with it by the simple fact that we're all so busy that nobody has time to kibitz or annoy people unnecessarily. This is where the asynchronous bit you mentioned comes in - e-mail, chat, and the like. We talk face to face when these tools fail, which happens from time to time.

Mike: we don't have our own offices here at Atlassian either. The list wasn't a "must have", just a laundry list of different ways you can get more out of people. Companies like Microsoft can afford to check off the whole list, everyone else has to pick the ones they can afford.

Sometimes, also, you can benefit from the "war room" setup of having all of a small team sitting in close quarters. XP promotes the "put everyone in the same space" model, but I think the reason it works in XP's case is that everyone is pairing, so (a) everyone is making the same amount of noise, and (b) when you're pairing, you're less likely to have to disrupt someone outside the pair with questions.

I'm not sure about the snacks and drinks Charles. This would discourage you from leaving the office for at least half an hour sometime during the day. Apart from the OH&S aspects of keyboard work, it's good for the creative juices to step outside for a while. I get some of my best ideas between the office and the coffee shop.

Comments are no longer being accepted for this blog entry. If you really want to make your voice heard, you can always email me.

Previously: A Fond Farewell

Next: Beat Me Over the Head with that Punchline Again?