28

Many times when I get tired of development and my mind doesn't really help me any more (at home), I simply do something entertaining and my mind gets free for more hours of work with higher problem-solving capacity. However, when I recommended this technique to my manager as a technique to increase developers productivity and efficiency, he refused to accept on the ground that work is not the place for entertainment. I think this formula works for me. Is it true for other developers too:

2 hours of productive work + 30 minutes of entertainment > 3 hours of dull work

Why companies don't believe in it?

Update: I don't know why this has been closed as off-topic. Please if you feel that this is relevant, vote to reopen it.

8
  • Possibly related question: programmers.stackexchange.com/questions/14827/… Aug 3, 2011 at 13:56
  • 4
    No, it's something totally different @Alex. :). Actually this is a very nice question and the result could be very productive. I'm following it. Aug 3, 2011 at 13:57
  • 2
    Let me connect the dots for you. Time not spent on the keyboard (e.g., spent playing the kazoo) can be seen as "not productive". However, the true measure of productivity is...productivity. If playing an instrument makes you more productive, should that factor into hours per week? Or no? Aug 3, 2011 at 13:59
  • 3
    Is this really related to software development? Isn't the question and the arguments raised valid in any profession that is at least moderately creative?
    – blubb
    Aug 3, 2011 at 14:12
  • 2
    Yes, another question that belongs on productivity.stackexchange.com
    – Cyclops
    Aug 3, 2011 at 14:47

18 Answers 18

34

I lead a small team and I can tell you now that I will NEVER allow it in my workplace. Here's why:

  1. It sucks if you are NOT a developer. The last thing my QA and Admin people want to see is people having fun while they are working. They don't care if it might make sense, it just pisses them off and I'll have to deal with department heads that have disgruntled staff.

  2. What works for some coders doesn't work for others. I'm pretty confident that one of my guys would love it and POSSIBLY be more productive. I'm also pretty confident that productivity for at least THREE of them will go down. What do I do with the three of them? Development is a team game and I have to do whats good for the team.

There are a few more reasons why I wouldn't do it but its late where I am so maybe I'll edit it in tomorrow but here's how I handle people who need entertainment breaks.

Everyone gets assigned work in small packages. Even if its a big project, all the work is broken down into daily/hourly chunks. That way I know roughly when things will be completed. If you can deliver quality "enough" work earlier than the budgeted time, or if I feel I can trust you to get it done in time, your schedule becomes flexible and you can do whatever you want with it, PROVIDED its outside the office.

Finish a one day job in two hours and the code is decent? Leave the office and do whatever you want. If its a movie, I'll even pay for it. I have a decent budget for stuff like that if you've earned it.

I've been doing this for over 2 years now and my guys love it. I don't set ridiculous work loads, so they know that if they get stuff done PROPERLY, they never have to work the full eight hours.

I'm happy to say that most of my average programmers got "better" quickly under this system. It may not be perfect and I do occasionally catch flak from my boss but my guys are happy, work is almost always done to or ahead of schedule and everyone loves the bonuses.

BTW, its also made clear that this doesn't apply in sprints. By going flexible during normal times, I can demand and receive support when it comes to sprints.

9
  • 4
    This would be a good compromise; it shows that you understand quality is more important than pretending to work 8 hours so people can see you at your desk. +1 for that. Aug 3, 2011 at 15:44
  • 9
    Where do I apply to work for you? :)
    – Paul
    Aug 3, 2011 at 16:17
  • 1
    Good point with entertainment fairness to non-programmer employees. Going home early is usually a much better incentive to finish early than privileges to the game-room.
    – rlb.usa
    Aug 3, 2011 at 16:49
  • 1
    So say you have "go-to" people and your casual staff. If you assign work, I would venture to guess you assign tasks based on these skill levels, which leads me to believe you have a common trend on check-out times, no? I.e. the "work-horses" are there working a good 8 hour day (or close to it), while those who received the "easier" (and I use this loosely) tasks get out earlier? Or do you find yourself distributing work evenly and have a well-distributed skill set? Aug 3, 2011 at 17:07
  • I like how you manage people who get things done. Regarding your 2 points : 1. why not allow everyone to have "fun" breaks ? QA/Admin/support/sales/whatever may have a different job, but it does not mean it is less mentally draining. I am mainly a developper but I do support and QA too, small frustations that come with each are different but very real. 2. Can't you trust your team to "offset" the slackers ? (team members put pressure on the ones who don't get the job done because of lack of serious, and maybe productivity gain of serious members > productivity loss of slackers) Aug 3, 2011 at 20:38
