42 comments

[ 4.6 ms ] story [ 94.2 ms ] thread
Interesting, however, I would question the quality that comes out of longer work weeks, see many previous discussions on HN.
Voluntarily? There's a lot of wiggle room in that term, and probably some assumptions that need to be challenged.

If we assume that "voluntarily" means that you expect your developers to simply stay late without any investment of effort on your part, then good luck to you - I hope your developers REALLY believe in your company. You want something for nothing, and personally, I'd comply long enough to get another job. My life is too short to spend it "killing time" on your project.

If we assume that you are willing to invest in the environment or other workplace changes, but not willing to compensate your developers financially for extra time, then I think that you're going to want to be careful what message you're sending so you get the most bang for your buck, so to speak. Ordering dinner (and not just pizza by default), for example, would be a good start. Most of the time, I'm hungry in the evening, but if I'm staying late I'm not going to be thrilled about spending 30+ minutes to go get my own food. I'm going to be thinking "great, this is 30+ minutes later I need to spend when I get back." Giving me clear direction for what you need and why you need it now is another biggie. If you're asking me to stay late, clearly you have some task in mind so make sure I understand exactly what you want to see so I don't waste my time. Making it clear that you are doing whatever you can to remove the reason I'm here late is another biggie. To paraphrase, lack of planning on your part does not constitute a good reason to give up my evenings on my part. If you're asking me to put in 12 hour days, I'm not going to be amused by the addition of a pinball machine or other games (I have worked at a startup where the other developers managed to squeeze in 8 hours of work and 4 hours of ping-pong in every day and bragged about "working" late). I'm at the office late because you need something done, and anything that doesn't make that goal easier so I can hurry up and get home just reeks of management missing the point.

If we assume that you are willing to compensate your developers financially for their time, then make sure that this is a win for both parties. Time after hours is time that your developers can't spend doing other things. Evenings are time with families, for example. Evenings are a chance to spend time with friends away from the office. Evenings are a chance to unwind with hobbies. I value my evening hours more highly than my midday hours because I have a family and that's when it's easiest for me to spend time with them. If I'm not going to make it home for dinner, I don't want to tell my wife "honey, I need to work late but it's okay - I'm getting an extra $50 out of the deal." That figure needs to be high enough that the decision is easy. I also do contract work after hours, so if my day job wants me to stay late, I'm forced to either give up sleep to meet those obligations or I'm giving up weekend time. You're shifting the array of my life around, and that's an inconvenience I would like to be compensated for. I'm not asking for something ridiculous, but I think a premium atop my regular rate is in order.

Pay overtime. Not being glib. It works like a charm. Then again, "works longer" likely isn't your real goal, and more hours may not serve that real goal.
The short answer is "If you have to ask that question, you can't do it."
Use an 8 day week now your programmers can work 48 hours per week.
The simple answer: work on a problem/product whose solution is both fun and challenging, then recruit developers who respond to fun challenges. Don't do mediocre shit, or if you must, don't expect it to be easy to get other people excited to give above-standard effort to it over an extended period.

I worked some nights and some weekends from November through January because I was doing something that I truly enjoyed. No one had to ask me – I did it on my own initiative because that's where my mind went each time it was allowed to wander. It was awesome. edit: Oh, and get out the ass-in-seat model of productivity. All this bonus time happened at home, in my comfy apartment.

At the same time, it wasn't a death march. If I needed a break, I took it. I spent plenty of nights/weekends relaxing, having fun with my girlfriend, and otherwise doing my own thing. I felt no pressure to put in the extra time and no guilt when I didn't.

In the end, everyone got a great deal. I work on stuff I truly enjoy, my employer gets substantially more productive juice than is standard, and everything is flexible.

Of course, even on your own initiative, it's possible to burn out. I'm a little frayed after all that effort, fun though it definitely was. Still figuring out how to regroup and recharge, and I'm a bit slower now as a result.

Speaking from experience (working at Google), the answer is simple: you feed them.

I have breakfast, lunch and dinner here. Frankly, cooking annoys me and going out and buying food involves making decisions more often than not I just don't care about.

My fridge at home only has Coke Zero in it and I think I've forgotten how to buy groceries.

What do you do on the weekends?
> What do you do on the weekends?

Also, what does his/her spouse think about it?

Well I live in New York (Manhattan actually) so buying groceries and cooking for myself would be a challenge, even if I were interested (which I'm not). Small apartments, small kitchens, etc.

So even if I wasn't supplied with food I'd be sorely tempted just to eat out all the time (whether that be dining or take out).

So on weekends I eat cereal for breakfast and do something for lunch and dinner depending on what I'm doing anyway. More often than not, lunch lately has been wandering down to the West Village for a slice of two of pizza.

Dinner can be something as simple as soup from Whole Foods (they make great soup), take out, going out for dinner or whatever.

As far as I'm concerned there are two things you never do for yourself in Manhattan: cooking and laundry.

Will google do your laundry? Just curious :)
Dry cleaning is a pretty regular perk offered at Google offices, so yes Google will do your laundry.
Do engineers need their t-shirts and jeans dry cleaned? ;)
Does feeding your staff actually make them work longer, or just spend more hours at the office eating? If you stay at the office longer because you're eating there, how many extra hours per day would you say you're at work because of that?

