Do Long Work Hours Affect Code Quality?
tooTired asks: "At my company the owner is heavily implying that the development staff needs to start working longer hours and weekends to shorten the time-frames on our current projects. The exact quote is 'These 8 hour days have to stop, we need to be working 15 hours a day and weekends, balls to the wall.' We are heavily under-staffed even with my multiple attempts to show the owner that we need more resources. My general feeling is that long hours is generally a symptom of poor project management, and not something to be sought after. I wanted to ask the Slashdot community their opinions on how working long hours during the week and weekends affects the quality of the code they produce, and the overall success of the project." A large reason why many in this industry find themselves working long hours and weekends is that management makes unreasonable expectations and deadlines. Are there ways of communicating to management that long hours to rush a project to completion is not the way to complete a successful project? Update: 08/30 23:11 GMT by C :Grammatical errors in title, corrected. Sorry about that.
but they obviously affect the grammatical skills of the editors.
Humans are not machines. You simply do not up the hours that they are 'on', and it works.
Nevermind code quality - what about burnout, resentment towards management, and seeing domain knowledge go out the door when coders get sick of working 15 hour days and leave for another company?
15 hours? He's not serious, is he?
"Old man yells at systemd"
Don't burn yourself out for this wanker. 8 hours a day is a totally reasonable limit for a job
Sure, sometimes coders spend a lot more time then that on their job, but that's because they enjoy it, because they want to spend that time working on code for their job.
If your boss is demanding you work 15 hours a day, quit.
Will it affect code quality? I don't really know. In the short term I doubt it, actually. Will it affect your quality of life? Absolutely. Will it affect employee satisfaction? Probably, and down the line that will affect code quality. If you don't like your job, you're code will definitely suck.
autopr0n is like, down and stuff.
Executives don't like reality. They are all about wish fulfillment. When your project(s) are not completed by their deadlines, you will be fired. You will be the one who has to pay, because you were the one repeatedly pointing out that you needed more resources, given the requirements and deadlines. You contradicted your executive's worldview. In any competition between reality and an executive's world-view, the executive wins, in the short term. Reality always wins in the long term.
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
Here's a good reference: Forty Hour Week on c2.com, which seems to be the best web authority for Extreme Programming discussions and patterns.
Give it a gander.
fifth sigma, inc.
GET OUT WHILE YOU STILL CAN!!!
I mean good lord man, you're telling me every symptom of every business that I've seen go under locally. The whole "balls to the walls" syndrome is often more of a "we're cutting budgets that we really shouldn't" syndrome. I fully expect that you'll find that the same managers that are willing to have YOU (not them) put in 15 hour days are also the ones willing to say "sure we can do X+Y at the budget for just X" to his higher ups just to look better.
Find out about my new childrens book: SS Death Camp Criminal Batallion Go To Monte Carlo For The Massacre
My advice would be to use those seven extra hours in front of a PC to tidy up your resume and get it out there. You are going to be looking for a job soon enough, you might as well get the headstart.
Ask yourself, how many dotcom tales of people agreeing to work without pay for a while; work long hours; all the rest of it, you've heard. Now, how many of those companies actually survived by doing that? Next to none?
projects aren't pumped out in a timely manner, the business will go under
Perhaps management should listen to the developers when creating schedules and product release dates, instead of the marketers?
Fascism starts when the efficiency of the government becomes more important than the rights of the people.
Long hours dont affect code quality, employees ambition affects code quality! If its late and im working on a project (personal) that i enjoy, and im way tired, i still code fine. If its something my hearts not into it then i wont be able to work. My suggestion to employers: Pay lots for overtime and reward good coding with acess to a "special fridge" filled with energy drinks and jolt!
Don't walk away from this situation, run.
"Learning is not compulsory... neither is survival."
--Dr.W.Edwards Deming
You're damn right it affects coding quality, and work quality. How can I be expected to work well, with a clean mind and plan if I no longer have my own personal life.
..8 hours day have to stop.. BULLSHIT. Period.
These 8 hour days have to stop, we need to be working 15 hours a day and weekends, balls to the wall.
The company doesn't own me. Period. If I heard that statement from my boss, I'd be in my car and on my way home before she had a chance to even blink at me. Despite I do frequent Slashdot, I have a life outside work. When I get hired by X company, I didn't sign on so I could spend my every waking hour and moment working for that company. Any manager who doesn't realize an employee has a life outside the company isn't qualified to manage employees. Period.
..There's a-dooin's a-transpirin'
I've managed a number of development teams over the years. Here are some of my thoughts. Flame away if you want.
Sometimes, there are days/weeks where it is neccessary for the team to put in some unreasonably long hours in order to get the project done. Especially during the time immediately before a release/launch.
That said, when I ask my staff to put in long hours, I'm there with them. If the team doesn't need "management", I roll up my sleeves and do whatever needs to be done whether that is coding, infrastructure work, or being an HTML monkey.
I don't think it is reasonable to ask for that sort of performance on an ongoing basis or for an extended period of time. It is very draining.
I also think it is very important for both myself and the organization to show it's appreciation for the people who make these sort of sacrifices for the company. This includes:
When people are running late, pay for the pizza. Look for other ways to be considerate.
Have some sort of launch festivities. Celebrate your success. Publicly acknowledge (preferably -- not just within IT) the people who made it happen.
I think that if management and the company treats its employees reasonably well, that the techies should be willing to work their assess off and burn the candle at both ends when needed.
Evolution: love it or leave it
The best option, if you can afford it, is to quit and get a better job working for sane people. Sometimes, you'll need to put in a 15 hour day. It's unfortunate, but deadlines happen. But to be expected to put in 15 hour days EVERYDAY is absurd and insulting. You have a life outside of work, you need sleep, and you have rights under the law.
Back on topic, working 15 hour days WILL affect your code quality, not to mention your quality of life. Different people have different ways in which they work best, and sometimes a long coding session can work wonderfully, but over the long term it will result in frazzled nerves and bad code.
If he's expecting you to work 15 hour days, you need to let him know you should have twice as many people working 8 hour days instead. If he protests, drop that job like a bad habit. You'll only be hurting your health and sanity if you stay.
I always understood that people don't do much more than about 8 hours worth of work per day regardless of how long they're at work. 8 hours was defined as a work day for a reason- it's the point of diminishing returns.
Also - driving your employees like sled dogs will cause them to look for employment elsewhere, and if you don't think that will effect your code quality, you shouldn't be leading a pack of cub scouts, much less a project with a real product.
The biggest problem with management is that they make decisions they aren't qualified to make. I see it time and time again- it only takes one PHB shooting his mouth off to get the whole development team 6 months behind before the project even starts.
Sorry- managers are like alcoholics- you can't tell them they have a problem because they think you're out to get them. This is particularly bad in technical jobs because managers that were promoted from within have poor social skills which are necessary to be a successful manager.
DISCLAIMER: This post was not checked for speling and grammar- if you complain- you're a whiner
Now if we step back from the coal face and take a longer view the question you have to ask is do we expect our programming staff to pull insane hours every project? Hell no, they'll leave or in an even worse scenario they'll stay and their productivity will drop below the Z. Your fella sounds like he's either new to the game or just wrong for the job. Your can't afford to burn out a development team per project even in these down turn days.
Programming is an essentially human activity and to get the best out of your real software (the fleshy pink stuff) you need to take a long term view, but I can understand how their are many managers out there who think productivity = longer hours and thats it.
So use the simple arguments, people who are tired make more mistakes, are less likely to confer with peers, get upset when confronted or corrected, get angry more quickly and generally do a bad job (no surprises here).
Joe.
Who cares if working 15 hour days "works"? Sending kids down the coal mines "works" if your goal is to get coal, but you wouldn't be dumb enough to do it would you? Tell management to get stuffed.
I wanted to ask the Slashdot community their opinions on how working long hours during the week and weekends affects the quality of the code they produce, and the overall success of the project.
Forget about code quality. Forget success. Your life is too short.
There's nothing wrong with having a modest carreer, and enjoying your work. But just be straight about one thing: when you are 60, you will in all likelyhood look back and see it as a waste.
People who are happily married live longer. Having a relationship takes as much time as a full time job .
You cannot have a relationship with your partner on 20 minutes a day of discussing the bills, the chores, or over a sandwich. It's a full time commitment. It takes spending quality time together, and not just quality, but quantity also.
Wanna have children? You think they're going to turn out great if you're never there to be there for them? You want them to feel loved, and nourished, and mentored? Then you have to be there. Not at work, not on business trips, not at the mall. But there, with them.
You want your parents to feel loved by their children (ie. you) when they grow old, and you're all they've got? Then you have to spend time with them.
Time is all we have. And all we really have, that really counts, is each other.
Geeks are probably the last people to get this, but if you really knew that a truck was going to hit you tomorrow, you would find that your real desire would be to spend the time with those who are close to you. Your job, money, and gizmos are meaningless by comparison.
Work, and prosper. Don't be a slave. Have balance. Be sweet to each other. Don't let some stupid and misguided manager tell you that you have to kill yourself to "succeed". Success is measured in happiness, not paycheck or accomplishments.
If you have the talent to work on class projects, then fine. If you don't, then just let it go. You can still be happy. Truly happy. Just open your eyes and see that life is more than a resume. You have the capacity to love and you can learn to use it to create happiness.
Be true to yourself.
I can't tell if this is a troll or not. But I'll bite.
Working long hours is fine in the short term. Deadlines, unexpected problems/projects, etc. all require it, and it's justified. But most people need 2 days off, and need to not be at the job 12+ hours a day, every day. It's bad for you, and your code quality will suffer.
I highly recommend that you get a copy of Peopleware. It is a fantastic book overall, but it deals in extent with the death march that is development overtime. I highly recommend you give a copy to your boss as a "Boss' day" present or the like, feigning that you're not quite sure what it's about.
the important point is to make sure you are paid punitive overtime rates
Um...do you live on a planet where programmers are paid overtime?
-=Maggie Leber=-
"We've had you guys slaving away 15 hours a day and the amount of time squashing bugs has increased 200%. You're just not working hard enough. As of today we will require all programmers to move into the office so that you can work without wasting valuable time commuting. Cots will not be allowed inside the cubes so you will need to bring your own sleeping bags and pillows. You will be allowed 5 hours of sleep every 15 hours only if your code is 99% bug free. Visiting slashdot is off limits, and any programmer attempting to do so will be forced to write documentation for 36 hours straight. Those of you who are married will need to sign the divorce papers by next Tuesday to retain employment with the company. That is all."
Time has to be provided for adequate rest (sleep), and also some form of exercise needs to be done, walking, bicycling, not just pumping iron, or working out with an exercise machine. A lunch hour, actually about an hour and 20 minutes, spent walking will improve the overall health of the person. Remember, we are a human animal, and not a machine. The health of the circulatory system, lungs, needs to be maintained. Sure, if one is on a roll as far as coding goes, then spend the time working, then rest. Otherwise, the health of the individual will eventually suffer, and the employer will only get new employees to replace those who come down sick. Bicycling is dangerous, but gives enormous benefits. When you go up that first long hill, you'll spout cuss-words, etc. as you work to get up there on that bike. When you get to the top, and you back off, and start to yawn, that's when you know that you have done all you can for your heart, lungs, and circulatory system. Coast for a while, then go after another hill. Be sure and get a reliable bike, one that the gears and transmission won't slip when you press it hard. These cost several hundred, but you'll love the thing. Watch what you eat, and you'll soon begin to lose weight. It's your health, not your employers. Eventually, you'll be replaced in your job, and you want to have your health when you leave there.
Oh, btw, hope you don't smoke, or all bets are off.
Rapidweather's Linux Screenshots.
Chapter (cached) from Steve McConnell's book, Rapid Development
"Chapter 43: Voluntary Overtime: Too much overtime and schedule pressure can damage a development schedule, but a little overtime can increase the amount of work accomplished each week and improve motivation. An extra four to eight hours a week increases output by 10 to 20 percent or more. A light-handed request to work a little overtime emphasizes that a project is important. Developers, like other people, want to feel important, and they work harder when they do."
"Use a developer-pull approach rather than a leader-push approach.... Gerald Weinberg points out that one of the best known results of motivation research is that increasing the driving force first increases performance to a maximum, and then drives it to zero (Weinberg 1971). He says that the rapid fall-off in performance is especially observable in complex tasks like software development: 'Pressing the programmer for rapid elimination of a bug may turn out to be the worst possible strategy-but it is by far the most common.'"
"Don't use overtime to try to bring a project under control.... Ask for an amount of overtime that you can actually get.... Beware of too much overtime, regardless of the reason."
Slashdot discussion of [Philip] "Greenspun on Managing Software Engineers"
The original is lost, but I squirrelled away some choice quotes:
"From a business point of view, long hours by programmers are a key to profitability. A programmer probably needs to spend 25 hours per week getting coordinated with other programmers and comprehending the structures of the systems being extended. Thus a programmer who works 55 hours per week is twice as productive as one who works 40 hours per week.... A product is going to get out the door much faster if it is built by 4 people working 70-hour weeks (180 productive programmer-hours per week, after subtracting for 25 hours of coordination and structure comprehension time) than if by 12 people working 40-hour weeks (the same net of 180 hours per week)...."
"If you see one of your best people walking out the door at 6:00 pm, try to think why you haven't challenged that person with an interesting project. If you see one of your average programmers walking out the door at 6:00 pm, recognize that this person is not developing into a good programmer...."
Greenspun said the following in the Slashdot discussion:
"Most of the people at ArsDigita are young. They have no families. They have no personal reputation. Find me a 35-year-old who has accomplished a lot IN ANY FIELD, who has changed the world in some positive way, and who has never worked long hours. The articles I put on my various Web sites are not intended to help people who just want to live a quiet comfortable life (I'm not an expert on this). They are intended to help young people turn into Linus Torvalds or Richard Stallman or Dan Bricklin and Bob Frankston (Visicalc)."
"At ArsDigita we do tend to get fairly young people who are very bright. They want to do something that will impress their classmates from MIT or UCLA or Caltech or wherever. The key to successful management is to provide an inspiring goal that these guys and gals can buy into and then a working environment that lets them achieve the goal. It does result in some long hours but [at ArsDigita, at Greenspun's insistence] they have 5 weeks/year to recover. If they get sick of it they can always join a slacker company and work 40 hours/week."
"Let me say that I did not intend "Managing Software Engineers" to be the last word on the subject.... I don't want to be remembered for advocating a long work week. There is a lot more to the article and I certainly wouldn't advocate long hours to anyone who didn't love his or her job and wasn't learning every day."
(The banner ad for this page says, "Find a better job, NOW!" I tend to agree.)
Stupid job ads, weird spam, occasional insight at
No, eight hours was defined as a work day in the US because of the efforts of the labor movement, beginning the middle of the 19th century and, after a great deal of struggle, culminating in FDR's passage of the National Industrial Recovery Act, which was then struck down by the SCOTUS, and then partially replaced by the Wagner Act. The eight-hour work-day came at the expense of workers who were beatened, imprisoned, and killed trying to win it.
that $80,000 a year job at 40 hours a week is $40 bucks an hour. That sounds pretty good, right?
Work _80_ hours a week and you're only making _$20_ an hour. You're getting robbed if you're really worth $40 per.
"Draco dormiens nunquam titillandus."
This suggests a whole new meaning to "Slashdot Effect" - Long hours editing Slashdot submissions affects grammar.
My personal experience is, when designing code, I prefer to work 6 or 7 hour days. When debugging new code I prefer to work 12 hour days. I never work weekends; working weekends burns me out by Tuesday and I get nothing done Wednesday through Sunday.
I've never succeeded in doing 15 hour days for any length of time. I spend at least 8 hours sleeping (9 or 10 when designing something hard) and 2 hours eating every day. That rules out 15 hours days right there. (I do a lot of design work in my sleep or half-sleep. I often wake up at 4am to do algebra on paper when I realize I can't handle the math in my head.)
Funny, but the only situations where I've seen this kind of mismanagement and staff abuse are those where the staff is on salary. Set an ignorant deadline, then tell the coders it's *their* responsibility to meet it, "whatever it takes"...the additional time and work effort being "for free".
What's truly astounding is that the same managers, who were at pains to hire the brightest people they could find, think that those same people won't figure out what a fraud that is.
-=Maggie Leber=-
I was working at company...we put in the long hours, some all nighters. My boss used to work 3 days in a row with no sleep. Now he is dead. Heart Attack. He was 38. He looked at least 50. Sort of puts things in perspective.
Why does the owner need the development staff to work 15 hour days and weekends? I bet it's because the business plan or market position sucks and the owner is a stubborn brick who cannot accept his failures and shortcomings. He "needs" you to do the impossible because if you don't then his failure at business planning will be on display for all to see. Of course, he won't see that his stupid plan failed. He will see that his development staff failed him, and he will fire them in disgust. Do yourself a huge favor and find something better to do.
Okay. You are wrong.
Maybe for you it can be easily achieved, but it is not normal. nor is staying up for 20 hours straight.
8 hours of sleep per day is the natural average, and basically the rule. if your cumulative sleep average dips below 8 hours a day, your body WILL make up the difference with added sleep later on. Sleep debt is very real, and can be tracked even over long periods of time. Even drugs don't help. Stay up for a few days on speed, you WILL get extra sleep until you catch up.
Now.. I'm not saying that there is no such thing as long, long productive binges.. when you get into "the zone" and just go and go and go, and only stop when your body literally cannot keep going (ie: low blood sugar, can't keep eyes open, etc). And as much as everyone THINKS this is what programmign is about.. it's not.
The thing about lack of natural light causing a 26 hour day or whatever it was came form a sleep experiment 30 years ago or so where they set up a test group in a deep cave, where there was no possible trace of day/night cycles. They did observe that people seemed to be on a 25 hour cycle.. but it was determined this was due to the artificial lighting being on a weird cycle. It's not normal or healthy.
One could also argue that how we would behave without the sun is a useless argument, we have millions of years of evolution behind us with the sun there.. it was there before us, and will be there after we are gone. our day and night cycles are completely based on the way the earth works.. not some alien like weird timescale.
It's funny you should mention emergency physicians.. they are one group that DOES do this, I think rather frequently. They will often work 24 hour shifts, catching a nap if things slow down. Unfortunate but true.
Also, you are in College. This is not a permanent situation, and you are most likely still quite young, and your body can heal and deal with less sleep easier than it will be able to a few years form now. I'm saying you might change your mind about rediculous working hours when you are trying to live a normal life 10 years from now.
Death March: The Complete Software Developer's Guide to Surviving 'Mission Impossible' Projects by Ed Yourdon.
Buy, borrow, or spend a few minutes in a bookstore reading the first 2-3 chapters, where Yourdon describes the four different type of death march projects, the prersonalities and politics surrounding them, and what your options are.
What you'll read there will likely be the same sort of advice you're getting here. Yourdon's presentation is a bit clearer, though, and he raises a lot of good points about how to make a decision with regards to whether or not you'll buy into a death march project. The middle section of the book details how to survive on such a project if you do, indeed, decide you're going to take it on.
At the end of the book is "Death March as a Way of Life." The long and the short of it is that these type of projects are increasingly common. If the project fails, then then it's your fault - you didn't work hard enough; the next batch of folks will no doubt be harder workers than you were. If you succeed, and ship on time, you'll just show management that death march projects work. Either way, you'll be in a job where every project requires increasingly superhuman efforts.
Better to decide if you want to deal with that now, instead of trying to do so after a few years of insane workloads have destroyed your marriage, health, and/or mental faculties.
"Great men are not always wise: neither do the aged understand judgement." Job 32:9
Me? My answer would be 'fuck no', but I do realize not everyone is a position to say that.
As long as there is no industry or regulatory standard for how long people in a given job in a given industry works, and as long as sales people get commissions for promising more, faster to customers (and not getting contracts unless they do) then more, rather then fewer, jobs will be in permanent crisis mode. It's a sort of inflationary economy. Only when there is universal expectation that any given worker is going to work 40 hours, then bids will go out with that assumption. Otherwise, there's a race to hire only those who can work 50, 60 or more hours a week - and if you can't, you get pushed out of your career by someone with no family or other life outside work.
I tried to reply to this 10 minutes ago. My post was extremely bitter and angry.
/. was borken (sic)- saying the post method was not allowed for page index, messed-up cookie-handling, and taking you to the main page with an advert per story.
Luckily
I have now had the time to reflect on what I was going to post and here is the revised version.
You typify bad management. What do you mean, you have to work over 40 hours a week to change the world ? What kind of sad, dot.bomb era mentality is that ? The only way you'll change the world is by helping to make the stupid number of hours worked per week go down in history for the turn of the millenium period.
"The owner that you're all deriding, its HIS money on the line. He's paying you. "
Yes, but he's now offering the same money but demanding the employees work twice as many hours, which is just plain sick, even if he isn't increasing his own hours in the same ratio.
"If you fail, he loses money. You get unemployment and another job in a few weeks. You don't know what the owner has on the line. "
I think you overestimate the job market in the majority of places. Programmers have as much to lose as managers. If they lose their job they can't pay the mortgage, support their family etc, and getting a new job is very difficult at this time.
You seem to think that programmers are a "human resource". Well wise up, they're real people. You can't just push people to breaking point so you can retire at 40.
If this post has annoyed you- buster, you should have seen the other one.
graspee
There's a difference between telling an employee to work more efficiently throughout the day (your union example) and telling an employee to work longer than is reasonable. On one hand, yes I do believe work should be rewarded, but on the other hand, you don't want to create an environment where long hours are expected and considered reasonable. Work should not have to be an employee's whole life (yes, I'd define 60 hours per week as "your whole life"), and an employee who wants to have a decent life outside of work shouldn't lose out because other employees either don't have or don't want a life outside of their workplace. Around the places where I've worked, unless something was breaking terribly, a sysadmin was expected to work 40-45 hours a week. And there's no reason why this shouldn't be the expected.
Always, always remember: the company is not more important than the employees. We heard a lot of bullshit during the dot-com era about how the employees needed to sacrifice everything to advance the company.. somehow it was reasonable to expect 80-hour work weeks, weekends, all because the company was in a groundbreaking new field and it would make all the employees rich.. and we know how empty those promises ended up being.
I guess my (admittedly rambling) point is that employees should have the right to expect the 40-hour work week. Some people might want to work a little longer for extra pay, and I have no problem with that. The only things I fear is that then this becomes expected for other employees, and they are pressured (or simply fired) for not upping their own hours.