33

Maybe because productivity is something hard to measure, whereas hours of being apparently working are not, so they often choose the easy way.

9
  • 1
    That is primary point. in my opinion.
    – cnd
    Aug 3, 2011 at 13:56
  • 3
    Yep; sad truth is many people have this attitude that if you aren't at your desk, you aren't working. Also the reason why it's so hard for us to get flex time or remote positions and why we have to justify to non-developers that even if we aren't typing we may be thinking of problems or researching. Aug 3, 2011 at 14:12
  • 1
    Most managers don't have the capability to correctly measure their underlings productivity so they use (mostly) meaningless metrics like hours, or lines of code.
    – user7550
    Aug 3, 2011 at 15:43
  • 1
    While this is true, it fails to answer the question because it implies that the decision against that policy is arbitrary or wrong. It's not, it's with good reason. See Perma's answer.
    – FastAl
    Aug 3, 2011 at 16:08
  • @Chris: This isn't limited to managers looking at underlings. How do you measure your own productivity? Can you graph it's ups and downs daily and contrast it against your work mates? I'm not trying to be smart-ass or shirty, it's just developer productivity is almost impossible to measure, and that's for everyone involved. Aug 3, 2011 at 17:10
31

In my experience, the simplest answer is that [ several, many, most ] of your coworkers don't share your passion for development. They're just there for the paycheck. If a pool table or Xbox was available, the extra policies and monitoring to prevent abuse of these perks would cost more than the productivity that someone like you might gain.

That said, there are some companies that have pool tables, full Rock Band setups, and the like. You'll just have to find them and prove to them that you're the kind of developer who can be trusted to properly leverage that environment to make all of their project dreams come true.

2
  • "there are some companies that have pool tables" ... Usually they end up trying to get rid of such amenities when that find that even the best devs are bound by human nature.
    – FastAl
    Aug 3, 2011 at 16:09
  • @FastAl Without naming names, I know of a quite successful company in my region who has offered and publicized such amenities for years. This only succeeds if the developers love what they do and have sufficient motivation to produce high quality work in a timely fashion. The breaks are then more similar to breaths of fresh air than slack-adaisical marathons; a quick drink of water more than a night of binge drinking. Aug 3, 2011 at 16:31
6

To my mind, having a company say "You have to be here eight hours a day, but you can take breaks during that time to play XBox games" is almost worse than a company just saying "You have to be here eight hours a day." I'd rather have the company implement a Results-Only Work Environment.

If I'm at work, I'm stuck at work, whether I'm cranking out code or playing XBox. If the company really cares about my productivity, they won't care what hours I work or where I work them from, as long as the work gets done. I'd sooner work fewer hours and play on my own time, than play at work as a supposed productivity enhancer.

4

Short answer is many companies are ignorant and stuck in a 1950s factory worker mentality; any time spent not visibly working is time spent not working at all in the minds of these people. This is why we as developers find it so hard to get flex time, or telecommute, or a variety of other things that our profession should allow, up to and including perks such as entertainment for quick breaks.

I find this "oldschool" mentality is often in established companies started and owned by older people; in newfangled startups run by college kids or fresh out of college, they're more willing to embrace these things because they've grown up with it and realize that sometimes you have a hairy problem and need to just veg out for a little while to help solve it, and a quick game of Halo/Call of Duty or logging into WoW to do a daily quest or run a quick dungeon is just what the doctor ordered. On the other hand, a company started by a 50-year old man isn't as likely to embrace the notion of, say, an Xbox 360 in the breakroom for developers, because it's not likely that the 50-year old CEO plays an Xbox 360 himself, and more importantly his professional experience took place in the days before video games became all the rage.

I hate to say it, but I see these things becoming more commonplace as the older generation die or retire and the newer generation, the ones who grew up with video games and computer games and smartphones, take over. They tend to understand that quality > quantity and being in the office doesn't necessarily mean that you're "hard at work" better than their elders.