How about people with spouses or kids - don't they just want to eat their meals with their families? What about people who just prefer their own cooking? I can see this strategy backfiring for some, who might think "enough already, I don't want your food, I just want to go home."

Don't underestimate the social aspect of programming.

The vast majority of geeks have no audience that will bask in their genius other than other geeks. If you do something absolutely brilliant who are you going to tell? Your boss? Odds are he won't appreciate your genius. Your mom? Odds are she won't appreciate it either. Your other relatives? Your friends? Some random person you run into at the bus shelter or train station?

Geeks crave appreciation, because pretty much everything we do is invisible. Even the UI is widely acknowledged as only the tip of the iceberg, and for the most part nothing really interesting happens there(1).

There is a deeply primitive aspect to geek culture, the sitting around the campfire swapping war stories element. And if you weren't there man, you just don't understand...

(1) Even good UI design and usability/accessibility is mostly mechanical. "Honey I'm home! What did you do today at work dear? I left aligned all the labels on exactly the same pixel column! That's nice dear." Shoving alt labels on your UI elements and picking a boring (but readable) font ain't glamorous.

That only works for so long, When your kids get up at 6 and go to day care at 8 you want spend that time with them so you get into work at 9, after breakfast.

When your kids go to bed at 7 you want to spend time with them before that so you head home at 5:30 and miss diner.

Being feed lunch is nice though:)

Take away access to quora.

Then they'll get so much more done during regular hours, your problem will just go away.

</sarcasm>

Actually this is a fair question that deserves and honest answer. My experience...

1. Don't do it regularly. It gets tired real quickly.

2. Have everyone understand why overtime/deadlines are important. Be open and honest. People genuinely want to help and will shovel shit under the right circumstances.

3. Hit your deadlines. Crying wolf only works so many times.

4. Make it tactically easy with simple things like: bring in dinner/drinks, carpool, motel room, day care, casual dress.

5. Pay them with overtime or comp time. (Amazing how well this works.)

1. Don't do it regularly. It gets tired real quickly.

I second this. It's not sustainable. On any given project, have a maximum amount of this allowed. If there's more, then there's something wrong.

At one company I worked at, sales guys felt insecure and kept on asking for more features in a hurry, before the next client meeting. This should've been looked at as a symptom. In retrospect, we should have asked why the sales guys felt so insecure and went on from there.

5. Pay them with overtime or comp time.

I'd suspect that this works best if it's the workers choice. At the same job, depending on circumstance, I was paid off with both comp time and overtime, and its surprising how different I felt the experiences were.

I definitely liked having the time off, but I generally squandered it since I was still decompressing from the extra work (I should note that, in this job, comp time generally came from working through the night - literally midnight to afternoon - on a Friday night leading into a week on call, then followed by the comp time). During a crunch time on another project, 60+ hour weeks weren't particularly rare, but we were paid overtime (at our regular rate).

I definitely preferred the paycheque over the time off, unless I could quickly bank enough time to take a full week off.

I think the choice comes down to your personal situation. Younger, single folks - like I was then - are probably much more likely to want to work through the pain in exchange for "extra" cash. Married folks, particularly those with kids, are probably much more inclined to take the time off to be with their loved ones. It's very much a personal choice, and I think an employer that understands that and treats the situation accordingly will get a lot more loyalty and respect from their workers than would an employer who paints everyone with the same broad stroke.

That said, I seem to recall reading - in Peopleware, I believe - that workers who push past 40 hours a week need the time to compensate, and I believe that they need to have more time than they worked to recover. I'd have to read the book again to be sure though.

I believe Fortune 500 companies call this "maintaining a startup environment".

</snark>

I often work longer hours at my current company, for these reasons:

1. I work on projects I like and care about.

2. We set aggressive deadlines.

3. I'm never explicitly asked to work longer hours.

4. If I do work longer hours, it's recognized and appreciated.

Whoa! This is where all the upvotes are coming from. I'm the Quora user with the answer that leads with "Wanting programmers to work longer weeks is foolish." Thanks for the votes of confidence.

I will shamelessly self-promote by mentioning that I'm just about to start hiring for our San Francisco web startup, so if you have strong front- or back-end chops, want to be among the first 5 people at a startup, and want to work for somebody who gets that overtime doesn't mean better products, contact me at william at scissor.com or @williampietri on Twitter.

IMHO a much better question is: "how can we help our programmers be more productive?"

Long hours only "help" for a pretty short time period, so making the core 8 hours/day more productive is a much more sustainable approach. In my experience people LIKE being productive and don't like working crazy hours, so it's also much easier.

Top hits in my experience:

