Fog Creek Software
Discussion Board

Living at the office? How about actually living?

Wasn't it one of those Microsoft books on programming that claimed you get the most productive people by making them work 9 to 5 and kicking them out and making sure they have a life outside of the office?

The arguement was that people that live at the office don't actually work 8 hours they just think they do.  Instead they show up at 11am, take a 2 hour lunch, read their personal e-mail for an hour, catch up on slashdot or Joel, do 1 or 2 hours of coding, pay their bills, go to a 2 hour dinner, come back after dinner, play a few network deathmatches, work another 1 or 2 hours and go home between 11pm and 1am and think they worked 12 to 14 hours because that's how long they were at work.

The Microsoft guy (sorry, I forgot which book) claimed it was better to get your people work a solid 8 hours (9 to 5 or 9 to 6) and stay focused most of the day then to let them live at the office, be unfocused and also feel like they spend too much time at the office.

I'm very curious your opinions of that opinion.

Gregg Tavares
Wednesday, September 24, 2003

I'm not sure about a Microsoft book, but Peopleware (a favorite around here) certainly emphasizes this. Most interesting is the theory that for every hour of overtime (that is, more than 8/day, 40/week) there's an hour of undertime (web surfing, email, discussing sports, etc.).

Chris Winters
Wednesday, September 24, 2003

The only issue I have with having a 8-5 day (in my case) with 8 hours of wanted solid focused attention is that you will never get 8 hours of total concentration.  So I do like the idea that I come in at 5am and leave at 6pm.  In that time I can have my spans of total productivity and also have some time to sit back and think or look like I am unproductive (even though I might not be).  Everytime I get distracted or have to meet with a group or individual it takes time to get back into the zone.

Chris Woodruff
Wednesday, September 24, 2003

My personal preference is for a "flexible hours / rigid deadlines" approach.  I feel that it's generally OK to let people "show up whenever" as long as everyone is held accountable for finishing their responsibilities on schedule and making sure not to hold others up from being able to do their jobs.

Obviously, this won't work in a lot of cases because many people can't be trusted to be reliable and self-directed and behave in a mature, conscientious manner that does not abuse this freedom.  The fact that most companies don't allow flexible hours is probably based on statistics just like car insurance premiums.  Lots of teenagers are indeed very dangerous, irresponsible drivers and because of this, ALL teenagers have expensive insurance rates.  Convenient, but not necessarily fair.

If you have the right kind of people and the right kind of project and the right kind of blueprint for dividing up the necessary tasks involved in getting the big goals accomplished, the flexible hours system can work extremely well.

IMHO, when people have to worry about being 5 or 10 minutes (or God forbid, an HOUR late), it just generally adds an unnecessary layer of stress to their daily life and plants tiny subliminal seeds of resentment that may eventually influence whether they stay with your company for the long haul.  For instance, I REALLY appreciate having an acceptable "window" during which I can show up to work, and consider it to be part of my benefits plan:  Maybe you don't like commuting in rush hour.  Maybe you have kids or pets or other outside responsibilities that have random needs that can't always fit a rigid schedule.  Maybe some days, you just wake up feeling like crap and want to sleep a while longer, but not necessarily call in sick.  Flexible hours keep all this stuff from bugging you too much.  Doesn't everyone have enough stress in their lives already?

And besides - people who are not dependable, tend to abuse policies, and can't be trusted to care about performance and quality don't belong on your team in the first place, do they?

Tim Lara
Wednesday, September 24, 2003

Well, I'm an XP type so a 40 hour work week is standard. Personally, 40 hours is too long. :)

I like flex hours too, but you have to have at least some core hours in order support pair programming or even a basic level of team communication. I don't really like the idea of a developer pulling, say, a vampire shift away from the rest of the team.

It's kind of funny how overtime is almost a given in some peoples minds, even developers. Isn't a project that limits the team to 40 hours per week while still meeting scope and deadlines superior to one that requires overtime, just on the face of it?

Wednesday, September 24, 2003

It goes in phases.  The downtime, the times when it doesn't matter if I come in an hour or two late, get measured against the amount of "push" toward being (stupidly) panicked about a deadline.

These days I feel perfectly comfortable pushing right back, but I tend to contribute extra focus, or an hour or two of my time as needed, in direct proportion to how much slack the company gives me and how long it's been since they've done so.

Wednesday, September 24, 2003

I think it was McCarthy's book Dynamics of Software Engineering that pointed how it was fruitless to keep people in the office for more than around 40-45 hours per week for more than a few weeks straight.

I agree this is generally true, and I know this is true for me. I tend to work lighter hours during the fuzzy front end of a project and then try to 'peak' during the later phases of the project when deadlines are looming, like a marathon runner.

Wednesday, September 24, 2003