4
  • 2
    Hey now...I'm not too far from 50 and I love XBox!
    – Catchops
    Aug 3, 2011 at 16:40
  • -1; That's a dreadful generalisation. I know plenty of folks - some of them well into their 50's - that have the latests consoles, they've time to play the games now as their kids have moved out or at college. It's more to do with corporate culture, which exists beyond individuals, and is much more difficult to change. Aug 3, 2011 at 17:16
  • But that corporate culture is far more common in established companies than in young startups. Aug 3, 2011 at 17:20
  • Yes, but "established company" != "50 year olds are boring squares that don't play xbox" Aug 3, 2011 at 21:04
3

That certainly depends on the company. Some companies have rooms with billiards tables, dart boards, and other entertainment available for just such occasions. I, myself, will sometimes take 30-45 minutes and go play my trumpet (OK - I'm a nerd and a musician), and when I come back my brain is refreshed and I can work again.

Good managers and many progressive companies are seeing this trend and accomodating these benefits. Some are still fairly old school, but that doesn't mean you cannot get up and take a refresher yourself - a good manager will certainly understand.

PS - this absolutely assumes you are being productive during your work time!!

3

Companies may or may not believe in it, or, more to the point, management in companies don't. However, to change their mind, you'd have to be able to prove that there was a direct cost/benefit in the favour of the company to do it and I'm not entirely sure how easy that would be. Not very many companies - in the grand scheme of things - would set aside budget for this sort of time passing - they expect you to be productive.

3

When I was starting out there was a local cell phone game company that had this sort of environment: bunk beds, playstations, a plethora of soft drinks/snacks, bean bags, ping pong tables, etc. This was also a company that hired fresh-out-of-college kids and young developers. In fact, no one in the company was over 25 yrs old (including the CEO).

I don't want to stereo type but I almost feel like this environment is good for those that are still excited about software, and more frequently that's a younger generation. Not that you can't have someone who has thoroughly enjoyed developing their entire career, you do (as others have stated) have people who just come in for the paycheck.

I don't believe that's the kind of environment you can just impose on a current situation. I have seen it be more successful when offered as a perk to coming to a company (and more frequently appreciated and not abused) than when it's acquired later. Reason being is now you have people that aren't used it it that will go over and above the respectful limits and just play all day and not use it for the intended purpose.

3

I've been on both sides of this issue and I think you may be putting your manager in a difficult position. Look, it is understood that employees don't spend 100% of their day on productive work unless they are on an assembly line. That is built into estimates and often treated like as a saynomore type deal.

Now, by forcing your manager to address it overtly, you are asking them to explicitly give you license to "goof off" which is dangerous ground. Your manager may even agree with you, but it could be career suicide for him to formally acknowledge it, especially in a big company.

You'd be better off keeping this type of thing in informal channels.

3

No thanks! I like to leave work at work. I will do entertainment on my own dime and time. My company has a Foosball table. I hate that game and never played it. I really love ping pong, but we will never get it here.

There are four ways to spend time and money: http://www.youtube.com/watch?v=Un4-eI1T71E

The best one is when you spend your own on yourself.

1
  • 1
    I was lucky enough to work at a place with both a foosball table AND a ping pong table. How I miss those days. Aug 3, 2011 at 16:15
2

Companies are managed by what is best for the company not what individuals would like. The business need is dgoing to take precedence. Why should I provide your playtime, you can do that after hours. You are being paid to work. If I give that to you, then how can I not give it to the other 10,000 people employed by the company? What you are asking for is huge cost to the company for no provable benefit. If you want something like this, you are going to have to have EXTENSIVE proof that it will in fact improve productivity. (And expect it to be quickly cut off when it doesn't if they ever go for it) And not just for you but for everyone in the company. This isn't the kind of benefit you can only give to one group which is why you rarely see it outside of a software company. Learn to work when you are at work like everyone else has done throughout time. You don't have to be motivated, it doesn't have to be fun.

2

The purpose of these toys is not to make people happy. It is to make them stay longer in the office. The equation goes like that:

8 hours of work < 9 hours of work + 1 hour of play

And a pool table is cheaper than the extra $$$ they'd have to pay people otherwise to make them stay the extra hours.

This strategy works with young people without families, the kind of workers startups love. If you employ more senior people, you either have to buy their time with hard cash, or simply accept that they will have to leave at 17.00 or 18.00 (because of kids, wife, etc.)

2
  • quant_dev, that has been my experience here in Austin. One school of thought in software startups is to make the office a hangout where single geeks won't ever want to leave. The flip side of that coin is that an employee who wants to come to the office, do a days work, and then come home starts to look like a slacker, because he's not availabe at 10pm after the first person shooters take a break and decide to code some. Aug 3, 2011 at 16:57
  • @Jim In Texas That's not the flip side, that's the whole point ;-)
    – quant_dev
    Aug 3, 2011 at 17:33
1

Do you think this holds true when you hire a plumber, electrician, mechanic, etc.? Would you pay someone for 3 hours worth of labor if he spent half an hour playing X-box?

That's the same reason many managers don't see it your way.

4
  • 3
    No, I completely disagree @davidhaskings. Google offices are a very good example of this approach. Yeah, I'll pay, because I want my work to be done, not to measure the working hours. Aug 3, 2011 at 13:56
  • 2
    Google isn't a typical company, nor do they hire typical programmers. Things that work for Google won't necessarily work for everyone else. Aug 3, 2011 at 14:00
  • 8
    Except that software developers aren't paid for labor, we're paid for results. Or should be. Aug 3, 2011 at 14:17
  • 4
    Wayne makes a good point. If the plumber was charging me a flat fee for the job I wouldn't care so much if they took a lot of breaks or goofed off as long as the job got done. However, most programming jobs are paying you by the hour or year of work. So the less you get done in that time, the less value they get for their money.
    – JohnFx
    Aug 3, 2011 at 14:40
1

Employers are paying you for X amount of time to produce. So either your work for someone that understands your need for creative breaks or you don't but your not going to change minds easily. Your better off adopting a 30 min 5 min break routine or 60 minute 15 minute break routine where you can do something that isn't so obviously entertaining.

1

It's extremely difficult to justify to the CEO why the company needs to purchase entertainment like console games, lounge furnishings, and foozball tables. Some employees may even go so far to vouch that engaging in these activities on company time means the programmer simply doesn't have enough work to do. All of this sits on your current management's personal standards and work ethic beliefs/preferences. So, it's almost like arguing why your religion is better than theirs.

I think your best bet is to drop the subject lest you be labeled 'lazy'. Hate to say it, but it's much easier to find a programmer-centric company with this venue of entertainment already in place, than it is to nudge your current company in this direction.

If you do decide to touch on the subject again, I'd recommend coming back with some solid statistics on productivity and entertainment. Also have ready some sort of plan/tactic that prevents the "If you give a mouse a cookie" kind of spending in this area.

1

There are several reasons for this.

  1. Although young people without families may be content to have most/all of their social interactions at work, the majority of us just want to do our jobs and go home. This doesn't mean we are not passionate about what we do but rather we have a lot more going on in our lives than just coding. So, most employees wouldn't want/use this stuff anyway.
  2. Most companies have to deal with several types of employees. Where I work most of the people run and maintain printing presses. There are about 15-20 people in the company of over 700 that would possibly get any benefit out of what you are talking about. The rest would just get pissed.
  3. Personally, I have begun to feel like companies that do this type of stuff either want you to never leave, or lack the maturity to properly run a business. I am much more interested in a ROWE environment than one where I can play games or have a nerf war. At the end of the day, life is too short to spend all your free time at work.

Figure out a different way to clear your head or find another job that has the philosophy you want. Just don't assume that you'll be able to go into a company that doesn't have that philosophy, and convince them to implement it. It's not going to happen.

0

I was going to comment, but figure I should weigh in as a full answer. Because some employees will abuse it. Because other departments will complain they don't have the same, Because some managers will never accept that it will have productivity gains. In the end, way too much friction for the benefit it might bring. I've worked at many places, I've seen and it's way too easy for people to get caught up in things that are only mildly entertaining, or not entertaining at all, like solitaire, minesweeper, facebook, and countless other things. Having something that is designed to be fun and a distratcion from work seems like a big problem. Sure some people could handle it, but most couldn't. Even those that might be able to handle it might get co-opted into using it more than they should because there's other employees that ask them to play, or because everyone else is spending so much more time on it. Instead companies should spend money on making working more enjoyable. Such as by purchasing quality desks and chairs, providing quiet private offices, providing fast and stable developer workstations, and by hiring other high quality employees that the developers will want to work with.

Not the answer you're looking for? Browse other questions tagged or ask your own question.