Is the physical environment conducive to productivity? Comfortable/ergonomic setting, fast powerful hardware with lots of screen real estate, does the office allow for uninterrupted focused work and good communication.

Is the work environment conducive to productivity? Are the software tools low drag? Is the process setup to allow developers to focus on 1-24 hour sized tasks (optimal size may vary) without interruption and having to multi-task on 12 things at once? Are your programmers protected from random management interference?

There are tons of factors that go into this as well, having your manager or team lead protecting and empowering you versus cracking the whip, making it easy to keep blood sugar at happy levels, having the programmers be interested in the work, have the programmers understand the value of the work and be invested in the success of the project.

I would much rather have programmers working 6 hours a day, focused, motivated, and productive, than 12 hours a day, checking facebooks, switching between 12 different "SUPER URGENT" tasks all day, etc....

Hire me! I can accomplish almost as much in seventy hours a week as I can in fifty.
Here is what I found worked to get me to be willing to work extra, and it has worked for many of the my employees when I went to management, though of course people vary:

1. An interesting project so the work wasn't drudgery (knowing why it mattered to the company also helped a lot).

2. Incentives. This could be as general as stock options/employee stock purchase so that at least key employees (people able to indvidually affect the overall welfare of the company) are strongly motivated to see it succeed. Promises of bonuses tied to performance, or promotions down the line help, or comp time all help.

3. Food.

4. The boss should be there. At my last company, my boss was there most of the time if he asked us to work late. When I became a manager, I was almost always there if I asked my people to work late. It was a small company, the CEO was occassionally the one bringing in the take-out if several of us were asked to work long hours.

Amazing that nowhere in all those responses is the simple answer:

Pay them for their time.

Want me to sit in your cube for 12 hours on a Saturday? No problem. That'll be $(hourly_rate * 12). Need 70 hours of my time this week because we've all got to dig in for this one last big push? I'm there, so long as you're prepared to pay me $(hourly_rate * 70).

Granted, if you want my best productivity, you'll purchase 30 hours of my time over the course of 4 days each week. But hey, it's your choice.

The questioner specified "voluntarily." I believe those answering interpret that as "without increasing compensation."
I wonder if the asker was deliberatly trying to avoid saying "For free", while still wanting to not do anything at any cost.

They might already know they're being unreasonable, and are just hoping to avoid having to think about or admit it.

Then again I'm an outrageous cynic who thinks that any organization slowly tends towards screwing their employees unless careful, deliberate measures are taken.

Many programmers are not hourly. So no way to pay by the hour.

So a bonus calculated on hours or something like that?

An effective hourly rate can easily be calculated from your salary.
You don't want a professional, you want a slave, in the strictest sense of both words.

You want a person to work more than you are willing to pay them. Recognize this fact and I think you'll find the answer to your question.

Ya uh huh no, the whole not actually valuing other peoples time thing comes off badly and will build up resentment to you quickly just having the attitude that brings this up you may as well write the software yourself.. if you can't then see the "die in a fire" response
Tell them they should be grateful to even have a job. That they should put their noses to the grindstone and be happy they can put food on the table and aren't in the unemployment line... oh wait, sorry... that's what the publisher at the newspaper where I used to work always said and it was rather less than inspiring to me. Never mind.
How about: how can you manage your business so you don't have to overwork your programmers as a core business strategy?
Be sure it is worth it.

Smart developers can smell an arbitrary deadline a mile away. The need for extra effort need to be tied to something more tangible than the Gregorian calendar and/or an executive's bonus.

Stimulate a culture of ownership.

Interest your developers in the competition. Your competition are fools and trolls. Certainly we can do better. Regularly checkpoint against the competition.

Consider developer-suggested features. Developers will put in the extra effort if they are playing out their own ideas, and are motivating each other.

Consider the following scenarios: Manager: "I need you to work this weekend to get xyz done by mmddyy."

Or, Developer: "Dude, I am going to hackathon on xyz at the coffeehouse on Saturday. Caffeinated mints are on me."

This is not ok. Even if you use words like "inspire." No one should be forced to work long hours. If you are considering it, make it optional and don't use peer pressure. ALSO, PAY OVERTIME.
The best manager I ever had was amazing at this and the reason was simple: he understood downtime and he negotiated.

So when we were trying to ship something and everyone was working late nights and weekends, he'd give us several days off afterwards. Additionally we had flexibility such that I could offer to work a few weekends in a row in exchange for a long weekend a few weeks later.

It was a great system and his employees always respected him for it.

Alternate title: "How can I get my programmers to work more hours - for free?"

I worked for a (great) startup 10 years ago that almost never had us work any overtime (a few days a year max). We had a fixed 50hr work week - but they also paid 25% more.

How would you (as an employer) answer if the question posed by your programmers was "How can I inspire my company to work us less hours for the same pay?"

But seriously, the sooner you can pose your original question to your employees the sooner your smart employees can find another place to work leaving you with the programmers/serfs that might better fit your management style.