Gregg: this is my experience too. Many software companies create this stupid internal cargo-cult of "personal sacrifice" and pressure people to engage in heroics. And being present for conspicuously long hours is part of the whole image.

What usually happens is that only the green kids and really stupid naive wankers take this "dedication" stuff seriously. Anyone qualified who chooses to (or has to) work in this kind of environment who has any emotional maturity at all tends to become incredibly cynical about their job. IE, you see things like people leaving their office light on and their computer sitting in a text editor when they quietly slip out and go home, to give the appearance that they went to the bathroom and will be right back.  And as you said so well, the overall personal dislocation of "heavy onsite hours" causes the hours worked to have very little value in many cases.

In fact, what tends to happen is that the stress, pressure and image stuff takes on more importance than meeting goals.  So the cynical staff members "use" the importance of "visible time served" to manipulate the system for perks and favors.

And the high pressure environments tend to produce crap because the worker bees are more concerned about survival than creating something good.

Bored Bystander
Wednesday, September 24, 2003

well, I agree with the spirit of the post, but thats not always the case.  Theres definatly been times where our team has worked 14+ hour days for weeks at a time, (and every day they get a couple hours longer), and thats been solid *work*. No checking email, no posting on Joel, no chatting.  Of course, the problem is, code just keeps getting messier and messier.  I'd had to clean up some UGLY stuff I did at that time, (and i'm sure I thought it was the coolest thing in the world at the time, being it was 4:00 am).    The point is, even if people are coding away non-stop, I don't think its possible to squeeze that many hours of GOOD code out of someone.

Wednesday, September 24, 2003

But it's not just about extracting work.  People comfortable to hang around can come up with the best ideas.  This isn't work -- it's instead a warm way to generate ideas on saving work.  Recharging batteries.  Or frankly, getting a second wind for another round of coding.

When I'm coding at home, I often take a break to do something completely different like watch a comedian or read.  Talk.  Then my interest refreshed, I go back to my so-called work.  I'm not travelling between places, so I don't lose energy; if I have a good idea, I can just drop everything and hit the machine.

Tayssir John Gabbour
Wednesday, September 24, 2003

I am so interested in this.
I am a firm believer in 'living life today'. I have no desired to live at the office 80hrs a week, when I have a husband to go home to, books I would like to read, things I would like to do. I do not want to be taking copius amounts of work home, I want to be relaxing with my husband, going for a jog, watching ST, talking, sleeping, convincing him to buy me dog so I can call it 'Ellie the elephant' (He refuses to buy me an elephant).

But I hear so many workers tlak like, if I want to *seriously* get into programming and the tech world, then I am going to have to work 80hrs weeks at least 90% of the time, and shame on you for desiring a 40hr week, you lazy person.

I don't object to working a few extra hours, however if it is cutting into my time I want to know that I am going to be recompensed in some way. This is my life, everyday it is my life, and it is important to me.

Can I really have the best of both worlds???

Aussie Chick
Wednesday, September 24, 2003

"Can I really have the best of both worlds???"

Yes! My managers have always cared more about delivery than hours worked. If I can wow them with what I deliver and when I deliver it, I get more slack time and they don't have to watch the clock with me. I end up spending a lot of quality time with my children.

So, how do you deliver? I say no to most meetings and keep everybody informed with my status everyday. I always love when my Project Manager asks why I am not attending their bi-hourly status meetings - because I am working on their project, you know, the actual code that is needed to complete the project. I can interrupt coding to give you a status, or you can read the daily status email I send - up to you.

Wednesday, September 24, 2003


>My managers have always cared more about delivery
>than hours worked.

Consider yourself lucky, I've seen the opposite, and it sure aint pretty.

If you have a manager that is clueless about what the team does, the only meassureable thing becomes time.

Wednesday, September 24, 2003

I think a lot of times programmers cause this problem for themselves.  Theres been many times when my manager, or some other high up has asked "how long will feature Y take to add?" and I say "hrm, about 4 hours".  Now, i'm thinking it will take 4 hours to code, but they're wondering how long it will take to code, bug-test, deploy, re-bug test, and optimize.  I'm starting to get better, but I see members of our team do it every day. 

Wednesday, September 24, 2003

Gregg Tavares, I know you are just generalizing but it sorta peeves me to see that you can't fathom people working hard overtime.

I have seen people for all walks of life putting more than their 9 hours worth for much of their productive lives and millions of people around you (including me) have no problem doing the same.

Li-fan Chen
Wednesday, September 24, 2003

Yes, I can fathom it, I've worked Christmas day 5 times.  I've worked 14 hour days for 10 months straight and generally at least 4 to 6 moths every year.

That's not the point.  The point is Joel is a Microsoft graduate, Microsoft says "people are more productive if they work 9 to 6 and leave instead of living at the office" and yet Joel is trying to make his office a good place to live at.

