Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I assume there are many developers in a situation like this:

  • you are an employed software architect/engineer
  • you are good at your job
  • your company needs more good developers than they can find
  • there are many options to get a new job or get self-employed
  • work is not your first priority (you enjoy family/free time)

Aren't we stupid when we still accept overtime/weekend work/denied bonus payments?
I would think employers would need to give in, if we demand better working conditions.

What do you think would happen when we all demand better working conditions?


locked by Yannis Mar 13 '12 at 20:33

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

This isn't really an issue that's unique to software development. It can (and does) affect people working in all fields. As such it is really off topic here. – ChrisF Aug 18 '11 at 12:02
@ChrisF: Sometimes it's more constructive to speak about a limited area and not about the whole world. – tomahawk Aug 18 '11 at 12:53
"I would think employers would need to give in, if we demand better working conditions." That's like totally like 1899. But in all seriousness, that's what unions are for. – Jules Aug 18 '11 at 13:21
@Chris F: Generally speaking I agree though programming is somewhat of a different beast. Some working areas cannot work at odd hours, on weekends etc due to the nature of their job. Programmers can program all day but Business reps cannot perform duties if no one is operating their business at 2AM or on the weekend. – Chris Aug 18 '11 at 14:31
Though the issue is not UNIQUE to software development, it is CHARACTERISTIC of software development. Also, suggested solutions might well be specific to software development (I'd say 1/3 of those posted are fairly specific to software development, and 1/2 slightly specific). Finally, closing the questions effectively asserts that the closers know that the situation for programmers is the same as for other jobs, without letting the community speak to whether this is in fact the case. – psr Aug 18 '11 at 18:51

17 Answers 17

up vote 360 down vote accepted

Yes, developers think working long hours is a sign of machismo, it really is stupidity.

Best startup I ever worked for had a solid testing framework, zero regressions, high code velocity.

Everyone worked 9-5, weekdays only. My wife was astonished to see me for dinner so regularly. If we ever had to pull long shifts, the company had a fresh team that was nowhere close to burnt out.

Of course it failed...NOT. You might have heard of the company, LinkedIn.

Any time you have worked long hours it is a sign of a broken process. Insist the process gets fixed before working the long hours.

Considering some devs are doing 20 times more work than others, working longer isn't a solution unless you have 20 times more time to throw at the task. Everything else is education, process and training. – deadalnix Aug 18 '11 at 10:22
Part of the blame lies in the fact that interviewing method are defective. I HATE having to take an exam that goes through the nitty gritty of a programming language rather than just testing concepts. Also, after 10 years of being a programmer, I hate having to justify my work and experience by giving tests... as if my online portfolio and public projects etc aren't enough. – Ali Aug 18 '11 at 10:47
Would vote this up 10 times if I could. More places need to operate like that; hell I have yet to find a place recently that doesn't tack on extra hour (if not more) to "pay back" lunch breaks (i.e. 8-5 instead of 9-5, 9-6 instead of 9-5, etc) - used to be everyone did that, now nobody does it seems. – Wayne M Aug 18 '11 at 12:24
It could also be a sign of a good process with unreasonable deadlines. – mikerobi Aug 18 '11 at 14:20
@mikerobi, if deadlines are being handed to you, instead of the dev team estimating the work required, it's not a good process. (of course, dev estimates are often shorter than reality, so that can happen) – JasonTrue Aug 18 '11 at 15:07

One thing that astounds me is that software developers rarely belong to unions or collective wage agreements. I now work for a software house that is unionised, and have the best working conditions of my life, and the best in the city.

So to answer the question is probably covered by a broader issue - software engineers are (as a massive generalization), very poor employment contact negotiators, and do not even know they are. As a result, they end up with far worse working conditions than they could have.

Software development is a service industry, and as we all know, service industry workers are not typically well paid and have poor work conditions. With(out)* collective agreements, these will not improve.

*EDIT added 'out' to 'without' to better convey what the original answerer was trying to say.

The comments on unions have been deleted as they weren't adding anything to the answer. If you want to talk about the pros and cons of unions please use chat – ChrisF Aug 18 '11 at 15:52
What do you mean software development is a service industry? In traditional terms it's a craft. – dasil003 Aug 18 '11 at 16:58
Yes you can do both, that's not the point. The fundamental nature of software engineering is producing an operable piece of code. You might be a support and installation engineer, you might be selling SaaS, you might be consulting, you might be expected to wear a bluetooth headset to field angry customer calls, but those are not the essence of software development. Picasso may have fielded a few requests for loading giant canvasses into trucks, but that doesn't make Art a service industry. – dasil003 Aug 19 '11 at 15:27

In my opinion there should never be a reason to work overtime, weekends, etc. for a business where you are just an employee (if you are a partner, stakeholder, or if it's your own business then it's acceptable once in a while). Any time this happens, it indicates a much larger problem (usually at the management level) and that problem should be addressed immediately and finally when it rears its ugly head.

Note: Specifically referring to unpaid overtime/weekends/etc. It might be acceptable once in a blue moon if you get some kind of compensation (real compensation, not "Come in on Saturday and we'll buy everyone pizza and beer!" compensation), but IMO the sheer fact that overtime or off-hours work might be required indicates a deeper issue that needs to be addressed.

+1 for bold never – treecoder Aug 18 '11 at 12:09
I wouldn't say never. There are at least two reasons for it. (1) you are just an employee, but a very well compensated employee (above ~$200k) and were hired with the expectation that you will work extraordinary hours and be the person everyone can rely on. (2) On rare occasions, your work is needed off-hours and not doing the work ASAP will lose money/business for the company that can't afford to lose it. E.g., you're at a startup and a major security hole was found after release that needs to be fixed ASAP--that's not the time to try saying you'll only work for $500/weekend day. – dr jimbob Aug 18 '11 at 13:44
I get paid hourly, with time and a half for overtime (above 40 hours). I'm happy to work some nights and weekends. – Nate C-K Oct 19 '11 at 23:22

The most significant factor in working long (unpaid) hours, as I see it, is the culture of the department. If everyone else stays back in the office until 8pm then you're going to be expected to as well.

This culture is often brought about because 90% of the time, management are unable to see a true picture of the productivity of developers. The easiest thing for them to see is bums in seats.

If your company is in the situation where they need more good developers than they can find then that is their problem, not yours. They should recruit more or be realistic about deadlines.

If work isn't your first priority, then why are you working for nothing? You're using your own time to put money into the pockets of the company owners/shareholders. You don't have to do this. If you're a good developer then you should be able to get enough done from 9 to 5. Sit down with your manager and discuss deadlines. Agree on realistic milestones. If you can hit these milestones without doing 60 hours a week then you can leave at 5pm with your head held high. If you can't agree realistic milestones and your manager insists that you work regular unpaid overtime then its time to look for a new job.

Some places (and some industries, like finance/banking) have the 60h/wk culture, and there's simply no getting away from it; telling your boss that you're only going to work 9-5 will just get you fired, or more realistically you'd never have been hired in the first place. When you go into finance you go into it with your eyes open, 60h/wk is regular and expected. Fair enough, but that's why salaries in finance are usually 30-50% higher than other industries. Its not really unpaid overtime, its salaried overtime.

The problem with this is that places with a 60 hour+ culture will expect 60 hours+ of work. So if you get your milestones reached early, well great we'll give you even more milestones to fill your 60 hour work week. – TrojanName Aug 18 '11 at 15:29
Brian: that's when you leave. Actually, that's where you never start. – Christopher Mahan Aug 18 '11 at 16:10
@Brian Definitely seen this happen before. Work like crazy to get something out the door and when the next iteration of the project comes along there are the same expectations. "Well you did it in x months last time..." – Josh Aug 18 '11 at 16:17

From my first job at a consulting company: "We don't work for free." - CEO This is not to say that the sales team didn't do a lot of work, that they didn't do lots of marketing, etc, but that there were limits.

I have learned that employers will allow you to do as much work as you are willing to do, and if you are willing to do the work of two people, they will let you, but they are very unlikely to pay you the salary of two people.

Another valuable lesson from the Red Cross Lifesaving Manual- Rule 1 is Self-Preservation. Poor judgement when trying to help save a drowning person can equal 2 drowned people. This is very important at work, too.

I've done lots of work at the last minute to save the company's bacon, but I have discovered that most companies don't appreciate the miracle you pulled out at the last minute, they learn to EXPECT it, and don't change their poor planning behavior if they can depend on you.


A couple of points to raise here.

  1. Job availability can be locally constrained. It's very hard to walk out on a job regardless of the conditions if there is no easy replacement.
  2. Work disposal is not locally constrained as in off-shoring is increasingly an option for some companies. May not be wise but that doesn't generally trouble decision makers.
  3. Most contracts will have some comment about operational requirements and flexibility which limits employee options for complaints in some respect.
  4. Collective bargaining makes some of these problems go away depending on whose doing the bargaining. Sometimes, however, it makes the jobs go away too.

demand better working conditions

Are you kidding?

What sort of environment are you working in? Tents in the middle of the desert? Forced to deal with unearthed equipment? Are you beaten over the back of the head with a blunt object (not the rubber duck testing type, mind) if your bugs don't pass smoke tests?

Let's get a sense of perspective here: none of us are truly bad off in terms of working environment and there are a hell of a lot of people out there who are in comparison.

80 hour weeks make this first world problem feel a lot like working in the third world... – Dan Ray Aug 18 '11 at 12:35
Others being worse off doesn't make bad working conditions good. – Wipqozn Aug 18 '11 at 12:36
Of course we are not poor in a materialistic way. We are rather speaking of burnout problems and no time for family / social activities. – tomahawk Aug 18 '11 at 12:51
This is great. The OP is certainly not sitting in a puddle of human urine and faeces, shackled to a laptop by his ankles in an unlit 2m-by-2m stone room 20ft underground. – PreferenceBean Aug 18 '11 at 13:15
Atc: As software developers, we are some of the most skilled and educated people the world, and western societies essentially function because we are here. Don't sell yourself short; demand what you are worth. – Christopher Mahan Aug 18 '11 at 16:13

The culture for this varies wildly from place to place. I've been freelancing in London for 10 years, and I left my last perm place because there was a culture where people stayed late every night, and would sometimes come in at weekends, without overtime. It was ridiculous, but people did it, and just had no other life outside of the company.

I think that when surrounded by other people who do the same, people don't think any differently.

I've contracted at some places where they've had this late culture, and I've got some disapproving looks, but I'd stuck to my guns. I don't mind staying late from time to time when work demands it, but not just as a matter of course because a project manager is over promising things. It staggers me what some places get away with.


Recently, I moved jobs. I was working as a young developer, happy for having a full time job in a professional environment. I was working with big name clients, on large projects, with other good programmers. However some days I would start at two in the morning and leave at 7 in the evening. I would get paid basically nothing for this. I would miss going home to my girlfriend and child, and I would be tired when it came to the weekend, yet I felt it was my responsibility.

Only 2 months ago I moved to another company. Same set up, however now I am asked a couple of weeks in advance to do overtime, paid very well for it and requested not to over work myself. I've enjoyed a healthier and happier life outside of work now I work 9-5.30 every day, I can actually go home and have fun etc.

It depends on your outlook, some work to live, others live to work. If you don't enjoy it, and earn enough, don't do it. They can't dismiss you for it.


It is a good idea to demand better working conditions.

Unfortunately, management is rarely aware of the value of individuals working in their IT department.

Management always thinks that people are replaceable. This is not always true.

Another reason for the sad situation is that management don't always understand the value if individual contribution because they are not involved in the details. They'd know the PM and Web Designers, but not the DBA who is recovering the database.

Developers, or IT workers in general, should have a union.

However, until then, don't quit and don't make your management angry.

Show management your value instead. Maybe they would listen.

Unions don't distinguish between good and lazy workers. This seems to be a problem sometimes. Wouldn't it be enough to just not agree with bad working conditions when starting a job and keep this attitude when asked to do the extra work anyway. – tomahawk Aug 18 '11 at 11:00
If I ever see a union forming at my place of work, I'll start looking for a new job at once. – Mchl Aug 18 '11 at 11:07
"management is rarely aware of the value of individuals". But unions never are. Have you ever seen a collectively negiotated agreement that stated "... but Joe gets an extra $1000 bonus for his work on the Foo sprocket driver" ? – MSalters Aug 18 '11 at 13:16
A blanket damnation of management isn't helpful. I've had very good managers at the jobs where we were put on death marches to meet deadlines. Its not always all levels of management that are damning the project and developers. – Freiheit Aug 18 '11 at 13:50
Just a note: everybody's replaceable. – Leonardo Herrera Aug 18 '11 at 14:38

I think what you're asking is: Isn't it stupid to accept regular overtime? I don't think anyone denies that there's going to be times when you have to stay late or come in on a weekend... The problem arises when that becomes a regular pattern, as is often the case at many companies.

Part of the reason why this is predominant in our culture is due to the nature of a lot of programmers -- highly obsessive, and one dimensional (as in limited non-programming interests). Often young and without families to boot.

Google is the prototype here: Less than 1% of its employees are over 40, and they try to take away all the reasons you would have to leave the campus - from on-site meals to fitness centers/classes to shiny new laptops to dry-cleaning, etc...

So if they weren't spending 60 hours per week working at a startup, they'd spend 40 hours per week writing code for their employer, and another 20 per week doing something on the computer, whether that was contributing to open source or just chatting about programming on sites like these.

As for employers needing to "give in", for the most part it's a buyers market for talent right now so they don't need to. Just take a look at the stackoverflow classifieds, and see the amount of hoops some of these companies want you to jump through -- solve some puzzles, take a test, have a prolific github account, have X+ years in specific versions of technologies, make a custom page declaring your love for the company, etc...

They can do this because they'll still be flooded with resumes from people that can meet most or all of the qualifications...

IMO any time overtime is required hints at a bigger problem, and that problem usually gets ignored. There should never be a reason to work overtime for a company that you don't have a vested interest in (i.e. one that you own or have a stake in, not as a regular schmoe employee) – Wayne M Aug 18 '11 at 12:03
@WayneM: As a regular schmoe employee, you have a vested interest in the company. – PreferenceBean Aug 18 '11 at 13:18
Not really, it's (usually) just a paycheck. You don't have the same level of vested interest as a partner or co-owner (who directly benefits from the company's profit). As an employee, your only benefit is your paycheck and that stays relatively current regardless of the company's success, therefore there is no incentive to work extra as you won't see a benefit. There are always exceptions to that rule, but in six years of experience it's been my experience there is never a reason to go "above and beyond", as you personally won't see any benefit. – Wayne M Aug 18 '11 at 13:21
Wayne -- It's typical in a startup... A company may come to you and say if you can get them a certain feature in a certain amount of time, then they'll buy your product. If the company is bootstrapped or tight on cash, then you'll generally accept the terms in order to keep cash flow positive. The employee's vested interest would be having a paycheck that cleared. – red-dirt Aug 18 '11 at 13:24

I agree that programmers/developers should factor in the quality of the job and request good working conditions. If your job sucks, apply and get something better. Try getting your fellow employees to follow suit.

But unions as they typically work in the US are not the answer. Unions treat all workers as equal fungible commodities, while one programmer may be 100x more productive than the next guy. Take a teacher's union as an example. Your salary and job security as a teacher is based solely upon how many years you've worked at the job without committing any fire-able offense.

If its a union job; you can't negotiate a better salary, even if you are the super productive programmer who happily works 60+ hr weeks or the guy who's just doing the minimum and barely scrapping by. Everyone would get grouped into their appropriate group (based on seniority) and get paid the same.

Also the non-productive dead weight is much harder for management to get rid of in a union atmosphere; as there's extra bureaucracy. (Meaning that you know have to deal with them messing up your code for much longer and they have no incentive to get better at their job.)


Given that most of the software developers I know are big-L Libertarians who think of unions the way most of us think of child molesters, I don't see many programmer's unions popping up any time soon.

I've seen the whole spectrum. In the late '90s I worked for a bunch of workaholics; they were miserable people who were only happy in the office, so naturally they put in 60 hour weeks at a minimum and expected everyone else to as well. They also had a nasty habit of tying management bonuses to setting and beating aggressive schedules, meaning projects were always rush jobs - if it didn't crash the system on installation, it was good to ship. Miserable, miserable place to work.

Contrast that with my last job, where there was a serious effort to limit everyone to 40 hours/week. Schedules were mostly sane, projects were mostly properly staffed, and on the rare occasions where people did need to put in extra hours, they would pay those hours (depending on the contract).

I do see a change happening in the industry, at least in my neck of the woods. I won't speak for Silicon Valley.


If you are constantly working long hours without appropriate compensation, then I would suggest you re-evaluate your employment with the company. However, as a professional in this or any industry, you must recognize that there will be times where schedules get a little out of whack from internal or external influences. In those times, we need to step up and get the job done. If we expect the company to stand by us and take care of us, we need to do the same for the company.


Your scenario goes for nearly anyone not just programmers/developers.

Some people are good salespeople and will be able to convince others to work in less-than-ideal (or downright bad) conditions with a promise. The problem is not all bad situations end in disaster (but perhaps the majority of situations do) and because such scenarios pop up with regularity it can be very hard to keep saying no. If you only get bad offers you are going to have to settle eventually. Worse, being known for repeatedly saying no will cause you to get a reputation for having unacceptably high standards which can mean you are no longer in a position to accept the good offers.


This is up to you. If you company get for you a lot of advantage, not only money. Afterwards you have a chance to developing your career work. And if you just think working is a temporary, you have a lot of fun things outside. So you don't need to work overtime for getting a paid money. To me, I will try to work hard on working time, and try to avoid working overtime. And some cases, if company have many work need to finish on time, I will work on weekend or even overtime. To be honest, I don't like overtime and working in weekend days. IMHO...


there are many options to get a new job or get self-employed

Not everyone has better options, only professional developers have.

Even professional developers don't have better options, if they don't demand them. – tomahawk Aug 18 '11 at 9:53
If you're earn your living (or strive to) as a developer then by definition you're a professional developer. – Mchl Aug 18 '11 at 11:06

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