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.
Long hours seem to affect spelling.
Simply, no matter what business your in, you start making poor decisions when your tired. Code quality is gonna drop.
--Stupidity is Self Curing!
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"
Long hours do affect the quality of code you write. If you're not tired, you'd be more inclined to take the safer, slower way around rather than the faster but unsafe methods. Ever wonder why buffer overflows seem to appear in all types of software?
Job? I don't have time to get a job! Who will sit around and bitch about being broke and unemployed then?
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!
Sometimes putting in the extra work is worth it; but, if the end of the project is a long way off, DONT.
If you put in the extra hours now, will it reduce the extra hours later? Again, if so, fine, otherwise, NO.
Why? Because if the project manager gets it in his head he can have 80hr weeks out of everyone he will plan them that way. It is very easy to become burned out and few managers know how to properly handle it to prevent that.
What about the many stories of caffiene-addled coders working 36 hours at a time, and sleeping under their desks, coding under pressure to get the job done on time? See here for a good one.
I mean yeah, most normal people want to work 8 hours a day. But others want to be supermen, and are willing to put in long, long hours of work to beat the competition.
No, Thursday's out. How about never - is never good for you?
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'
How it affects code quality - don't know. In my case, if I work for around 3 days for around 19 hours and WORK seriously most of the time, that might work, but after that there is a steep decline in quality and productivity. If I HANG AROUND at work for the same amount of hours per day, I can do it for weeks.
So, I don't have an answer, but I quess it depends strongly about whether you need to concentrate on what you are doing a lot or not.
If they want 15 hour days, and they say you need to go "balls to the wall", then that just means that their balls are right up against the wall. These guys probably have a lot more to lose than you. Apply a little pressure, see what happens. Rally the other engineers together. And don't do the long hours unless there are serious bonuses or prospects of equity (and the equity has the potential to be worth something).
Above all else, remember, you can't do this forever, 15 hour days don't mean twice the productivity.
I heard a story about someone on deck at a big 5 consulting firm. They worked 100+ hour weeks and all to make partner, and eventually worked until a lot of the systems in their body up and quit. Just overstressed for so long, everything started to shut down at once. Went way over the million dollar lifetime healthcare cap (the firm has to pick up all future medical bills.) The guy made partner and recovered but became a medical case study.
Troll Like a Champion Today
if projects aren't pumped out in a timely manner, the business will go under
Of course, if you piss your staff off too much, or work them too hard, they'll leave, the projects won't be pumped out in a timely manner, and the business will still go under.
15 hour days and weekends is unreasonable to the point of being a joke.
Yes code quality will suffer. Perhaps not in the short term, but in the long term, most people simply cannot keep up those sorts of hours. It quickly becomes a long, hard slog, and people become demoralised. An unhappy worker is an unproductive worker. A tired worker is an unproductive worker.
Coders need to be able to concentrate. That becomes increasingly more difficult the more tired you become. After a certain point, the code you produce will be of sufficiently poor quality that you would do better not to write it at all.
I have a family to support, and a mortgage and loans to pay, and my reaction to that would still be hostile in the extreme. I would explain, rationally, why I thought that working such a schedule was a bad idea, both personally and for the business. If and when that failed to make an impression, I'd quit. There's more to life than work, and there is always another job out there.
Cheers,
Tim
It's official. Most of you are morons.
If you enjoy the work then work as hard as you want.
What I would do is not make a big deal of it but make sure you do your 8 hours and go home. If anyone tells you to do more hours tell them politely no. All the time look for another job.
I assume the owner is the first to arrive and the last to leave?
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
Of course long hours degrade code quality. When you have to trade in the Dew for serious, non-carbonated amphetimines in order to meet a deadline - something's gonna suffer.
No - really.
Anyway, my company recently changed our development style to take some pressure off the engineering staff. Whereas previously, 14 hour days were somewhat the norm, those have now been seriously reduced. Those with famlilies actualy get to see them. Those without, get to play Final Fantasy X until 4 AM. Overall, moral is better, and there's not been a signifigant change in output - and the quality is improving.
\Drew National Data Director, John Edwards for President
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.
My experience, after more than 6 years working in Silicon Valley, is that sustained periods of long hours can be damaging. But short bursts to hit a specific project goal can be a good thing. Programming - when done well - requires huge concentration. You have to focus hard on the code. Once you're in the swing of it, you don't want to be interupted. That's why the culture of long and eccentric hours has grown up - its the way good engineers usually work.
As a rule I figure you can sustain two or maybe three major bursts of 100 hours a week. Each burst shouldn't last more than 5 weeks. I once did a ten week burst and it nearly killed me. Once you go over 5 weeks, you'll get into serious counter-productivity.
Its also important to have a good reason to do so. If your company doesn't have the cash or revenue to hire more people and needs you to put in the hours to get a revolutionary new product out, that's one thing. If its poor planning or management that causes the crisis, it will be much harder to motivate people to put in long hours.
Sailing over the event horizon
You CANNOT be made to work more than 48 hours per week if you don't want to.
I'm afraid that you've been misinformed.
The law, at least in the UK (and we only have it because of the Working Time Directive that we must implement, being a Member State), is that you cannot be forced to work more than 48 hours per week averaged over a 13 week period.
Of course, my contract contains a clause saying that I waive that right, and I'd be very surprised if there were many IT firms in the UK that didn't have that sort of contract.
So yes, we do have laws, but don't feel quite as safe as you seem to.
Cheers,
Tim
It's official. Most of you are morons.
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?
Quitting might get the message across. But, management may choose to be oblivious, that's their perogative.
Also, you have to realize that "successful" may mean something completely different to management than it does to a developer. Successful to a dev means the nasty bugs are gone and the product performs the intended functions. Successful to management might mean that they finally got the thing out the door just in time to capture a high-profile customer that was being romanced by the competition, and we can worry about the bugs later.
There are lots of people who are happy to put in 80 hours a week (Microsofties for example) but it doesn't sound like you're in that position. Putting in overtime because you love your job is one thing, "required" overtime is different.
Your well-worded voluntary resignation, quoting the "15 hours a day," and CCd to your State Attorney General will get the message across.
RUN
"Learning is not compulsory... neither is survival."
--Dr.W.Edwards Deming
", balls to the wall"
;)
sue the company for creating a hostile work place, and making sexual innuendo, then retire.
this depends. I have seen a 'crunch time' where long hoiurs where out in to meet a deadline. This will work, on ocasion. it will fail long term.
Look at Tivo. in order to get a product out befor the competition, they had to rethink there process, and pretty much work everyday to meet there new deadline, and they did it.
now those where people that most, if not all, got a piece of the company, so thats strong incentive.
However, if you are suddenly expected to work 15 hours a say, and weekends as part of normal operating procedure, I would contact the labor board and see if they can bring pressure onto the management and keep you anonanous.
This is why I would like to see software developers orginize. If you think you can get support, start a union and strike.
they can replace you and that impact will be a speed bump, but if they have to rehire everybody, that would be chaos, and that is where the worker has the power.
The Kruger Dunning explains most post on
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.
...when men were men and were happy to hack 15 hours a day and weekend?
If you really enjoy what you're doing, you're probably already working 15 hours a day and weekend.
If you don't enjoy it, just quit and do something else.
But please stop whining !
I'm a manager (government, no less) and this idea of regularized overtime is absurd. If your people are already working 15 hour days, what do you do when a crisis hits? Nothing, you crash and burn. On the other hand, with a well-managed workforce doing normal hours, when the crisis hits they all rise to the challenge because it's unusual, a bit exciting and they know it is not normal. They all pitch in and once you have crushed all before you, they can settle down to the regular routine again. The hard part is not responding to a crisis, it's ensuring the regular day-to-day wellbeing of your staff so they can perform well during a crisis. This guy should be fired instantly.
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.
Management has to realize that their employees have lives and responsibilities outside the workplace. A 15-hour work day is insane. Even 12-hour work days will rapidly lead to poor productivity and burnout. It can also cause serious damage to your health. No job is worth that.
Mea navis aericumbens anguillis abundat
"My general feeling is that long hours is generally a symptom of poor project management"
Actually long hours are good project management but the project manager needs to understand that there will be a huge loss in effectiveness and the more overtime hours somebody works, the less effective they are. If that is not accounted for, that is bad project management.
I guess there are two parts to this post. First:
I believe that working continuous long days and weekends ultimately decreases long term productivity. People get tired, they get frustrated, they make more mistakes and while they may spend more time 'on the job', their actual productivity tends to slip. After the first spike in productivity due to more time 'on the job', productivity will start to even out, even with longer work days, and eventually start to decline. So, this is usually not a good way to go.
Second:
But...there are times when increased work time is a tremendious benefit. Having the opportunity for contiguous thought and work for example. I know I've worked some 36 hour days to get massive work accomplished on a project. Now this was on my own accord and when finished I had time for significant down time and 'fun' work, but it was a long day, and was very productive. Second, with the proper motivation even medium length work spikes can yield high production. This production isn't without costs however. As another example our company asked engineering to work 10-11 hour days and Saturday for 3 months in prep for the rollout of our first product. However included with this, were many consessions made by management including: Additional time off, bonuses, free dinner & beer (yep that's right), flexible hours, the ability the throw nurf balls at management (who was there late too) and the realization that we were all working for a common goal. In this case we weren't under the gun due to crappy planning, but we wanted to get to market fast and everyone agreed and stood to benefit. Another example of long hours paying off.
So I guess my point is that long hours aren't enherently bad. They have to be taken in context of how they're used, how they're brought about (motivated), and what the end goal result will be. It should also be noted that in each case of longer working better, it also cost much more. Explain that in order for productivity to actually match what they expect, they'll have to take into account that it will most likely cost a few orders of magnitude more to due it.
"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."
i live every day as if it were my last
when i party, i go balls to the wall
</balls to the wall>
If the demands really can't be met in time consider using external libraries/applications.
There are bound to be areas where you're re-inventing the wheel. Do a freshmeat search and find something which does the work for you.
You might be able to remove entire sections of development and the areas replaced will probably have extra features you'd never have added.
I think this approch should be taken more often.
If the code isn't precisly what the software's about -ie where it adds value, you need to justify not using external code.
Remember, if you code remains in-house you can use GPL'd code.
Also, make sure all the functionallity really is needed. Drop any extra work to improve flexibility, -your guesses will probably be wrong so spend the time once you know what the new features are (this is just XP).
... people leaving the company. That will be the people that have to shoulder the heaviest load and are the most essential to the project. Alternatively they will burn out or get sick, making them phyiscally unable to contribute even these 40 hours a week.
Of course the work done before it finally all comes crashing down will be of low quality, with obscure problems and no documentation.
Bottom line: While there is usually no way to speed up a delayed project, there are quite a few ways to delay it even more or make it fail completely.
Good literature for the general topic: Brooks: The Mythical Man-Month, Addison Wesley
Most ACs are not even worth the keystrokes to insult them. Be generically insulted and ignored otherwise.
Yes it will result in worse code:
a) Concentration is reduced
b) Morale is reduced
c) Quality is sacrified for "delivery"
d) Deliveries become bug riddle pieces of crap
Been there, done it, got the T-shirt. At an absolute crunch you work the weekend, you might pull 50+ hour weeks for a while BUT....
YOU MUST THEN REST... take extra days off to recharge. Or your immune system becomes weaker, you are at more risk of being ill, and in an under resourced project that is a disaster.
Work 8 hours a day, review properly and I _guarentee_ that from my experience after three months you will be better off than if you work 15 hour days and weekends for those three months.
An Eye for an Eye will make the whole world blind - Gandhi
The productivitiy will go down. I don't know about quality, but after unrealistic, and sexist and illegal demands, from management your co-workers will be spending their days going to interviews, and submitting their resume to job boards and handing cvs to anyone on the street in a suit.
Let the managers pay for their own mismanagement. Get a job elsewhere.
Good luck.
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.
It's just a friggin' job. Tell your boss that you will work 40 hours a week (or thereabouts.) If he wants more that that, tell him that you are willing to renegotiate your pay rate for longer hours, but you are not going to give up your friends, family, and social life just so he doesn't have to hire enough people to do the job. If you are hourly and renegotiate pay, tell him time-and-a-half for overtime between 40 and 60 hours and double-time for hours above 60. If he won't go for that, then tell him that you want comp-time for all of the overtime: If you work 60 hours in a week and you get 20 hours of comp time to take when you want.
One question that sticks in my mind:
Are they offering to pay you for those hours, and if so, at an overtime rate, or are they expecting hours like that from salaried employees?
If it's the latter, tell me something: Would you quit if your boss announced that he was cutting your pay in half? If you answered "yes", why would you consider doubling your hours for the same pay?
I have to ask - how are you being compensated for the additional time spent working? Are you getting overtime pay? Do you have equity in the company? Profit sharing or royalties for the project you are working on? a big bonus? extra time off in proportion to overtime given?
And the kicker: What does the owner of the company, who is issuing this order, get out of it? Does he get richer while you get nothing? Is he going to take a bunch of personal time off when it's done while expecting you to continue working normally?
I think where I am going with this is obvious: Can you tell if you are being exploited or working in your own best interests?
If you and your team reasonably share in the rewards of the project being successful, then that is a very different situation than if you are giving up part of your life (which you can never get back) to your detrament for the sole purpose of rewarding someone else. Given the nature of employment in this modern era, there is no 2-way street or life-long contract anymore, so you have to be looking out for your own best interests as nobody else is going to.
I've worked in such situations in the past. When I was young, I felt I needed to do whatever it took to keep my job. I was afraid. I'm older now, and I've developed some common sense and a spine. I won't let my self be exploited. Since the original poster didn't elaborate as to the circumstances, I can't say if the situation is exploitave. But if it is, I say leave, and leave now. Your sanity, health, peace of mind, and precious moments of life are worth too much.
talking about the first computer they got at Los Alamos. Before that they used a room full of "girls" at Marchant adding machines to do the calculations. Feynman had figured out a way to maximize the output of the human workers and he tested them against the computer, they were just as fast, but. . .
The computer didn't get tired and start making mistakes. The "girls" did.
Do long hours effect the quality of code? Well Duh! Does the Pope shit on a bear in the Vatican woods?
Will anything in this thread help convince your boss the whole thing is a bad idea? Nope.
Is it time to bail? Yup. Do it now. The people telling you you're just going to end up fired anyway know of what they speak.
KFG
My boss works insane hours, and I think to some degree he expects that of us sometimes. I don't mind, if we're under a deadline to deliver to a customer, I'll happily work extra hours to help pull a project through, but otherwise I work 40 hour weeks.
For years, working overtime was just part of the job. I then started suffering from severe stress related problems. I have a new policy. I don't work extra hours for the sake of working extra hours. Period. As other intelligent people pointed out, life is too short.
If your manager can't handle that, find a new job, unless you want to do it. Yes, your productivity will go to hell, yes, code quality will sucks, but who cares. Your life will suck, that's what matters. No job is more important than your happiness.
My guess is that the impact of long work days on the quality of the finished product varies from person to person. I have colleagues who can pull 12 hour, 6 day workweeks for a few months and deliver code that still passes rigorous peer reviews with flying colors. As for myself, I am able to work very fast and deliver quality code, but only for 6 hours a day. After that, quality definitely declines.
As for your boss... If my boss would use such language, I'd suggest he speak for his own balls and I'd give him the finger instead. I'll work such ridiculous hours for pay, or if a critical project that is running late requires it. I do have that much loyalty for the company. But I'll be damned to work harder for better profit margins, bigger paychecks for company presidents or increased shareholder value, of which I can expect to see exactly zilch.
If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
... if our schedules weren't defined by trade shows.
The most productive coders in my experience of managing are the ones who are at work fewer hours. I have had my share of reports who consistently work sixteen hour days but are also consistently late on their work once the QA cycle kicks in. A fully rested well balanced programmer makes better decisions and fewer mistakes.
Some of the comments imply that management is making the schedule to tight; thats just nuts. If the schedule isnt made by the programmers themselves, the project is doomed to be late. Managers should always get the programmers to give estimates on the schedule, and then encourage them to meet that schedule. This is far more reliable than arbitrary dates with fancy names.
Finally, programmers should train themselves to 'aim for the target' [not aim low, not aim high] when making schedules, refining their ability after each project. Doing this the programmer will learn how to meet schedules without having to pull all nighters to get it done on time.
And in answer to your question, of course continuous long hours are going to affect code quality. After your nth continuous 15hr day, are you going to be thinking "I'd better add a buffer overrun test in case the file is corrupted" or are you thinking "fuck it, it compiles. I'm going home"? A tired programmer is not a conscientious programmer. You may ship this release quickly, but all you are doing is building up bugs for the next version, which will then also require stupidly long hours to remove the crap that you put in at 2am one morning on this version.
> working longer hours is good.
The question is good for whom?
I guess it ultimately depends on do you enjoy / believe in what you do? Has the company treated you well up to this point? How will the hours affect the rest of your life, assuming you have one?
I've worked for some of the big boys in the industry, and all I can say about long hours is that once it starts, it doesn't stop. Management gets used to this "new" amazing level of productivity and it is then expected to get anywhere up to a point where you can spend enormous amounts of time at work to maybe get that 1% extra on your bonus, and a potential decrease should you decide to take normal hours again.
You may make a decent salary but at the end of the day you work for but peanuts per hour. If you have a family what is the cost/ hour of not being there because that extra subroutine needs tweaking?
Unless what you do directly affects someone on life support, it isn't all that important.
just my 2 cents
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
The law, at least in the UK (and we only have it because of the Working Time Directive that we must implement, being a Member State), is that you cannot be forced to work more than 48 hours per week averaged over a 13 week period.
Of course, my contract contains a clause saying that I waive that right, and I'd be very surprised if there were many IT firms in the UK that didn't have that sort of contract.
I'm not a solicitor in the UK, but I think you'll find that there is a lot of unforceable garbage in contracts. The non-competition clause is a standard one that is actually defeated repeatly in UK courts, if it interferes with your ability to be gainfully employed.
I expect that you cannot waive your rights to a safe work place, and more than 48 hours per week averaged over a 13 week period may be constructed as an unsafe work environment due to increase likeliness of injury (e.g. RSI, stress, nervious breakdown, depression), and adversely affect your quality of life (increased possibility of divorce).
... This article popped up about 30 seconds after my manager called a meeting asking if we can work over the weekend.
It was funny as hell when I turned my laptop around right after she asked that heh.
This is funny - I just had a similar discussion with a coworker when I said that I was going home after catching myself making a really stupid mistake.
I explained that long, hard, bitter experience had shown that I still make plenty of mistakes, but my coding practices allow me to catch almost all of them immediately. But when I'm tired I'm much more likely to screw up on some subtle interaction that the compiler or testing framework can't catch, and it will take people weeks of hard work to find that mistake. Few projects can afford this type of tradeoff for long. (It's not that I'm so clever or they're so smart, but a reflection of the fact that anything that can be easily checked *is* easily checked, so by the time you need a person to figure out what went wrong it's gonna be nasty.)
Bottom line: I don't mind occasional long hours to meet a deadline, as long as I have the final say on whether I'm competent to work. If you make me continue working even when I know I'm making a lot of stupid errors due to fatigue or simply trying to do too much at once, you'll pay. You'll pay in ways you can't imagine. If you don't believe me, look at projects that Microsoft and others have had to abandon - ABANDON - because of runaway bug lists caused by trying to push their programmers too hard.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
in the book RAPID DEVELOPMENT (unfortunately a Microsoft Press book), they say:
- asking people to work long hours does not work. It always backfires
- telling people there's a crunch, "can you temporarily work a little harder?" usually does work.
unfortunately, I don't remember the exact words, but it was interesting reading.
My opinion, when it comes to working with code or any such mind bending piece of work is that it should more or less be done on the workers standards. The employer should force a bare minimum (in most cases 8 hour days) and the extra time put in should be determined by the worker. Let's face it, when dealing with anything that requires massive ammounts of thought, there are just somedays when you've gone as far as you can, and you can't think of anything else. You need the downtime to clear your mind and do other things. However, there are also days when you get on a roll, where the code and ideas are just spewing forth left and right and your putting them down as fast as you can type. Those days more often then not in order to avoid breaking the thought train, the worker would voluntarily work late hours, just to get it done.
There was a great book written called "The Hacker Ethic" by Pekka Himanen. In this book there is a wonderful section on how much we've destroyed liesure and ignored how useful it is to us. Case in point, when you have books on "Managing your free time" you know something is wrong with society. The problem seems to be this ever increasing belief that the only thing that matters is work and productivity. There is no room in the digital age for liesure. For kicking back and taking things slowly. What was once lunch hour is now lunch break. The 9 to 5 work day is seemingly unexistant, and anyone who just wants to sit down and listen to music for a bit, or type on slashdot is considered lazy. We're heading down a sad road, and I don't want to be there when we hit the end.
T Money
World Domination with a plastic spoon since 1984
are YOU at work now?
/.?
are YOU being productive reading
==
and as an aside... here's an intersting thought: food grows on trees.
Where I worked went through the same things and trouble is we keep hittng their ridulous schedules. Then the short schedules became the norm, and they kept pushing for even shorter schedules. Trouble is there is always assholes who will kill themselves at work and management knows it. The managers I worked with kept saying "if you don't like working a 100 hours a week, go somewhere else." I finally did.
Managers don't care the quality if the quality of the work starts to suck, all they know is hitting deadlines. But typically they will come back saying the project sucked and have to do it over. but its a new project so clock is restarted. Real funny, there is never enough time to something right the first time, but there is time to do it over.
Google (which everyone seems to love around here for their good results) is legendary for it's long hours. The reason they have the cafeteria with the ex-"Grateful dead" cook (which IMO is not that great) is cos your going to be spending alot of time there...
I am not a number! I am a man! And don't you
Of course long hours affect code quality like long hours affect my driving. Sure, Jolt will hold ya, but the crash in both instances is something you'd rather not stick around for. Not to mention you should be seeing huge battleship sized red flags when an employer is willing to push you into overtime position to complete a project on a regular basis. Not that, "hey, it doesn't happen often, but we need you to take one for the team" sort of overtime. I'm talking about the "This is the 6th project in a row I need you to stay after hours on to complete." It's highly indicitive of a boss who:
A) Is out of touch with his actual position in the company, not realizing what it takes to get a project done.
B) Is unwilling to either outsource or bring new people in to help do the job.
With "A" you're simply dealing with a chump. Somebody who's sole purpose is to take up space. "B" is the more insiduous threat, who is not only a tight-wad, but has no consideration for the spot he's putting you in and it's doubtful you'll see any benefit for once again coming through in a clutch. Much like the Anal CFO who doesn't want to authorize the funding for anything. "A" you can explain things to in a non condisending manner. Your only option with "B" is to either stick it out or go above his head. Or quit, which you may have to do if you jump his authority. Use the chain of command just so you can CYA on all points. Ask your boss to change something (you deeming what that something is) and if that doesn't work, file your two weeks with his boss saying you can't work like this. You'll either get cooporation, or an explanation of why things are the way they are (which means nothing is going to change). On all points, unless the man is receptive, it's a lousy situation to be in...
You need a FREE iPod Nano
I generally have two schedules throughout the year; a "big project" schedule and a "maintenance" schedule. The first involves 14 to 18 hours a day, six days a week (regardless of holidays), and tends to last a month or two at a time. The other one involves generally between 9 to 12 hours a day, five days a week (and actually staying home on holidays).
I typically do not have the big project schedule more than twice a year. I work for a small company (well, technically, a small division of a medium sized company) and am solely responsible for the development of our software. There's no COTS or open source software out there that meets our needs for functionality, ease-of-use and performance (at least not any that is less expensive, including whatever it would cost for 24/7 onsite service and support from the developers who wrote the software, than my salary and benefits), so it falls on me to write virtually all the software that runs our division (minus the operating systems, office suites and database servers, of course).
But, there are two main reasons why the difference in schedules and the very heavy loads that happen a couple times a year don't bother me.
The first reason is that project planning in our division is managed well, for the most part. I can think of a couple times where things did not go as planned, but they're in the minority. We also generally plan well in advance. I'm currently in the middle of a big project schedule right now, but I have known this was coming since the beginning of the year. Also, because we are a small group (less than a dozen people total for our division), I have a strong say in the project plans. If I mark something as unreasonable, we generally either don't do it, or we come up with an alternate version that is reasonable.
The second reason is that I *really* enjoy my work. If I'm not at work programming, chances are that I'm at home programming (usually for work) or sleeping. I do very little other than code. I enjoy having to solve difficult problems. You could certainly take the perspective that I simply have no personal life, and I would not argue one bit with that. I don't have any illusions of having a personal life -- but that doesn't bother me at all. I am a very dull person outside of work, anyway, because I tend to only think about work.
Supporting reasons for why I don't mind include the fact that I feel I am compensated well for my work and that I am valued by the other people in the company. I am also constantly learning -- especially when I am confronted with the more complex problems. Solving the really difficult problems may be painful while I'm doing it, but at the same time I consider it to be extremely rewarding because it gives me an excellent opportunity to expand my knowledge.
Like the saying goes, your finest teachers are your worst adversaries (in my case, the most complex problems). If everything is "point and click" easy, you are never challenged to think and confront problems head on and find their solutions. You have significantly reduced chances to grow or have the opportunity to expand yourself if you aren't challenged in some way.
Possibly just as important, psychologically, for my acceptance of, and willingness to commit to long work hours and tight deadlines is that I have a significant emotional/personal investment in the company, having been one of the people that started it. I still hold on to a lot of the "founder" and "startup" work ethic mentality from our company's early days, even though we have grown beyond those stages.
Will I burn out one day because of the long hours I work? Probably, but I hope that day is in the very distant future. And just to tie this post in with the original question, I do not believe that the long hours I put in negatively impact my productivity. I actually put in the long hours mainly because I work better that way.
However, were I not working for a company I cared deeply about, or were I not being challenged intellectually by my work, I would most likely burn out quickly and my productivity would suffer. I consider myself lucky to be in a position where I actually have some very significant and positive motivating factors.
I think you should tell your employer "Poor planning on your behalf does not constitute an emergency on my behalf." Unless you str getting significant stock options and/or comp time for those long hours, I'd start sending out resumes. You can force people to work long hours, but you can't force them to put out a quality product. Plus, the industry is full of stories of teams who busted their butts to get a product out the door, only to be told their services were no longer needed once the product shipped...
"Freedom means freedom for everybody" -- Dick Cheney
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."
And say N.O. (you know like those rape-stopping chicks)
He's askin for it. I am sure he will rethink his request.
Well yikes. I'm nervous to post what could be an unpopular view. But here goes. I do not believe in a mandate of 15-hour days or 7-day work weeks. But I also do not believe in missing deadlines that I took good care and due diligence to plan for. If a developer tells me it'll take a week, and he's buffering for everything he thinks could go wrong, I go back to the CEO and give a commitment that is two or even three times farther out than what the developer estimated. When the developer misses his own target, I get upset but I do not raise hell. However, when the developer doesn't even meet my "padded" deadline, that developer ought to realize some hard work better happen, and fast. I never force or mandate anything, and I do not give impossible deadlines that would cause a developer to constantly be overworked. But if a developer cannot work extra at least short-term to "save face" -- as if they don't care about quality or commitment -- that developer ain't going to last long.
So the question is, does the OP think the boss wants this as a permanent situation? If so, bail and bail fast. That's bad management and no, you won't be able to reform a management team that has such a toxic view of its employees. Just get out. But if the case is that deadlines have been missed, and developers are only being asked to do this short-term, then it may be that the developers need to respond to management with a can-do attitude. Especially if not responding with a can-do attitude is what caused the problems in the first place.
My Greasemonkey scripts for Digg &
When forced to work long hours though, it may be counter-productive.
We have learnt over centuries (including the episodes of slavery) that free and happy labor will always produce better quality goods than forced and bound labor. This is especially true of something like software which not "manufactured" and whose productivity cannot be easily measured.
All your favorite sites in one place!
whether long hours are so important to the company that they'll pay extra for them.
You'll find out pretty quick whether they're squeezing resources to be "competitive" or setting unrealistic schedules out of incompetence.
Envy my 5 digit Slashdot User ID!
Now
You're addicted to the long hours. You've actually acknowledged that the long hours are making you work worse. The math doesn't work. Why work 4 hours doing what you could accomplish in 1 if you had the 3 hours sleep and relaxation?
Talk to your boss. Find a coach. Find someone you can talk to and who can tell yo when you've hit the point of diminishing returns.
See what you can farm off to other programmers
In any case, the bonus isn't going to do you any good if you end up (literally) dead from exhaustion.
Besides: If the customer diddled the dog for 4 months when you should have been programming, you should be charging for your overtime, and getting it out of the customer. If it's really that important that it get done in time, they'll pay. If not, then forget them.
Free Software: Like love, it grows best when given away.
A little historical perspective on time management of subordinates.
This is from "My Three Years with Eisenhower" (pp. 247-248) by Captain Harry C. Butcher, USNR, Eisenhower's personal aide and diarist during WWII. It begins with a quote from General Marshall, Chairman Joint Chiefs of Staff during WWII, regarding Dwight D. Eisenhower during his stint as C-in-C for the North African campaign. This was told to Eisenhower's personal aide:
<citation>
[General Marshall said,] "When I brought him [Eisenhower] to head the Operations Division after Pearl Harbor, I put him in the place of a good officer who had been in that job two years. I felt he [the previous officer] was growing stale from overwork and I don't like to keep any man on a job so long that his ideas and forethoughts go no further than mine. When I find an officer isn't fresh, he doesn't add much to my fund of knowledge, and, worst of all, doesn't contribute to the the ideas and enterprising push that are so essential to winning the war. General Eisenhower had a refreshing approach to problems. He was most helpful. But he began to work sixteen or eighteen hours a day and before he left, I was beginning to worry about him, just as I did his predecessor. You must keep him refreshed, but knowing him as we do, it will take ingenuity. It is your job in the war to make him take care of his health and keep that alert brain from overworking, particularly on things his staff can do for him. You must get a masseur. That will give him exercise and, most of all, relaxation"
So today I [Butcher, the aide] have found a masseur of four years' experience, whom I am taking to the house tonight, only Ike doesn't know it.
Have just told Ike it's time to go home - 5:15 - that the masseur is waiting to accompany him.
"Holy smoke," he said, "a masseur?"
"Yes, sir, my orders from your superior, sir, General Marshall."
"Well," said Ike, "send a message to McCarthy for the Big Boss [meaning Marshall] that the masseur has been obtained by you as per instructions and is already at work.
</citation>
I guess it just goes to show that not all management, especially the successful ones, are slave-driving buffoons.
evanchik.net
The long and short of it is, your employer is suffering from entrepreneur's disease. Because he himself is willing to work fifteen hour days, he thinks that you should, too.
The fact that he, not you, is the one who stands to get rich by these extraordinary efforts doesn't register.
If I were you, I would work no more than eight hours a day, unless he offered to pay you for the overtime. You signed up for forty-hour weeks, and he's trying to change the deal on you.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Like tele-commuting.
Boss: you workin'?
You: YEAH... working on that driver bug as we speak (NASCAR TV noise gets muted); will have that to you in a day.
but seriously though -- i know a lot of people who would be more productive at home, and then it relieves you of the commuting time that would be otherwise wasted.
And if you can get the project defined not in "hours" but in, say, "features," you may well be finishing the "15 hours" of work within a couple long-hauls M,T,W and have yourself a 4-day weekend.
and from my experience, ppl can pull 15 hours much more easily when in their underwear at home, rather than in cubes.
just a suggesting.
My life in the land of the rising sun.
This suggests a whole new meaning to "Slashdot Effect" - Long hours editing Slashdot submissions affects grammar.
my response to such a request would be something along the lines of:
"I'm sorry, but that's simply not realistic. The programmers, designers, and other employees of this company have families and lives outside of their job. The project schedule is set up assuming no more than 5.5 hours of work per day, if the employees are soley dedicated to this one project. The rest of the time in the employee's day is taken up in administrative time.
"If you wish this project to be completed sooner, then you need to increase resources, and funds. But I must warn you that crashing a project (that is, reducing the scheduled completion date by radically increasing resource loading) is highly risky and will negatively impact your chances of successful completion within your budget and schedule.
"I wish to further point out that I will need several [days, weeks months depends on the complexity] to reschedule and rebudget this project. I will expect the resulting new project plan to be signed off by you, with you taking responsibility for the heavily increased risk.
"Morevoer, I wish to make clear that there will be a risk statement produced for this project, and I will certainly make reference to numerous case studies that indicate that fast tracking a project can reduce chances of success to next to zero. I wish it to be absolutely clear that you are ordering these changes, will fund the changes, and will take sole responsibilty for the decission to engage in this highly risky behavior."
Of course, I doubt I would have ever become a project manager for that type of management in the first place . . .
But I'm sure they're getting what they're paying for . . .
You should never feel the need to work more than 40 hours a week unless the slip in schedule is your fault or the company has been treating you very well. This doesn't sound like the case.
Also, read through terms of your employment again. Most companies have some clause that allows them to claim ownership to any ideas you get while on the job. If your on the job for most of your waking hours, they could claim to own everything and anything you think up.
I remember a project I worked on a few years ago while I worked for a consulting/contract company. It started out 8 to 10 hour days with everyone happy to work on the project. After a while it became 10 to 12 hour days with weekends and some grunting here and there but still happieness prevailed. After another while, the customer (who was in LA while we were in San Jose) demanded that we move our entire devlopment team down to LA until the project was complete. That started the downward spiral. I was the youngest member and was still new to California and didn't have any real ties to San Jose, i.e. family, lots of friends, a house, etc. so I didn't mind going but everyone else on the team had ties and minded bigtime. When we got there we were expected to work 14 to 18 hours a day and all-nighters were common. As "management" keep ramping up, the development the schedule kept getting pushed out farther and farther. The idiots never saw the correlation.
Because I was the young one I didn't really mind the whole thing. I loved coding and just went with the flow (sometimes working on stuff I should not have) but everyone else was more experienced and had lives and a bit more disipline. "Management" just counted bodies working at a given time, not code quality or unit deliverables, and complained about how we were way behind schedule. There was no one looking over my shoulder smacking the back of my head and telling me what I should be doing. The person who was charged with doing that also had to write tons of code and manage five other programmers and have constant meetings with "management" and hold his marrage together from 500 miles away. Soon everyone practically hated me (I would have hated me if I was in their situation now). One person quit, one was fired, one almost lost his marrage, one completely burned out and the rest just became plain ugly. We were pulled out after two months in order to prevent mass resignations or murder (seriously) and brought back home but the schedule remained the same (18 hour days with many all-nighters). This lasted for three more months.
After the project ended everyone quit. The sad thing about that is, the company we worked for (the consulting company) had, in all honesty, one of THE best development teams in Silicon Valley. Two of the guys went on the Netscape and early retirment, three went on to start a sucessfull software company (me included) and the rest all ended up being sucessful in some way. The company soon after closed thier Silicon Valley office. If they just realized what they had and treated their people better they could have been a great company. Oh well, it worked out well for the Netscape boys and the others.
After eight hours, you start making mistakes that will have to be fixed because they aren't the subtle kind that will only get angry call from your users to tech support once you manage to sell this stinkin' turkey.
The guy is an ass-hole.
Ask him how fast a woman can deliver a baby if she can skip some parts and cut some corners? Your kid won't need legs, will he? And it would really save time if we could omit the immune system. The user will just have to keep him in a bubble. (That'll be in the small print.)
Tell HIS boss that he's an idiot and that the results will be garbage that might very well get the company sued.
If you have no recourse, fill out your resume and start shopping it around because its only a matter of time.
Scum like that are why MIT's Technology Review have articles entitled "Why Software Is So Bad." Throw it on his desk on your way out.
And tell him that a "failure to design, analyse and plan on his part does NOT constitute an emergency on your part."
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
On the other hand, if we assume that you and I will live well past 60, and that with inputs from a modest career, allowing for things like two or three college tuitions for the kids, neither 401(k) nor social security will likely provide for a few decades of idleness.
Thus, we should expect to be working hard into our seventies, if not into our eighties. Presumably we would like better options than working at McDonalds at that point, and the willingness of 20-somethings to work 100-hour weeks may well cut into our option of a modest programming career.
The real world tends to be up-or-out, which can be a great frustration for those who seek a life outside the workplace.
We are heavily under-staffed even with my multiple attempts to show the owner that we need more resources. . . . .A large reason why many in this industry find themselves working long hours and weekends is that management makes unreasonable expectations and deadlines.
Maybe yes, and maybe no. But be very careful how you whine. It is not so simple as increasing staff and insisting on 40-hour weeks for everyone. That strategy can be as losing as the brain-dead whines of management.
Do NOT suggest that instead of doubling hours you should double staff to double productivity. The linear arithmetic of the mythical man-month is a disaster however you argue. Count on this -- be certain of it: doubling staff will not double productivity, probably not close to that. If you don't get this -- read Brooks. If you do, read it again anyway.
I think there are many reasonable views and unreasonable views on the time/productivity thing. In my experience, it is not the number of programmer hours, but rather the number of programmer hours "in the zone" that is the credible measure of productivity. Once I am "in the zone," it is a horrific waste of me to let me go home -- I for one am far better off hacking till I drop "out of zone," and then taking some recovery time, than coming in and leaving at any schedule. Everyone's (and every project's and every group's) rhythms are different.
But this is difficult to measure and understand -- part of the goal here is to recognize that it is not for management to MAKE ONE DO ONE'S JOB, but rather to MAKE IT POSSIBLE to do one's job.
I have no problem when management sets tough-to-meet, even unrealistic goals, so long as they permit engineers to do the engineering right. They cannot simultaneously control scope, resources and time allotted-- fixing two of these means the third must give. I have discovered that it is possible to explain and sell this to management -- and indeed other, more sophisticated ideas as well.
But if you try to sell the idea that increasing staff will get more productivity by itself, you are the one who has committed malpractice -- because you should know better. A bit more time than an 8-hour day may well improve productivity significantly. Much more than a 40-hour work week over an extended period of time may significantly decrease it. A few weeks at 80 hours or more may generate breakthroughs. But all these must be carefully managed and motivated, and combined with a sense of mission and purpose.
In short, the devil is in the details. It all depends on the project, the team, the requirements and the resources. More time may be reasonable, and for short spurts may not only be necessary but best. Weigh all the options intelligently -- consider reducing project scope or time expectations and weigh them against increases in staff or draw from present staff. The costs and benefits are tricky to weigh.
But quite frankly, if you are just there to sell the idea of shorter work weeks and larger staff as a panacea -- you are selling as much of a fantasy and bill of goods as was management.
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.)
You can't be serious!
15 hour days?
How's a guy supposed to have enough energy to
shoot his nerf-gun while rollerblading for even a ten hour day?
In California, there are only two exceptions to overtime pay. 1. You require a license to be able to legally have your job, e.g. doctor. 2. You are a manager of at least two people. There are no other exceptions. Thus, if he wants you to work 15 hours a day, he must pay overtime. Laws in other states vary.
BTW, saying John is manager of Joe and Bill, and Joe is manager of John and Bill, and Bill is manager of John and Joe (you get the idea) would not be a legal loophole to get out of the overtime pay requirement.
-- Will program for bandwidth
I, personally, would rather make $40k a year and work 8 hours a day than make $85k a year and have NO life outside work.
But: Do the "no life" route for 2 years, and you would have $50K extra to buy some *very* nice toys. It's all a trade-off. I planned on doing this type of work for 4 years, but lucked out on a great contracting job and hit my goal in 3 years. One year from now, I'll be on my new sailboat heading to Hawaii.
Not that this current workplace will get you there. I had a similar situation 3 years ago. Y2K in the investment world was not the place to be, makes you pee blood.
If you can swing it, I'd just clean out my stuff and quit the same day. The owner has more at stake than you do, he can't walk away, that's why he's being a hard-ass. Go for some short-term contracting jobs. I did exactly that, and 3 years later am much better off both in health and wealth.
... look at the older Silicon Valley companies that did make it. How many of those were born from huge efforts by their staff? Apple. Cisco. Palm. Intel. HP. Sun. The list goes on; all companies that were and/or still are legendary for the long hours they expected of their employees.
They were also legendary for the amenities they provided their employees, so they COULD work long hours.
For starters: Free food. Good, solid, delicious meals. (This is a simple equation: Put on a good dinner feed - like a banquet from a different high-quality restaurant's catering operation - every evening - and the engineers stay to eat. Then some of them stay on for several more hours on that hot project. Even if most of 'em eat and run you get several extra hours from your most fanatic personnel and/or those with a hot project or not yet at a good stopping place for the day. It's a LOT cheaper than hiring enough extra people to get a similar amount of added work out, and more manhours by your core team is a LOT more productive than a similar number of hours divided among extra staff.
I've watched more than one company decide that the dinners were an extravagence and cut them - resulting in the loss of about a third of their manhours (and a drop in efficiency of the rest, due to fewer working hours between mental "state reloads") as people left for dinner each night and didn't return. It's like cutting a third of your workforce but still paying their salaries. All but one of those companies went belly-up. (The remaining one is still running, but it delivered products late and its stock is now at 1/200th of its peak.)
But two things to note about the long hours:
- The people had mucho stock options at pennies - like founders' cuts or early-hire cuts. Say a tenth of a percent of the company, each, minimum, for the latter, MUCH more for the former. They were working for "THEIR company", not "THE company".
- You can only do this for a little while. Then you have to back off or you burn out. Long hours for part of a week is more efficient than shorter hours over more days. Long hours for weekdays AND weekends breaks the body and the mind - two weeks tops just before a deadline or when getting a design together, then a week off for recovery and don't do it again for at least a half-year and preferably a year.
15 hour days AND weekends is insane, even for "startup mode". This administrator obviously has a project in trouble and he's trying to set things up to blame the staff - like by setting up impossible conditions then accusing anybody who doesn't leave on his own of "insubordination".
Either he's in CYA mode for a doomed project or he's trying to reduce staff without incuring unemployment-related costs by getting everybody to quit or firing them "for cause".
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Projects going past deadline and requiring overtime happen, but that is an exception, not the rule. If projects are constantly missing deadlines, then whomever is setting the timetable is incompetent and should be fired.
-- Will program for bandwidth
way too many managers are stupid and worthless.
it's the number one reason shit fails.
Actually its damn near the only reason shit fails, and we actually hire them to make the real decisions. If the project is failing, it is the manager's fault and his responsibility to correct it. This may mean firing someone, hiring a whole lot more people, etc.
My advice-- get out of there now. Sure it will hurt them, but they made the bed, let them sleep on it. Taking flak for the managerial mistakes is probably not in your job description, and if it is, all the more reason to leave.
LedgerSMB: Open source Accounting/ERP
What the hell?
Where did he say anything about passivism?
He said to spend your time working on a relationship. If you've ever been involved in a relationship, you've got to know that it's not even close to passive.
He said to spend your time raising your children. You must have been a child at one point... Perhaps you've forgotten it? A passive parent is NOT a parent raising his/her child.
He said to spend your time caring for your parents when they become elderly. You also think that's passive?
He didn't tell people to spend their time watching TV. He told them to remember what's really important.
If making that one last software package work perfectly is what's important to you, so be it. But don't blame him when you look back at your life and realize you haven't lived it at all.
You know, i think he's reffering to unhappiness at work, that happens when you feel unsatisfied no matter what you do, and that you can't keep the pace no matter how much effort you put.
That is, you think you will be happy when you finnaly accomplish X, and when you get smart enough so the road is not so harsh.
It happens that most of the time, those feeling don't go away. And one day you wonder? Why am i so unhappy, I have almost everything yet the void is arround?
It just depends on the person.
unfinished: (adj.)
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.
Ive' b een wrkiing for 60 sxty hors strait my cod e is purfEctly find and cleeR is ever .
Table-ized A.I.
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.
That's why all respectable businesses have switched from child labor to third-world labor.
A Multiplayer Strategy Game for Mac OS X, Windows, and Linux
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.
For all the stupid silly stunts my company pulls, we at least have the policy of "Management by Objective". In a nutshell, this means that as long as we meet our objective nobody (except the numbnuts in HR) is going to care about how many hours we worked. Along with this are a whole bunch of status reports we have to submit. It's a pain, but it allows management to know way in advance if we are on target, giving them time to hire contractors and get them up to speed so they can actually help.
I work eight to ten hour days. If I ever go longer than that, or have to work a weekend, it's only a temporary thing and it earns you comp time. That's only happened once in four years.
A Government Is a Body of People, Usually Notably Ungoverned
I work for a big company as a Software Architect/Engineer and I basically come and go whenever I want (within limits).
On average I end up working about 7 hours a day, I never work on weekends, and sometimes I work from home (and these are the most productive days).
I get more stuff done than some of my colleagous who work 12 hours or more plus weekends.
In these 6-7 hours however, I work very concentrated without any distractions.
Actually it has been shown (although I have no reference right now to back this) that humans can work focused for only about 6 hours a day and after that productivity tapers of dramatically.
Now, of course I sometimes put in 16 hours or more a day, mainly to meet deadlines, but I always make sure that this is limited to one or two days.
I think companies that make their employees work long hours on a continuing basis -- especially in the software business -- are extremely short sighted. Nobody in his/her right mind wants burned out, unmotivated software engineers. Humans aren't robots and should not be treated as such.
Rapid Development by Steve McConnell ISBN: 1-55615-900-5
Amazon.com link
It's a Microsoft book, but the guy sure knows what he's talking about. If nothing else, Microsoft has had a whole lot of practice with regards to project management of large software projects. A good read for both you and your boss.
In other words, is your lunatic boss expecting you to effectively take half pay or less, or is he going to pay the same hourly rate for the extra time?
If he's going to pay the extra, why not just use that money to buy extra employees. If he's not going to pay extra, then he's probably proposing breach of contract - you did sign a contract stating 40-hour weeks @ $xxx per hour/week/month, right? Tell me you did, please?
I can usually crank stuff out pretty quick such that long hours will not be needed for an extended periods. However, a couple of conditions must be met:
1. Give me tools and languages that I like instead of the ones you see most often in the trade rags.
2. Agree to stick to a certain consistent look and feel WRT UI design instead of reinventing the wheel for every single form/page and cutesy trinkets that look cool but don't really improve user productivity by much. (Add the trinkets later, after the deadline is met.)
3. Let me do my job instead of sticking your grubby PHB fingers into the mix just because you want to put your "personal touch" on it. Most likely your personal touch will not be very compatible with mine and mixing will just slow things down. This does not necessarily mean that your vision is "wrong", just that mixing philosophies slows things down.
4. Have the user ranks things so that time and complexity is not spent on low-ranking options. Often decent compromizes can be made with a little negotiation. For example, "we can give you something 80 percent as effect as feature X, but do in 30 percent the time as you original plan.
Of course I can give up any of the 4, but you will be incrimentally giving up productivity from
me.
Table-ized A.I.
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
most coding you are just following the script or plan.
Now if you are lead programmer or something maybe but usually programs are designed first then coded
If you use Linux, please help development of Autopac
Me? My answer would be 'fuck no', but I do realize not everyone is a position to say that.
In a global economy the guys in india who will work for 18-20 hours a day will be hired and you will be fired.
If you use Linux, please help development of Autopac
The reason the tech industry has been immune to unions is that we have brains and therefore don't need to be treated as wards of the state like some 80 IQ coal digger. (No offense to coal miners)
The correct response to a company treating you like shit is to get out, not bring in the govt to beat them into submission and allow the employees to rewrite the rules until until they destroy the company. (See the Boeing machinists pending strike and the UAW's results with the US automakers.)
So long as there are insecure techs fresh out of college willing to work insane hours for no pay increase companies will get away with it for a while. But of course when all you have on a project is kids like that your company is going to end up on F---edcompany.com.
Democrat delenda est
Unless the guys in India who work 18 hours a day write shitty code, which is kind of the point of this whole discussion!
We're going down, in a spiral to the ground
Bunny World is a three week project and is done in groups of three. It is due on a Thursday at 2 pm. On the Sunday prior to the due date one of the guys in the group says, "Hey, I have two other projects and they are both more important to me than this one, so I'm sorry." So me and the remaining guy figure out that there is no way that we can complete his code as well as our own in time.
I go to bed Sunday night and wake up Monday morning and begin to code in the "Yost Code Loft", which I was the proud owner of that year after lusting after it the previous year. By continually consuming Dr. Pepper, Starbursts, and Led Zeppelin bootlegs I coded like never before.
Hours flew by and soon it was Thursday and I hadn't slept since Monday morning. The code was flowing from me. We got mostly done, but not all. B+
What made me mad was that the guy who dumped on us got the B+ too.
In college I could do that. Not anymore. I can put in 15 hour days here and there, and feel like I enter a state of coding clarity, but maybe my mind is just cloded.
Lasers Controlled Games!
The proper response to "These 8 hour days have to stop, we need to be working 15 hours a day and weekends, balls to the wall." is "And how many hours on weekends? 15 on saturday and Sunday also? Lets see, that's 105 hours per week, right? Okay, I'm willing to consider your proposal, but there seems to be something missing. This is the point where you tell me what I get in exchange for working more than two and half times as many hours as you are currently paying me for."
First, any such agreement should have a strictly defined time frame.
Second, realize that you know they need you to work on the project, so you have a very strong bargaining position. You hold all the card. If they fire you for refusing the project fails and you can sue them. If they don't offer you a deal you like, you can keep working 40 hours a week and let them know that the project will succeed or fail based on the realism built into the project schedule. Tell them you're commited to helping insure the project succeeds, but you cannot give away your labor.
Point out that it is customary to pay time and half for hours beyond 40 and double or tripple time for hours beyond 60 or 80. Help them out with the math, show them exactly how much free labor they are asking you to perform using your base salary divided by 2000 as your hourly wage, and point out that you aren't even factoring in the extra portions they have to pay like social security tax, unemployment insurance, and any other employer paid items like health benifits if you have them.
Of course they will question your loyalty and do whatever they can think of to make you feel guilty, but remember that they are already treating you badly, using a scorched earth policy, and you will probably be discarded once the project is over anyway. More importantly, they have already demonstrated a failure to properly manage projects, and unless that is corrected the company will fail.
If they cannot offer you a cash bonus or overtime or a salary increase (effective immediately, remember you might not be there long) suggest paid time off afterwards, with at least a one-for-one comp time ratio (preferably time and a half, doube time, triple time).
If you think that the company will still be there in year and it is already publically traded you might accept some stocks in exchange for some portion of your labor, but you should get a good price on those stocks, at an equitable price based on the real value of your overtime work.
If none of those are an option, ask for a lean on some hardware they have and you'd like when their company folds. Make sure they really own the hardware and nobody else already has a lean.
I'm sure someone is going to ask me why I think my opinion matters, and how I can hold such an unrealistic viewpoint, so I'll go ahead and answer now.
I worked for a Fucked Company called Open Sales and then Zelerate which tried the same stunts. I was one of a group of programmers told to put in overtime, and I made a point of taking a hardline stance that was successful and wound up getting an agreement from management to pay comp-time for myself and the rest of the programming group.
This agreement was made after many email exchanges with upper management and several pointed questions and long distance phone calls (We were in Albuquerque, they were in CA). The agreement was made during a crunch time. If we had waited it would never have happened.
The rest of the programming team applauded my efforts, but they all thought it was a waste of time until I was successful.
After the crunch, when the deadline was met, we were all called into the office on Friday, Jan 5, 2001 so they could tell us what our next project would be. Instead, they announced that the entire office was being eliminated.
The severance packages included pay for three weeks plus each programmers accrued comp-time which in some cases was quite large.
Of course, the company folded several months later and anyone who had accepted stock options in lue of cash (not me) lost.
I have worked at two places where I had insane hours with no end in sight.
it was so frustrating to see the idiot managers screwing things up over and over again and then having to work the hours to cover for them being morons, and they could go home.
I just figured that was how things were - but now I am lucky and at a new place that has amazing hours. strict 8:30-5, and I've once had to stay "late" (which was until 6pm instead of 5pm).
I get so much more done now. I am blown away - it is like a whole 'nother world. the owner of the company is very into a strong process and not needing to put in hours like that to burn out everyone - and it is really impressive in how well it works.
at other jobs there would be days on end where I did nothing, and then would have to work non-stop for two weeks later on.
now I just work steadily all week and have easy hours.
I will never go back to another place poorly managed like before.
that said, I then tend to get home and program some more on my own, but on my own projects.
There are some odd things afoot now, in the Villa Straylight.
Under Communism, there is no reason to work hard. There is no incentive to work more than the absolute minimum to keep from being noticed. Being noticed is not necessarily considered a good thing.
Socialism isn't quite as bad as Communism, but it still fails to recognize the basic human driving force is greed.
On the other hand, Capitalism is not entirely a bed of roses. Unless watched, corporate greed can get out of control to the detriment of society. Enron being a perfect example of this in action.
-- Will program for bandwidth
It strikes me that if the management of this company are so unskilled as to allow a situation like this to develop, they're probably also so unskilled that the company's future must surely be in doubt.
I'd say that you should get out while you can -- or you may find that you'll turn up one morning (not too far from now) and find the boss gone and the doors locked.
Once things get to that stage you'll find it very difficult to extract any money owed and you'll be looking for another job.
Pre-empt this situation by starting that job-hunt now and bailing as soon as another option appears.
I've seen this scenario happen even when times are good -- and right now, times are anything but good in the tech sector.
From personal experience, anecdotal for sure, I've written code during an all-nighter, which after a few hours sleep, was obviously not just wrong, but not even code, although it seemed perfectly fine at the time.
I left a job I had worked for 15 years because I was pulling 16-18 hour days for the last two years and, I was just discussing this with a friend a couple hours ago, didn't even realize it had happened. I was chugging extreme amounts of caffeine, going through a pound of Kona a week, and doing some serious damage to my own health with lack of exercise and fast food diet. If this is your manager's idea of how to _regularly_ accomplish things, then get the hell out. I mean it. Once managers realize they can pull shit like this all the time, they will! And guess who gets fair compensation for this, not you!
It is the result of poor management, particularly very bad planning. If there's some advantage your employer can gain by pulling all the strings, once, ok, particularly if it means you get compensated fairly or your employer stays in business, I can see it. But if they're doing this as habit, you seriousl are doing yourself harm by remaining staying and becoming a victim.
When I started my next job, after the one which nearly burned me out, I was shocked when my manager asked me why I was staying 10 minutes after five, "just a few things", his response was, "they'll be there tomorrow, go home, get!" It really was a different world, where work got done in 8 hour days, and planning made it work. Too bad new management came in and fouled it up and sunk it, but that's another story.
A feeling of having made the same mistake before: Deja Foobar
-- Will program for bandwidth
I own my own company in a highly competitive IT field. Our company is surrounded in our regional market alone by many other small businesses who provide a similar service, at a cost that we've found is typically more expensive to the end customer than us. Given that I'm the owner of my company, I suspect you might take the following with a grain of salt - I'm biased... =)
Still, we have recently hired a number of employees and many of the potential candidates were from those same competitors. Often, they were being paid less than we were offering, and worked long hours without much reward for those hours. Two of our first employees were from a direct competitor who sounded almost identical to the environment you describe.
In our company, staff get all stat holidays, one full week from Dec 24th to Jan 1st, with regular hours (regular being approximately 8 hours with most people starting anywhere between 8am and 10pm and finishing anywhere from 3pm to 6pm) and usually a couple of weeks holiday through the year.
So what makes our company able to do this when theoretically our competitors are twice as productive because of the extra hours they work employees? Our employees LIKE coming to work. We're a community and people want to be there. We involve people in decisions about how they do their work, and we insist that people take time off. Yes, occasionally we ask staff to work long hours - and a long day for us is 10 hours - but I then insist they take a long weekend or some other time immediately to reflect that extra effort. Not six months down the line when the manager has forgotten the extra time and gives it out begrudgingly, but when it will be felt and appreciated most.
We also practice continuous improvement. If we do the same thing over and over, we look for ways to improve the process so that we can do it in half the time so that those who are working don't get bored, and can finish off monotonous tasks more quickly. We encourage staff to take courses to further their skills and allow them to move around in their jobs.
By no means do I think we're perfect - there are lots of things that we do poorly. But for the most part, we know what they are and we focus on them. And I don't think we're alone in our business philosophy. There are companies out there that don't treat employees like cattle but they're not always easy to find as so many companies sound perfect during the interview. See if you can interview the company employees before you're hired and ask them to be frank with you. Sometimes even that doesn't help if the company preps their employees, but it might give you some idea of the mentality of the company. If possible, always get to your interview at least 10 minutes early so you can watch the dynamic of the office that you're looking at. It will tell you a lot. I still do this when sizing up potential clients because it will help me determine what kind of client I'll be dealing with.
Anyway, good luck with your job, whatever you decide to do! But whatever you look for, to me the best way to a good comfort zone is always creating the right balance both mentally and physically. Without balance, something invariably begins to break down.
We go through the very same thing at my company.
My advice is to stay slow. If they force you to work longer hours work slower, don't make the deadlines. It's not your fault you are heavily under staffed. It's not your fault you didn't make the deadline its the manager's fault by not hiring enough resources. plain and simple.
This is an industry FACT: The more you work the more they'll squeeze!
You shouldn't work yourself to death just for some bonehead manager. Programmers have a life outside of work too. Make it so clear that its more cost effective to get more resources. don't take any s h i t!
"If a show of teeth is not enough, bite
Can you say Chernobyl? That is what happens when you sufer from lack of sleep.
Any software company which gets itself into this mess is SERIOUSLY SCREWED. If they were that far off on their software estimates, there have to be LOTS of other places where they have no clue. Like their current financial position go work for someone with a clue.
"Fucked" and "Company". Get out.
Dave
I write a blog now, you should be afraid.
It gave some perspective on things. I didn't want to be like the 20-somethings we heard about on the news. The ones that went back to their desks to finish work.
I have a small business. A year ago, we did it, we worked just about every weekend of the summer, worked until midnight, etc. Now, we work 50 hour weeks, plus whatever we want from home on the weekends. Sure we still work hard, but it is more reasonable. I'm in the office 60 hours, but I doubt that I work more than 40. I need my team to work hard, so I make certain that I'm the first in, and usually the first out.
At the same time, I no longer demand insanity. OTOH, slackers that don't work hard wion't find themselves there for long. Sorry, you can talk here about how entitled you are to jobs, you aren't. If you can produce in 40 hours, great. Work 45 and produce more and I'm impressed. Just do 40 and I won't be thrilled. Work 40 and don't produce, and I will likely can you. Work 60 and have trouble, I'll work with you because you're putting forth the effort.
However, this Slashdot 40 is enough garbage is just that, garbage. Sorry, if you want to work short hours, move to Europe and be useless like the French. People that make an impact on the world work hard, REALLY hard.
You're not going to change the world working 40 hours/week. You're not going to have an impact on the world working 40 hours/week. Don't want to change the world? Don't want to have an impact? Don't work for a small company.
The owner that you're all deriding, its HIS money on the line. He's paying you. 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. The utter contempt here for the people that put it all on the line is a little disgusting.
Alex
'These 8 hour days have to stop, we need to be working 15 hours a day and weekends, balls to the wall.'
I would reply with "No way." Here's why:
I have several friends who code or produce other computer output for thier income. Lets call them Mark and Jason.
Mark is 32 - produces computer artwork and does computer imaging and interactive systems. He's 33 right now. Two years ago, this time I was helping him recover from Quadruple heart bypass sugery. Yes, at 31. Now, he may have been predisposed, genetics, etc etc. However, when you work *double* or almost double the hours that everyone else regularly does, you end up with a life style that puts your health at serious risk.
This request to work alot more will undoubtedly increase your stress - another factor in heart disease. I cannot say how much the "go-go-go and everything is on your shoulders" lifestyle has hurt my friends.
Jason is a systems manager, Email, web, DB, whatever - he's your guy. He is the proud father of twin boys, just a year old. Know where Jason is, this very very moment? ICU. No, not ICQ. ICU. He came through his *double* bypass surgery early yesterday evening.
There is no amount of money or anything else that is worth your health and your familys son/daughter/wife/husband/father/mother.
There has been talk of IT unions. Maybe its a good idea... Maybe we'd better think about this before its (almost) too late for more of us.
-- Will program for bandwidth
Longer hours are a way to complete
a project successfully only if you
give us all substantial raises.
Considered harmful.
Your employment contract probably says you should work 40 hours a week for x amount of dollars. That's a contract that works both ways.
When you buy a house, do you give the seller 500k if the contract says 350k?
When you rent a car, do you give the company twice the money that the contract says, just because you feel you should?
Like hell you do.
So why do you feel obliged to give more than agreed in writing in the work contract? The employer isn't going to give you any more than what's written down. It's just stupid to give your time away for free. Your employer is just a business partner, and you shouldn't give them the most valuable thing you have - your time - for free.
Always take care of yourself first, because no one else is.
The Soul of a New Machine" by Tracy Kidder. It chronicles the development of Data General's 32 bit architecture circa 1980. They were chasing DEC's tail and things were pretty intense.
My favorite quote from the book was the resignation letter of an engineer who burned-out dealing with nanosecond timing issues. He said he was going to Vermont where he would not deal with any unit of time shorter than a season.
My guess: the number will go up. That is the more hours you work, the more lines of code per hour get written, especcially at first. What that number will not tell you is number of quality lines of code, or the number of lines of code it would be if it was done right instead.
Case in point: We had a 22,000 line code module, written by an expirenced programer. Brought in a new college grad who re-wrote the whole thing into 3000 lines of code, added some new features (without getting rid of any of the old ones!). Both were written in C, so it wasn't a difference of language, or even libraries. The differences were not all hours worked, (the senior programer should have kept his guitar job) but the good programer would not have seen all the ways to reduce code size if he had been told to work extra hours.
Yeah but you use their code when you run Microsoft windows.
No one cares about optimised high quality code, they just want it written on time for release date.
If you use Linux, please help development of Autopac
Only yesterday, I was talking to someone who'd spotted a problem during a code review in some code written by a "cheap" outsourcing company. If he hadn't added an error handler to cope with there being multiple files in a location that expected only one, the program would have overwritten a paymemt file and cost his company $2M when it ran yesterday morning.
On a less dramatic level, most of the cost of typical software comes in support and maintenance. Our department was basically unable to deliver any new functionality to the business last year as we spent it fixing bugs and rewriting software that didn't do the job that it was intended to do.
Yeah but you use their code when you run Microsoft windows.Which is why no-one in their right mind uses Microsoft software for business-critical systems.
This is the part that has always amazed me. How can they ask you to do something this stupid with a straight face?
My last boss caused me great pain with such stupidity. One of my Debian buddies sent me a good explanation after I spent the afternoon complaining about it. That PHB did not even understand that laying me off was actually a reward. My nerves are finally starting to recover and I should be able to kick-ass on my next job ;-)
Feh.
People are greedy, fine.
Let's think about what greed is for a second. When does simple self-interest cross into greed?
when you work hard for something? - probably not
when you hurt someone else to get something - probably.
There's no reason people living in a capitalist society can't do fine without stealing from/stabbing/shooting someone. Most of us don't do those things.
Now, if you had a system where you got a nice basic labor/money bargain, and could live comfortably, and didn't have advertising manipulating your desires at every turn, what would be wrong with socialism.
It's not like any socialist state pays doctors the same wage that it pays cashiers.
Some say soviet socialism is dumb because it tried to comprimise too much. Tried to appeal to the worker's self interest, using capital (wages).
Look at a Maoist like Che. He thought about "the revolution" in social (not socialist) terms. He realized that while weath was in people's self interest, it's not the sole item. A feeling of self-worth is worth more than gold. Che worked two jobs for fidel's government, and did volunteer labor on Saturdays, and refused any more than his meager military salary. (His other job (some bank or economic development post) would have paid about 4x that).
Don't forget that even though people always say "the USSR proves socialism doesn't work", it's not true. The USSR was #2 to the US while it was around, and the #1 (US) was trying to kick them in the eye the whole time. Hardly ideal circumstances to establish a utopia.
In short, greed motivates me personally, but it's usually mitigated by a moral conscience and a desire to feel good about myself. Ayn Rand would think that is greed, but she's full of shit.
Do you really think greed is so much more nature than nurture?
The owner wants you to work 15 hours/day, 7 days/week? That's 105 hours per week. That leaves only 9 hours/day to eat and sleep, which means you'd be sleep-deprived and have zero free time. That's a ridiculous expectation. (And is he offering to pay over 2.5 times your normal salary for these marathons?)
However, even setting aside that patent inequity of the proposal, it won't work. I forget where I was reading it, but some study concluded that productivity in software development should be measured in days rather than hours. This is because it takes just as many 15-hour days as 8-hour days to get the same amount of work done. You might spend twice as many hours working, but it won't get the job done sooner, which means you'll have given up your free time (and probably sleep) for nothing.
The reason why 15-hour days are no more productive than 8-hour days was that working so much makes you less efficient, so you end up working slower. Worse yet, you're also more prone to error, so the software you write in those 15-hour days will produce buggier, lower-quality code, without saving any time in the schedule! However, that lower quality will affect the customer, and lead to more debugging and support work, and create a reputation for low quality which is hard to live down. Also, the cost of supporting buggy software can easily drown a company, especially if salespeople continue selling full-tilt even when the software is clearly buggy.
Not to help matters any, but when management starts demanding such long hours, employees start polishing their resumes, and morale falls to the floor. There's a good chance that the best employees will be the most likely to leave. And bringing someone new up to speed can be a major delay.
People are the most valuable asset of most companies (especially a software house), yet management is often so shortsighted as to view people as fungible "human resources", which is one of the greatest fallacies management can fall prey to. They tend to view hours as fungible, linear and very mechanical in nature, which is far from true for knowledge workers -- even if it may be more valid with manual labor tasks. Context-switching is another overlooked cost, implicitly (and incorrectly) assumed to be zero. (Developers should never be expected to do support work and still accomplish any work.) Knowledge workers are not fungible, and they never were.
Smack that owner upside the head with a clue-by-four, but be prepared to go find another job, because this one will become your own personal hell if he follows through on this plan. (But beware, it's not so easy to find another job as it was a couple years ago...)
A truly Enlightened owner would have you work six hours a day (yes, 30 hours/week!) for full-time pay and benefits, and encourage you to get at least 9 hours of sleep per night. While this seems counter-intuitive to a manager with a "human resources" mindset, consider the results. He would have happy, well-rested, enthusiastic and energetic employees who would be alert and less prone to error. (This would pay dividends in reduced debugging time, reduced support work, and a higher quality product that engenders customer loyalty.) They'd be reluctant to leave, rather than biding their time waiting for a chance to jump ship. They could have a life, the software would probably be less buggy, and it'll probably take as long to finish as it would have with 15-hour days, but without burning people out in the process of creating crappy software...
Of course, an Enlightened owner would also develop realistic schedules, not arbitrary ones based on his fantasies of when he thinks the code should be ready. And project plans should devote extra time to creating a good design instead of plunging into coding, because it's very difficult and expensive to fix a bad design after the fact.
Of course, there's a 99.9% chance that this owner just won't get it anyhow. Fret not about his karma; he'll reap what he sows -- just be prepared to do what you must if he remains clueless.
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
I am working on what could be the largest project of my life... I have a 4 month old son I rarely see.
Shouldn't your son be the largest project of your life? Whatever you're doing cannot be as important as he is.
Why exactly are you sticking with this job? You've already pointed out that you're not being paid well for it since you're salaried. If you're going to find another job, do it now. With the effort you've given, you don't owe them anything.
Claim your life back before you turn into a sad cliche of an absent father.
If your company (and thus your management) does not have any detailed plans on what that needs to be done and how long it should take (max 20h blocks, preferable smaller), you are in for serious trouble. Failing to identify all neccessary tasks and planning them will surely make your project late, and most likely fail.
Pulling an all nighter the day before release to squash that last bug won't affect quality, but to constantly work more than 40h/weeks will affect you as a person. Your personal life will suffer greatly, you will get tense, you and your co-workers will start to go on each others nerves, you will most likely sleep bad and get a constant feeling that you are behind. The stress level will go up and affect you in so many way that a team of researchers would be neccessary to explain all the effects.
So, seriously, are you still caring that much about code quality? The quality of your life is in the drain after many weeks of constantly getting pushed around. And yes, the quality of the code is by now quite bad, quarrels and accusations are more common, no steps neccessary to keep up the quality are done, like reviews, proper testing and inspections, the only thing you have in your head is "how can I do this as quickly as possible so I can get out of this hell hole". Sell your stock, sell it now.
If you are interested in more about software engineering and reasons why your management is doing so horrible feel free to check out my webpage and send me an email. I have read a few good books (which I can't remember the titles of right now so you really do have to email;)) and I have experience working, both the good and the bad.
And as my last words, maybe it is time for you and the most talented people in your company to start your own business if possible. There are many reasons why it might not be possible, but if it is, it is a very good experience. You won't have to deal with incompetent management that doesn't know anything about how software development works.
But do remember that you can't start acting like them yourself, you are a software engineer, and most likely not the best person to do everything in a company. Hire people that are good at economics and a good president and all that. Remember that everybody in a company has to be competent at doing their job and that you have to listen to each other. See what happens when management is not listening to you...
(These things does not neccessary apply to personal projects, as you have an inner glow and will to finish the project, and you are most likely not sharing the code base with another 50 people. Just wanted to say that too;))
OK, let's face it this particular manager is an idiot, and will never get his product out of the door, but...
When you're working on a knotty programming problem, in my experience long uninterrupted hours do help. I find that it takes some considerable time at the start of a session to think myself into the problem, and that consequently the first two or three hours of a programming session aren't as productive. Consequently left to myself with a difficult problem I will choose to work sixteen or seventeen hours at a session.
So yes, in my opinion, long sessions improve code quality.
When I was younger and had no life I would work sixteen hours a day five days a week, every week, even though I didn't get any extra recognition for it. Nowadays I go sailing or messing about with friends three of four days a week, and rarely do sixteen hours on the trot.
The point is you burn out.
You can do a few months - or at a pinch a few years - of working very long hours every day, and then you burn out and are fit for nothing for months. If you earn enough in the time when you are doing the hard graft to take the next couple of years off recovering (and you actually save that money up and don't spend it on silly toys) then that is fine. But typically the employers who demand these ridiculous schedules are startups with no money, and just at the point when you are burned out and need to take time off your employer goes bust and doesn't pay you the salary and bonuses they've promised you.
So, some rules for those who are asked to work very long hours:
Start ups do fail, and fairly often it isn't anyone's fault that the startup fails. But too often I've seen situations where the principals have seen trouble coming and organised a soft landing for themselves. Meantime they miss salaries for the employees and promise that everything will be alright soon... until you get to work one morning and find the door lock or the kit being reposessed. What hurts most is that in very small businesses you feel you are a team and you feel that the people you are working for are friends. If the principals bail out and screw the workers not only are you jobless and broke but also feel betrayed. Do not allow yourself to be caught out that way.
I hate to say this, but look at what happened to the people who worked for Loki.
I'm old enough to remember when discussions on Slashdot were well informed.
http://www.alpa.org/internet/projects/ftdt/backgr/ Daw_Lam.html
Basically, if you lose sleep, your response times for various tasks increase. This is why driving/piloting/etc. is dangerous when you are sleep-deprived. The accuracy of your responses, however, does not really change. Thus, although no one else seems to want to hear this, the quality of the code you write is unlikely to decrease.
All this is for short-term sleep deprivation. Longer term, things change. So maybe, for example, you could work 15-hour days, and then rest up on weekends. (Of course, you might not want to do so, but that's a separate issue.)
And before anyone tries to claim this is flamebait, please read the reference linked to above. I'm just a messenger.
WTF are you talking about?
autopr0n is like, down and stuff.
More work does not get done in more hours... it is always quality vs. quantity and quality always wins. Take more days off... call in sick or take your vacation days as needed.
In the end it is the one day that you solve the problem that really counts, right? Not the umpteen days you put in to write up the reports on what you plan to solve in that one day?
that's it... add more details if you like.
A fool throws a stone into a well and a thousand sages can not remove it.
One data point - we've worked a month of 6-day weeks and will be working another before this project is out of the door. At that point I will be resigning (they're welcome to fire me before this - I'm only staying that long because I want to get my code done).
Any managers reading this - make sure that your employees are desperately in debt (actually quite common here in Chile) before pushing for this kind of thing, because that's the only reason I can think of that would stop me from walking out... (and I otherwise have a good relationship with my boss).
I'm lead programmer on this project - it's a small company, their future plans will be hosed when I leave...
(And a big thanks to my partner for providing the financial support that lets me do this!)
http://www.acooke.org
Henry Ford appears to have been a great proponent of the 40 hour work week. He actually looked at the economics of the work levels.
HENRY FORD: Why I Favor Five Days' Work With Six Days' Pay
Ford Timeline
American Labor Timeline This does say that the move towards 8 hour days started in the 1880's. Ford didn't go to 8 hour days until 1914. But his company wasn't started until 1903. The assembly line started only in 1913. It was the assembly line that increased production enough that it made sense for Ford enough clout to cut hours.
Not discounting the deaths/beatings/other stuff, Ford was a pioneer for the forty hour week.
I don't read AC A human right
I just wrapped up a project with 60+ hour weeks for two months. Two days ago they laid off one of the guys that did 60-80 hour weeks for 8 weeks. Nice reward huh? Damn glad I'm a contractor. Overtime? Hell yeah.
3 days in a row with no sleep
I would hazard a guess to say it wasn't the work that killed him, rather it was his extreme stimulant usage.
--- I do not moderate.
In most cases, as a programmer peon, you really don't know what's actually going on in your company. Oh, sure, you think you do, but you don't. Do you review the sales pipeline every week? Do you know the state of your company's balance sheet and financials? How about its credit facilities and payables? When's the last time you sat down with the bankers or the investors and heard the real story?
Do you really know what's going on with the competition, or do you just believe what the suits tell you? Is the pricing strategy correct, or are the Marketing people on drugs?
The problem we all face when we are in your situation is that we are operating in a vacuum. I've been a coder my whole life, spent the last 10 years in upper level management positions. Let me tell you something profound: You do not know what upper management knows. They will never tell you the whole truth. Therefore, you cannot make a rational determination as to whether this request to work overtime is reasonable and thoughtful, or whether it is just the last frantic thrashing of the whale's tail before death.
I've been coding for 32 years, I've started two companies, worked for many. Here are two general observations that may or may not apply to your specific situation:
1. If you are working massive overtime, do so because you are starting a company on the side, not because your current company has understaffed the department.
2. It is easy to believe in your own importance, and that you can make a difference by working OT. Sadly, you probably won't make any difference at all.
Hope this helps.
In practice, it appears to be commonplace to be asked to sign a waiver of your employee rights when you apply to join a company. This happened to me and it (amongst a few other things) made me reject the company at that point.
I have willingly worked long/anti-social hours to help out in a crisis or special circumstances, but I refuse to work that way as a matter of course.
--
Seems to me that there is only one reasonable solution for you to take, assuming that this 15hr/day policy is something your boss is looking to make permanent for the forseeable future:
1) work 15 hour days
2) actively pursue a new job somewhere else
3) once you find & accept your new job, give
your boss your 2 week notice.
If he manages to really piss you off during this time, give him a 15 minute notice of your departure.
Fewer people, more work, less pay.
Welcome to the recession.
First off, I agree that piling on hours doesn't necessarily lead to more code written.
At the same time, you have to look at the business. The economy has slowed down and things are more competitive. You can't necessarily get the same price for a project that you could a year or two ago.
It sounds like there is an us vs. them dynamic going on. Something has to give or the company will self destruct.
You probably need to try to understand what is going on in the business that is causing these pressures. It's always easy to point to the manager and say that he is an idiot (sometimes he is) but many times there are external factors and pressures that make things unpleasant. The manager can't always make things perfect. There are a lot of hungry programmers out there right now.
Your manager probably needs to try to understand your work a little better. There are probably some things that can be done to make the coders more productive. Doing the wrong thing longer doesn't help.
In the end you may come to a mutual understanding. You may need to buck it up and work a little more to get by in these tight times. Your manager may need to work some more time to try to make the process more productive overall.
One thing to watch of is the fire fighters' habit. You may need to work hard short term to get a few projects off of your plate and make some money. If everything becomes a crisis and you are always having to work a lot of hours just to get by then there is something wrong.
Yes, you can do an all-nighter now and then if you really have to, and you're really into your work. You can get some fantastic amounts of stuff done this way, once in a while.
However, if you try to do this with too much regularity, it's consistently shown in objective tests that your work will suffer. Unfortunately, it's also consistently shown that you will not realise this at the time.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
1) Your manager and everyone above him up to the CEO are the first to go and last to leave (i.e. they are also working "balls to the wall", not just you)
AND/OR
2) they offer you at least 15/8ths of your regular weekly pay (some might say 20/8ths for time-and-a-half rate)
Then there's no problem. Theres only a problem if it's them telling you to commit such effort and they aren't, or if you're not compensated for it.
-Styopa
I find I write the best code when working long hours (so my brain stays on subject) but easy hours (so I don't get tired). Basiclly I keep working but I get up and do other things as I feel the need including going places, watching tv, etc. The little touches of relaxation make it easier to think about the problem instead of thinking about thinking about the problem as is often the problem as you get tired.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
From a project management perspective, the best estimate of time and resources needed for a project can be found by looking at previous projects. Time and resource tracking with reports to the management are the only reliable ways I know to predict the future.
I've seen projects that could be done in a weekend if the IT staff was willing to work a couple of twelve hour days. Since they were not, the project took several weeks done in phases. I've seen others that would take severl weeks of full time work to plan, test and implement, that were forced into production in a matter of days.
Software develepment is not a forgiving job.
Ummm, Jon, aren't you supposed to be dead...? - Otter(3800)
Some of my best work is done long after 8 (or 15) hours of work. But that is because the task is so fun and chalenging that I can't stop. Unfortunately, this happens with decreasing frequency as I grow older.
If I felt forced to work for long hours, it would seriously damage both code quality and productivity.
Bleugh ! I can't believe I said that. However, we work in an industry where 2 smart people can be worth a great deal more than any number of grunts, even if the grunts work 20 hour days.
Most software projects are actually overstaffed with programmers, and that the same amount of work could be done by substantially fewer people. Calls to work long hours often come about not because the amount of work to be done is large, but because the project is being constantly rewritten to accomodate changing requirements, or because there are fundamental technical flaws that there "isn't time" to fix.
Ultimately, the hard part of programming is not writing code, it is thinking, and thinking is better done by a small number of smart people who've had enough sleep, decent food, and some time with their families.
There was a whole hell of a fuss about this when the WTD came in. The British government in particular insisted that employees be allowed to voluntarily choose to work more than 48 hours per week.
I'm not sure it can be part of your contract of employment, because you're not allowed to hire or fire based on willingness to work overtime. However, in practice, such hiring and firing does actually take place.
Don't forget that even though people always say "the USSR proves socialism doesn't work", it's not true. The USSR was #2 to the US while it was around, and the #1 (US) was trying to kick them in the eye the whole time. Hardly ideal circumstances to establish a utopia.
Not to be disrespectful, but this argument is crap. Every unrepentent communist I know (and I know many) blames the failure of the USSR on (as you put it) "the U.S. trying to kick them in the eye". Tell me then, what exactly did the U.S. do that thwarted these otherwise effective plans towards utopia? The USSR was the largest country on earth, with the largest reserves of natural resources (oil, iron) some of the greatest farm land (Ukraine), yet the US had to sell them grain in their later years because they couldn't grow enough food, and what food they did produce frequently rotted in transit because they couldn't keep the railroads running. Was it the US going in and poisoning the grain fields? Did the US spike the tracks to make the trains derail? No, the problem with the USSR is that it was an evil dictatorship. For all the great idealism of Lenin, Trotsky, et.al, the country was essentially led by a coercive government which said "our way, or be buried by the highway". The notion of an "enlightened vanguard" leading the uneducated masses was the first step away from true communism and towards the evils of Stalin and his successors.
The reason the USSR failed wasn't because it wasn't "given a fair chance"; it was because the very idea that communism can be anything but totally voluntary leads eventually to dictatorship because, once you've pointed a gun at one person's head and said "you work for the good of all", all pretense of egalitarianism is right out the window. The truth is, real, honest to goodness communism must be totally voluntary, and that will never happen in groups larger than a community (hmmm....notice the similarity of the word?). Attempting to legislate an egalitarian society from On High is the worst sort of non-sequiter. In this way socialism is only a little better than soviet-style communism in that it simply doesn't pretend that those making the rules are "the same as everyone else". I would sooner choose the capitalist system which allows for individuals to cooperate with one another voluntarily than I would choose an enforced slavery to a mythical "common good" which often turns out to be "the good of the Party Leadership" (as it was in the USSR).
Real Communism(tm) can only happen in a truly free environment, which is something the ivory-tower academic communists you find in student unions everywhere will never be able to accept because it requires them to accept that the "uneducated" must be allowed to choose for themselves.
If a job's not worth doing, it's not worth doing right.
Absolutely.
It does not matter how long I am at the office. I can only deliver 6 hours of code. And that's if I am well rested.
If I'm very tired (less than 6 hours of sleep) then the amount of good code goes to zero.
I know that because the next day I spend 6 hours fixing the code I wrote the day before. So in actuality, in 2 8-hour days, I produce only 6 hours of code.
When I come in on a Saturday like today, I'll be here for 7 hours, but plan on coding only 4. Why? Because I know that I won't have to screw with that code ever again, and in two-three years it will be chugging along happily without a single failure.
Oh, and it will be properly indented, properly commented, and have failover redundancy, event logging, and a fully detailed technical paper in html.
And that is what my company is paying me for. Not face-time.
"Piter, too, is dead."
Stephen Hawking
If Einstein died at 30, he would still have contributed a great deal.
Gymnasts
Dogs and cats (they live for only a decade yet each and every one makes such a great difference to the world)
Friend, one man can make a difference - no matter his age
A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
I've measured this in a number of projects over the last 20 years. My own personal records versus the official schedule.
Working longer hours makes the project take longer and costs more. The error rate in the code goes way up, the time spent on bug reduction practices (such as code reviews, design reviews, designing at all) drop. Programmers starting taking short cuts and start making work, not right.
Working long hour might get the code written sooner, but the testing time will triple and you'll wind up throwing it all out and starting over in six months to a year.
On a personal note, if your management has that attitude it is time to start looking for a real job. The company you are working for is in deep trouble.
Stonewolf
The most productive coders in my experience of managing are the ones who are at work fewer hours. I have had my share of reports who consistently work sixteen hour days but are also consistently late on their work once the QA cycle kicks in. A fully rested well balanced programmer makes better decisions and fewer mistakes.
You may be able to help them by having the QA cycle kick in earlier, then. The sooner feedback comes, the easier it is to recognize and learn from your mistakes.
Personally, I'd use a lot of XP practices; between pair programming, continuous integration, and test-driven development you can get a lot of developers to learn the difference between "feels faster" and "is faster".
Also known as someone who never had to support himself, much less a family.
In a fight with your emplyer, the stakes are almost always higher for you then for the company. They can afford to loose, but sometimes you can't... hence the term "force" is appropriate.
Well, unless you have rich parents (which you probably have, considering your statements) you'll find all this out by yourself in a few years.
Don't say I didn't warn you.
"First lesson," Jon said. "Stick them with the pointy end."
This is so true.
50% of getting and keeping a job is politics.
Some things are very hard to pull off even if they are within your rights.
The people with good job security and pay is not necesserily the best workers, it's the people that learn to play the system.
That's just the way things work.
"First lesson," Jon said. "Stick them with the pointy end."
No, communism has always worked well. Most human
societies were organized in tribal communes for
millenia. It's the nation-state and centralized
planning that have been proven failures, not
communism.
-I like my women like I like my tea: green-
> Communism and Socialism won't work. They are based
> on the false assumption that people will work hard
> for the good of society.
You are just wrong. Most of what people do, they
do for the approval of those they respect. Most
people who decide it's worthwhile to get a lot of
money do it to get laid -- the rest of them can
get laid without paying for it in cash.
Communism has worked for thousands of years.
Capitalism in it's modern guise has been
poisoning your children and corrupting your
goverment for -- what -- 100 years? Sure it's
more robust than the centrally-planned nation-state
of Leninism, but how much more? It has only
lasted 30 years longer. I don't think you can
draw many conclusions yet.
-I like my women like I like my tea: green-
Everyone I interview knows upfront that we work really hard. Nobody comes in taking a 40 hr/wk job and getting slammed with 60.
If you want a 40 hour/week job, go get a job.
I have a small startup, that's the deal.
I offer an opportunity to be involved in our organization. I tell you the truth about it. If you want the opportunity, you'll have to work for it. If you don't, I'll wish you luck and send you on your way.
Alex
Long hours definately affect proper English usage.
My other first post is car post.