So, that makes me wonder, which is it?

Gregg Tavares
Thursday, September 25, 2003

The problem is, even during down time. its never explictly acknowledged as down time.  you're still there from 9-6, "pretending" to work harder than you are.  It's those times people should be allowed to balance out their 14 hour days they did to meet the last deadline. 

Man, I am so glad I left IT,    Solution to your problem, go join a trade union.  Best career move you'll ever make.  You wont work a minute of overtime w/o knowing exactly how you'll be compensated for it.

Thursday, September 25, 2003

>>So, that makes me wonder, which is it?

Why can't it be both? Does Joel _anywhere_ state that he wants people to work long hours (I haven't read this)?

Maybe Joel wants a great office that people actually feel like they actually have a life there, and aren't just boring cogs in the machine?

I see all the 'cool stuff' as a way for the people to take a quick break, recharge, and then go get things done. I don't see it as a 'we have all this cool stuff so people will spend 18 hours a day here'.

Please point me to Joel's writings that say different.

Thursday, September 25, 2003

[Yes, I can fathom it, I've worked Christmas day 5 times. ]

Oh man. You either really needed that job or REALLY loved it. :)

That's a line I would never cross.

Thursday, September 25, 2003

I also thought the 'living at the office' quote didn't seem to fit with Joels overall philosophy.

I agree about the loss productivity / quality  associated with long hours. However, I think people are kidding themselves if they think 9 to 5 means 8 hours of solid work. I find I need a break / change every 2 hours or so and interacting with your colleagues - even about non-work issues -  is a good thing! If people come in sit in their office with the door closed for 8 hours then go home you are going to hit problems pretty soon however productive they are.

We have a flexi time system (35 hour week) that allows people to work shorter days when things are slack by using up the credits they built up in busy times. It seems to work pretty well.

Iain Forsyth
Thursday, September 25, 2003

"yet Joel is trying to make his office a good place to live"

Ok, Chris, so you've made it unmistakably clear that you think this is a really bad idea, repeating so over and over.

Am I missing some alternatives? As I see it, you can:

- make your office a good, comfortable place to live
- make your office a bad, painful place to live
- make your office in between

Now it's clear to me that, barring the few masochists, good developers would, when the choice is available of places to work, chose the first.

But you are saying your experience is different.

Interesting. Now, there's no studies that back up what you and anon are claiming, but maybe you'll do some formal studies and post your results. You could even become a consultant on the development uncomfortable offices and write a book or two!

Dennis Atkins
Thursday, September 25, 2003

Sorry I meant Gregg not Chris.

Dennis Atkins
Thursday, September 25, 2003

I think that people are mis-interpreting Joel's meaning in the bionic office article when he quotes Greenspun about living in the office.

I think that if you look at the context of the article and Joel's other writings, it's clear that he simply means that the office should be a place that you're happy to be at.

He doesn't mean that he's using the workplace to try and get his employees to work excessive hours.

Bill Tomlinson
Thursday, September 25, 2003

Ha, today on

Thursday, September 25, 2003

m - where do you work, and are there any jobs going? Jesus your employer is enlightened. Don't quit that job!

Friday, September 26, 2003

>>> Solution to your problem, go join a trade union.  Best career move you'll ever make.  You wont work a minute of overtime w/o knowing exactly how you'll be compensated for it. <<<

I know some people who belong to a union.  Some train their kids to never admit that mommy or daddy (whichever is the union member) is at home when answering the phone.  It might be the office requesting they come in for overtime.  They have fixed shifts, but there is no guarantee that when the end of shift time comes that they can go home.

Yes, you're right. They know exactly how they'll be compensated for that overtime, however much it might be.

Friday, September 26, 2003

I have been at both sides: "Living at the office" and "working only X hours/day".

I was living at office mostly because there were no good alternatives. When I was student there were not so many computers available, and no time (you our from institute at 5pm, then go to job at 6pm, work 2 hours, and at 8pm there are time to go home? So solution was to stay at night, to work more, to earn more, and to study more. It was was great times, all I can say :)

After a years of working at other companies, finally we grouped and opened our own company. Our rules are simple: workers have to work only 3 productive hours per day: this gives us enought income to pay good salary. We build everything according to Joel rules, and according to XP rules, and thats help really much, thanks Joel!

Rest of time could be spent (and usually spent) surfung the web, playing games, entertaining at the city, etc.

And my experience is that  developer should not work with computer for more then 7, maximum 8 hours / day, 5 days/week. Otherwise work becames so unproductive, that in future, you will spend more time correcting ugly code, then you save during such sessions.

Also, I belive that people who live at office do much less work, then people which go home everyday. I have seen much of such ppl, have been one of them, and know this very well from both internal and external points of view.

Alex V. Koval
Saturday, September 27, 2003

*  Recent Topics

*  Fog Creek Home