Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Did your boss thank you for coding yourself to death? (skorks.com)
139 points by yason on May 4, 2010 | hide | past | favorite | 118 comments


"He is dead, too much hard living!". Too much hard coding would be more like it.

Wow, those ones and zeros must have really been heavy!

Every time I see landscapers, construction workers, farmers, nurses aides, or anyone in one of my customers' factories or warehouses, I thank my lucky stars that I was born when I was, I had an aptitude and interest in programming, and I found the perfect career for me.

Sure I work hard, but my hard work is hardly the same as their hard work.

I've spent a career on my ass, building applications that hopefully make the lives of those who do physical work just a little easier.

My last career was a cook. After a 6 hour shift in a 110 degree kitchen serving 2,000 meals, a 12 hour stint in an air conditioned office in my Aeron chair seems like a vacation. Oh, and did I mention I earn more in a month than I did in a year as a cook?

I never expect my boss to thank me for anything. My boss (me) gives me the best bonus I could ever ask for. I get to do it all over again tomorrow.


I've been a programmer for 6 years, but I have also done quite a few labor intensive jobs.

For me each has it's ups and downs. If you are sitting in a chair all day you are quite likely to develop postural and muscular problems, as well as being at a higher risk of obesity and other exercise related health issues.

Working outside generally means a higher risk of (skin) cancer, but your body is doing what it evolved to do: carrying your consciousness around while you manipulate the physical world.

Personally I find I have to go to great lengths at the gym to make my body feel like it is getting the exercise it requires when I'm coding, whereas when I'm working in a more physical job I generally feel very physically content at the end of the day... But, as always, to each their own.


I hate to agree with you but...

Wait, no, I don't hate to agree with you. You're absolutely right. "Died from too much hard coding"? Yeah right.

Coding is hard intellectual work. And, as you point out, if you're not happy with the trade-offs at work, you can always start your own business. It's really an awesome situation to be in, compared to what we could have been doing a hundred years ago.

Everything's amazing but nobody's happy: http://www.youtube.com/watch?v=8r1CZTLk-Gk

PS: I doubt the coding is what killed "John".


I have a friend, he writes software for NASA spacecraft. His job is not inherently physically demanding, but many of those who know him worry that he will "code himself to death" eventually. When crunch time comes, he buries himself in his work. Doesn't sleep, forgets to eat, etc., for weeks on end. He's ended up in the hospital multiple times. So, that's what I think of when I read the story of "John".

This has nothing to do with "not [being] happy with the tradeoffs". These guys are perfectly happy acting like this; being the hero. But it's absolutely not something I'm going to encourage my friend to do to himself.


Isn't this caused by his personality and drive and not the fact that he writes software for a big, "important" name? If he wasn't writing software, it seems like he would probably sell, paint, drive (or any other "career") himself to death, right? I wouldn't encourage it either, but it's probably just who he is.

It seems like these type of careers just draw that type of driven person. This is just a guess, as I draw from my personal experience.


Sure, but what I think the article is trying to say is that programming is one of these careers that encourages people to spend _way_ too much time doing it, to the detriment of the rest of their lives; and, furthermore, that we do ourselves and our colleagues no favor by engaging in hero worship towards the most egregious examples of this.

Simply because we can't change other professions, doesn't mean we can't improve our own. And just because there are some obsessive individuals who "work themselves to death" doesn't mean the rest of us need to try to match them (or encourage them).


And in fact, the fact that you can spend as much time as you like programming, without really needing a break due to any physical stresses inherent in the work, allows these people to abuse themselves both harder and longer than they could in any other field.


If he writes software for manned spacecraft I think that would be terribly stressful: knowing that lives depend on whether or not there are any bugs in your code... I think if I wrote software like that I would be very likely to obsess over it.

And please nobody suggest TDD. TDD has its place but it's not a holy grail and it only tests the tests you think to write. Even if your code coverage is 100% you have certainly not tested every possible input and path if the software is at all complex.


Any busdriver or airliner pilot is responsible for more people on a daily basis.


You do know that Engineers and Software Developers help build buses and airplanes too, right? Those guys are responsible for every single flight on that aircraft. Not only for all the people that fly on them, but also the airline investment.

If you think software developers (or bus drivers, or airline pilots) can get paranoid, you should see what happens before test flights on airplanes.


Good point. They aren't responsible for billions of dollars going poof, though (especially the bus driver).

A lot of people put the value of a life at around the expected work society gets from it - and then try to argue that that's not what they really think, obviously, because doing so would be immoral.


A single A380 (ok, that's a big one, but why not) is worth about $300 million. Not quite billions, but it's still more dough than most if not all of us will see in a lifetime.


Other problem is though, A380's cost a lot but probably get built at a decent rate. If someone had say caused a software bug in say new horizons, that could mean no pluto mission for a decade if not longer. So no loss of life but certainly a big loss.


As far as I know he's only been involved with unmanned projects.


I used to be able to do that when I was young, it was great. Now, it is much harder to block everything else out, I would be so much more productive if I could do that.

Of course, you need a break every now and again, and not eating/exercising is going to catch up with you, but I am guessing this guy is quite young.


He's in his thirties. But I don't think "productivity" to the point of putting yourself in the hospital is good for you at any age.


I had a pretty pointed argument with someone here not that long ago about never having 'worked hard', my position was that for the most part none of us have ever worked hard.

Talk to someone building an asphalt road in the summer about hard work, or a farmer during a bad year, an ambulance driver or a police man.

Hard work means that your body is going to fail you long before it normally would have, hard work means that your hands have calluses.

We're bloody lucky that brains are rewarded as much as they are, I certainly wouldn't make it for a long time working in a mine or a field (the two options that you had roughly where I'm living not that long ago).

Sure, working under pressure can be tough, and demanding customers can drive you to the brink of insanity. But only if you let it.

You've been a cook, I worked in a mail room at the ripe old age of 17, scrawny little kid trying to drag a mailbag twice my weight. I didn't give up but I can tell you I came close those first weeks. It certainly helped me to appreciate my good fortune later in life.


My brother's a paramedic. From what I can gather, 50% of the job is sheer boredom... Sitting around waiting for something to happen. 45% of it being a taxi driver for people who don't really need an ambulance. 5% of it is being calm as you deal with blood and puke and failing bodies and screaming relatives. And a tiny bit of it is ignoring their safety training and climbing down ravines or crawling in to burning upturned cars.

He gets paid the big bucks for the 5%. Occasionally i'll ask how his day was and i'll get a burning car kinda story and then he'll ask how my day was.

"I'm an overpaid typist."


Firemen, policemen, same thing.

Those jobs take a special kind of mentality to be able to do them well.


Sedentary work is bad for your health too, if taken to extremes. Lack of exercise, long hours sitting in front of your machine, stress, bad diet... that's not going to be good for your blood pressure.


Keep in mind, however, that every labor, whether intellectual or physical, exacts a toll on our bodies. Read jwz's stories of being nearly incapacitated by injuries brought on by long days at the keyboard with poor posture.

I do agree, however, that many of us are lucky to have avoided the factory life. Read _Out of This Furnace_ sometime to appreciate the hell many immigrants lived through.


On the other hand, idleness can be more exacting than labour. The health of unemployed people is worse than that of workers.


Out of curiosity, do you have a citation for that? I'd be interested in reading about it.


I heard the claim once in an interview with a German social-democrat who had to justify why making the labour market more flexible (i.e. removing some unemployment benefits in that case (see Hartz IV)) was in common people's interest after all. The guy cited a statistic that found long-term unemployed people comparable in misery to cancer patients. Long-term unemployment was (and still is) a big problem in Germany.

However, a quick search on the internet for "health unemployed" (without the quotes), turns up articles like http://www.mja.com.au/public/issues/feb16/creed/creed.html

I also heard of other studies that found that top managers, despite having lots of stress on the job, are still more content and less prone to stress-related ills, than people who get their stress from being low on the social pecking order. (Perhaps somebody can find that study?)


Huh, how does comparing the current imperfect situation with an even worse situation make the current situation better? One might just as well say stuff like "You're LUCKY to have [insert contemporary OS]! Back in the day we used MS-DOS and didn't have mice so count your lucky stars!" when someone complains about their OS. A flaw is a flaw regardless of how much worse things used to be. Sure, be grateful for what you have (I am, just for the record), but don't rag on people who want to make things even better.


First let me say that I agree with you on one thing: there are probably thousands of jobs that I feel fortunate to not have to do every day. And many of those are physically difficult professions that are taxing on the body. I also feel privileged to work in a profession where I get to do something that I enjoy, and I get paid for it.

However, the situation you describe for yourself is not the same situation discussed in the article. You are making your own decision to work how ever many hours a day you work. And you are reaping the rewards from that work directly (I'm assuming you are self-employed, since you said you are your own boss). You are not being asked to work 80 hour weeks by someone else, and then not getting compensated even in the form of gratitude from your employer for going the extra mile to get something done for the company. I (and multiple friends of mine) have been in that situation before, and it's no picnic. When you are expected to deliver on deadlines that are beyond completely unrealistic, and are pressured on every side to "just get it done" by people who know absolutely nothing about developing software, and are reprimanded for coming in late after working long hours the night before it can be extremely hazardous to your health. Stress can kill you, and the body does need sleep. Long hours day after day for weeks on end catches up with you, and yes it can cause serious health problems. BTW, the fact that you are sitting on your backside the whole time actually makes the situation worse, not better.

Happily, it has been a long time since I've been in that situation, and I intend to continue to do everything I can to keep it that way.


I'd like to point out a contrarian view of conditions at some software shops that employ very wet-behind-the-ears programmers.

I have worked in a union carpentry shop, as well as a Swift and Company kill floor.

I also worked for 7 years as a programmer, 5 years working for others and 2 for myself -- in a part of the country where the market for that sort of work, and the pay, is just terrible.

The carpentry job was better than programming as an employee, by far. At least at the places I worked.

The prefab construction job was often extremely physical. It was often dangerous. Every day, I walked into work and there was a backlog of fully finished half-ton pre-fab walls that absolutely had to be moved out yesterday, all different sizes and bizarre shapes. My job was to use some combination of forklifts, hoists, bundles of styrofoam, truck strap, plywood and temporary structures to move, stack and pack the walls into the smallest space I could, and then load them onto a semi trailer with the then-largest industrial forklift that Clark made. Straps broke, racks turned over, thousand-pound walls sometimes fell or swung or crumbled a little too near for comfort, and other people didn't always work safe around you.

You know why it was better than programming? Not because of the overtime pay or the view, although both were superior.

It was better because reality asserted itself more often.

If your boss thinks the hoist can lift 2X more than it actually can, that situation will resolve itself. Fast.

When things go wrong, they go wrong fast and it's easy to assign blame. If your coworkers think that they can lift a 24-foot-long wall by attaching a hook to a single 2x8 stud, they'll find out quickly that they should listen to the people who have seen it done.

We never ended up working like crack-addled beavers for 4 months straight because a team of yes-men convinced everyone that natural laws don't apply to us. Sometimes the company took on more work than it could actually handle. It became obvious very quickly, after a matter of only a few weeks. It didn't stagnate, dying horribly over the course of years as the backlog of unprofitable work dragged out into the infinite future.

The existence of physical limitations made customers more reasonable; no one ever tried to order a 5-story Ruby Tuesdays for the price of a lemonade stand. The equivalent of that happened all the time at the software shops I worked for; I saw them take on jobs that called for the tracking and reporting of complex resource flows, stuff that would be ambitious for even a YC team with 4 months to kill, but the devs assigned were pure designers who had managed to learn just enough vbscript to provide some meaningful interaction on the website templates they sliced out of Photoshop.

I know that there are people out there whose experience has been pretty different. Most of them probably react by moving to a better market, and that certainly seems a reasonable solution, although it wasn't mine.

But to dismiss the reality of crappy programming jobs with a "wow, heavy ones and zeros" -- uh-uh. I literally enjoyed the kill floor better than one of my programming jobs.

There are people out there who will abuse any humble, hardworking, inexperienced employees they have, and browbeat them into truly ridiculous efforts. I remember being 21 years old, being told that a project slated for delivery in 2 months had to be done for a demo to the execs of a chain of hospitals at the end of the week. I worked with zero sleep to get it done, because it was my project.

At the end of the week, my boss slipped and cut his head playing with his kids in the McTreehouseMansion behind his McMansion. So on no sleep, I had to train all of these people in on the new system, people who were executives at our biggest account.

I have public speaking experience; I put on a suit and did it. It was a big success.

I didn't get overtime or a bonus, and I would by far have rather spent that week gutting hogs for a mere 10 hours a day and going home to relax afterwards.


The "hard living" comment seems to imply drug use, a common cause of premature cardiac death. There was also mention of "coke" at the end of the OP, although it's ambiguous which unhealthy substance (the sugary one, or the deadly one?) was being described.

I'd imagine that cocaine use is relatively rare in technology, but it occurs in finance quite a bit. That's the dirty not-so-secret of the long hours in investment banking. I also think it's safe to assume that cocaine use is a lot more dangerous than long coding binges.


I'd argue the sweet stuff can be quite dangerous as well when consumed in large quantities. There's the directly dangerous effect (weight gain, diabetes) and the secondarily dangerous effect (weight gain, low energy resulting in low self-confidence which triggers depression).


Coca-cola is definitely dangerous, and the temptation to power my way through coding problems with large amounts of Coke, which I could not resist for longer than a week, put me on the path of severe health problems, due not entirely to weight gain (since most Coke-based calories would substitute for other calories) but also from the practice of having a short term fix to any problems involving to consumption of sugar, not to mention the cycle of being tired -> drinking Coke -> being unable to sleep -> being tired the next day. After quitting (my job), I fell to a recreational level of Coke consumption, and my body is thanking me for it to this day. The scary question is whether I can maintain this through another development job...


I'd assume the same as a couple paragraphs earlier: "chugging coke and eating pizza at midnight".


Don't be a fucking douche.


"Programmers love to work long hours! There I said it, c'mon admit it, your job/boss doesn't make you do it, we do it to ourselves."

I stopped reading. We don't. In fact a job that only required 30hr/w would be great. Even if I took a pay cut.


This. I love what I do, but I wouldn't mind doing less of it, especially when I'm doing it for someone else (working on someone else's dream instead of my own). I love my job but I love other stuff more, like spending time with my family.


There seems to be two types of coders (or maybe even more!). Those with their own families, and those without. If you have a family, you have found something more important. I don't, so I will spend sometime with friends and family, but most of my time coding. I could go out every night, or watch tv every night, or read a book, but I prefer to create something.


Sorry, no. Some of us prefer having other hobbies even in the absence of a family. And your comment that you "prefer to create something" is offensive and condescending considering the diversity of activities that other people engage in outside of work.


How is that offensive and condescending?

He derives enjoyment from creating while maybe you choose to do other things for enjoyment. To each his own - isn't that your point?


There are other forms of creation than coding. The choices are not just code more or watch TV, as he seems to suggest.


Hey, yeah didn't mean to imply that. I mean, you could paint, or write, which are all very worthy pursuits. I mean, I also bike ride every now and again, do a bit of downhill. But still spend most of my time (free or at work) coding.


I can appreciate your strong desire to continue to create and build things in your spare time, I share that same passion, I just don't feel it as strongly when I'm building something for someone else. I love working on my little side project, and I try to slip in as much time working on it at home as I can, but I'm not a stay-late-at-work kind of guy, because the stuff I'm working on at work isn't as exciting to me as spending time with my family or working on my own projects. Than again I also enjoy several other hobbies, so it's all a balancing act :-)


I used to work full-time and now I work part-time, from the local standard 37.5 hours a week to 27 hours a week.

My boss said he'd be happy to at least have me doing something in the company than nothing at all. Doing part-time is worth asking.

I haven't noticed any loss of productivity compared to others. I just get to shuffle my time better: I can do other chores on those days or hours when I wouldn't get anything done anyway, and only work when I have the drive.


My friend who is far more organized than me, logged his programming hours every day. His conclusion is that you are really productive max 6 hours a day and you fill the rest of the day with other work. Of course there are days where you can do development 12 hours a day, but it is usually not the case.


I also log my productive time and find this to be the case as well. Actually, I find 4.5 hours (6 x 45 minute blocks) a day to be the sweet spot but when you factor in breaks, it adds up to 6.


Yes, for the planning I was involved in where we took the tasks planned to the hours, 4 hours a day of productive coding was the most matching value.


... this is the truth that many programmers wouldn't admit ...


He goes on to say the exact opposite: you're not doing this for yourself, you're doing it for "the man".

When trying something new or reading, it's good to keep going at least for a short while before giving up, rather than turning away the very first time you see something unpleasant.


I do... hell, in the worst case I can think of I did a 10 hour day, came home, coded my own project all night, went to work for another 8 hours or so of coding then came home and did a little more code before sleeping.

This sounds stupid on reflection, but I really wanted to solve all of those problems at the time, and I nailed them all with a low error rate. :)


Putting in a few long days isn't what the author is talking about. It's doable to be really productive by putting in a ton of hours in a short span of time, like, for a couple of days. But try doing this for weeks or months at a time. I put up with this at my last job for a while, but my life became a total grind. I would literally wake up in the morning while my wife was sleeping, work all day, come home and my wife was already asleep for the night. Sometimes I wouldn't talk to her for days in a row. This is not sustainable, either personally or professionally, and is what the author is cautioning against.


We do it because we're often atypically obsessed with doing it right.


Programmers working long hours (regularly) aren't doing it right. If they were doing it right, they wouldn't need the extra hours.


I don't agree. It's my experience that no mater how smart I work (or how long) there is always more work to be done. Lots more. Granted, I'm an in-house developer so YMMV if you work for a software company.


Yes, that's pretty much right. I'm doing in-house stuff and my bug list stays at around 50 items all the time. The lack of critical issues is just an indicator that I can be given new tasks.

I do however stay late sometimes to finish a particular task, because it's easier than starting again the next day... but then again I'll take a longer lunch or come in later instead another day.


I'd kill for 50 open tickets. ;-p


Agree or not, I have to say that you're quite simply wrong.

There's always more work to be done as long as the company you're working for exists. How you pace it is the problem -- burnout hours will prevent you from getting on top of the bug race.


> If they were doing it right, they wouldn't need the extra hours.

is the part I don't agree with. Sorry, didn't make that clear. Doing It Right (tm) has little, in my experience, with the volume of work that exists.


You should read the rest of the article then. You'll end up agreeing with him in the end, because he concludes that smart programmers do NOT like working long hours.


I did that with my last job. I said I only wanted to work 3 days a week in the office, and have my salary reduced by 40%. Worked out great. Seriously, talk to your boss, they may be up for it.


80% of 40h/week (=32h/week) seems to be possible where I work.


We do it, because if we don't, some bored kid in a basement somewhere will do it for the fun of it.


> So, lawyer vs programmer, which one is the chump?

The paralegal working 80 hours a week is a chump, no doubt. Many lawyers want money and status, and get disillusioned once they realize not everybody is going to make partner.

Most of them didn't enjoy law school much either. So they invest most of their adult waking hours in the law, only to realize at their 32nd birthday that they might not make it.

So I think they outchump us.


Hmm... I think not being a chump requires the ability to stop and reflect on the situation.

We are in an industry obsessed with "ninjas" and "rockstars". The same author who wrote this article bashing long hours has articles about how grades and good knowledge of math are all-important on his site. But these long hours and near-perfect grades really are just a way to compete.

So we are in this cutthroat competition. Understanding math you are unlikely to use in real work is a status marker. So are grades. Are they just that? No, just like a shiny BMW is also a good car. But competition in any well-paid career eventually becomes unsustainable (or close to it). Doctors and lawyers are already there, but their fields had more time to get to that point.


"But these long hours and near-perfect grades really are just a way to compete."

The only thing that the long hours are competing for is favor from managers who don't have the faintest idea as to what a competent programmer does.

I've said it before, but it bears repeating due to context -- the best managers would get rid of the workaholics, and yet most managers reward them.


My own pet theory is that bugs are far more likely to be created late at night than at any other time.


There's probably enough bad code out there, and plenty of sweatshops, so the data's already there for the analyzing :)

The catch is, who's going to do it? The ones who are creating the bugs are too busy creating the bugs, and the folks who just get their job done and go on with their lives probably don't care. :)


Unless its directly in your own interests, it's actually irrational to be working out of hours. If you're being paid for the extra work or you're the company owner or a major shareholder then it does make sense, but otherwise there's little benefit to be had. There might be other special circumstances, such as if you're working for a charitable cause where part of the benefit is in trying to improve the wider society, but in most for profit businesses this doesn't apply.


Perhaps if you'd liked your work?


If you like your work enough to put in 80 hours a week on it please ensure that the additional 40 hours reward you in some equitable way.

If you want to work the extra 40 hours for free you can do it for a charity (or your own startup!) rather than your for-profit employer.


Why so much respect for charities? They are often hopelessly inefficient. If somebody wants to work extra for their employer, let them do it.


It's the opportunity cost. When you provide an employer with unpaid labor they profit at the expense of your family/hobby/startup/charity/mental health.

Your extra time could be devoted to the benefit of people, projects, or causes dearer than your employer's pockets.


> "When you provide an employer with unpaid labor..."

Programming jobs don't pay overtime?! With an extra 40 hrs/wk, regardless of the job, the employee should get a sizable compensation, right?


Corporate programmers in the US are usually salaried. Salaried programmers are exempt from overtime thanks to the Department of Labor: http://www.dol.gov/whd/regs/compliance/fairpay/fs17e_compute...


If I work them them, I'd rather the company fire the one who wants to routinely work 80 hours a week. It's not helpful -- and I don't want to waste my time dealing with their code.


If people want to work long hours then fine, I've no objections to them doing that. But in my experience most people - outside of a very small number of vocational jobs such as farming or being a doctor - don't want to work long hours and have other interests in their lives that they wish to attend to.


In many companies, your career will stagnate if you don't put in at least 50 hours per week. You might even get fired. Of course, no one will express the specific reason, but your reputation will fall and eventually you'll get hosed.

Also, most large companies are horrible about looking out for employees' advancement and education, so people who want any of that have to do it on their own time.


Working long hours is counterproductive. If you find yourself doing it, it's probably an indication there is something fundamentally wrong with your process.

At my current job we have fully adopted agile programming and really respect the tenant that a developer should work no more (or less) than 40 hours a week (we also assume each day has about 2 hours in overhead, netting 6 hours of actual work time). It makes a huge difference. Leaving every day at 5 o'clock enhances everyone's mood, energy levels, ability to think, and the end result is we are far more productive during those 8 hours. Compared to when I worked at MS and 10 hour days were "normal" and 12 hour days were very common, I actually get a lot more done in an efficient, packed 8 hour day than a resentful, stressed out 12 hour day.


The problem with "everyone leaves at 5" is that everyone's forced to come in at 8 or 9. Some people work differently. I'd take a 50-60 hour work week with flexible hours (and ability to learn new technologies, improve existing infrastructure and initiate "venture" projects) over a 45 hour work week with fixed hours and a strict adherence to a development methodology. Perhaps that's why I am drawn almost solely to technology organizations and could never see myself working anywhere else (e.g., consulting or internal systems development).


True, I hear you. I can't speak for everybody. But I still think there is truth that efficient, sustainable hours can be more productive than long, stressful hours.


> But I still think there is truth that efficient, sustainable hours can be more productive than long, stressful hours.

I agree here (when I find myself working 60+ hours a week outside of rare crunch time, I am usually doing something wrong e.g., giving bad estimates or losing focus), but forcing people to work "efficient hours" (you must be in the office at 9, vs. being allowed to come in at 11 and stay until 8) is micro management (loss of autonomy).

Not being allowed to do (even non-user facing e.g., infrastructure) projects without permission from project management, planning meetings and daily status reports is another example of micro management. Perhaps this isn't a part of agile manifesto (just like concentration camps aren't a part of the communist manifesto), but that aspect is certainly a feature of almost all implementations of uppercase-A agile (scrum, XP, etc...). I'm all for frequent releases, continuous integration (and possibly continuous deployment), iterative development (at least for product features) et al, but you don't need a full blown "Agile" process (planning meetings, daily stand-ups, index cards, bringing in training consultants, hiring "scrum masters", etc...) for that.

Work life balance is important. It's also very important to work smartly and use labour saving techniques (adequate hardware, tools/automation). Performance requires maintenance and I make sure to allocate down time (time with friends and relatives, concerts, non-technical reading, trips/vacations, exercise, etc...) to myself on a regular basis.

However, the most important aspects of a job (to me) are autonomy, great colleagues and challenging work (exposure to new concepts and technologies, which frequently have a learning curve). Given a choice between working a 1-2 hours more and giving up any one of these aspects, I'd gladly accept a few hours more of work.


I don't include working 8-5 in my definition of "efficient". Although I do think working the same hours as the rest of your team has benefits too good to ignore. I mean having a life where you can still exercise, eat well, enjoy some hobbies, spend time with friends, etc. Means that when I sit down to work, I'm so much more focused and willing that I ultimately get more work done.

I agree following a process to the letter without really thinking about what it's doing for you is bad. If you feel agile is not allowing you to pursue other needed things then that's bad. Take what works for you from a process and leave the rest behind.


yeah it is one of the principles in the agile manifesto. http://agilemanifesto.org/principles.html "Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely."


Are programmers freaking lemmings or something?

We're people, damnit. We choose to work overtime for various reasons. Some of which include: putting dinner on the table, keeping our jobs, getting our foot in the door, and so forth.

In my experience there are only 3 cases for working overtime:

1. You're a new, mediocre, or terrible programmer. You've been given three months to deliver a web site using a framework that practically holds your hand and wipes your ass and yet you still need more time. Everything seems hard. There's nothing you can do but brute-force your way to the finish line: stay up late and work that overtime to get it done and make up for all the time wasted googling, procrastinating, and debugging with a shotgun.

2. The suits messed up. They set a deadline without consulting you. They took on a contract with an incredibly short deadline because the business needs the money. They forgot to plan ahead for the big industry conference and they need something to show off to the other suits that will be there.

3. You've entered a culture of slavery. You just got your foot in the door at a big company. Unfortunately things have been sliding downhill and they never told you just how bad it has gotten during the interview process. Some people who stick to their guns will run for the hills, but you've got bigger responsibilities and cannot afford to take another month off job-searching. If you don't join in, they'll just make you look bad and the suits will fire you.

For me it's simple: if I can't get it done in 8 hours a day, someone didn't consult me for an estimate and its their fault. I may choose to work the overtime to get it done, but it's not something I personally tolerate. I value my life more than my work and my free time is important. But sometimes you have to do what you have to do to put a roof over your family's head and dinner on the table.

It's not as stupid as, "programmers love working overtime because they're passionate people!"

I'm passionate about what I do. But I'm passionate about life. Programming is a part of that. Slaving away to make some other dude rich isn't.


There seem to be at least two more cases that I've experienced that aren't on your list:

1. You're learning something new. It will take you X hours of practice to learn it, so if you want to get to the good part and be able to start building cool things with it, might as well get X out of the way.

2. You've got this burning idea for how to do something cool, and if you rest it'll leak out of your brain. Better get it done fast before the inspiration dries up.

There was a period a couple months back where I was pulling 12 hour days and working weekends for about 3 weeks. I had something that needed to be finished, and it was complicated enough that I feared that if I set it aside for anything, I wouldn't be able to load the problem back into my head. So I just did it, spending whatever time it took to get it done.

And then I spent a week or two working 6-7 hour days. I don't keep score, and I don't think my boss does either. From his POV, the project got done, and that's a win for him. From my POV, I didn't have much planned that month anyway, and my employer has been remarkably flexible when I need to take long periods of time off work, or need to leave early and work a shortened day, or just want to come in at 1 and leave at 10.

I won't sacrifice things that are important to me for my job - if an old friend is coming into town and I've got dinner plans with them, I'm not willing to be tied down to my desk. But if it's just a matter of writing some more code or blowing a few more hours on Reddit/HackerNews, I don't really mind writing the code so much.


4. You own shares in an exciting young company. You own your overtime, not the other way around.


Really? Let's do the math:

Let's be very generous, you own 2% of the company, so you are entitled to 2% of the company's profits. Let's be generous and assume you contribute 20% of the company's productivity. Your influence on your 2% is equity is 20% x 2% = 0.4%. For this extra 0.4% compensation, you work 50% more hours.

50% divided by 0.4% is about 125x. So you are on the losing end of this deal by a ratio of 125 to 1. Your "screwed factor" is 125.

Tweak the variables to find out your screwed factor.


I remember thinking in terms my "screwed factor" and how I could make the most money with the least work back when I was in college and my first post-college job.

I found that it just wasn't worth it. I wasted more energy on micro-optimizing my time than I saved, and ended up being less successful. Plus it always just made me feel depressed, enervated, and vaguely guilty.

I'm working for The Man now, a large tech corporation. My stock options are a miniscule fraction of the company's capitalization. My salary is decent, but probably less than I could earn elsewhere. I've already made the company more money than I'm likely to earn in my lifetime, and will likely see at most a few thousand of that in bonuses. I harbor no illusions about advancement or striking it rich through climbing the corporate ladder.

And y'know what? I don't care. I'm happy now. I'm doing stuff that I'd want to be doing even if I were financially independent. Maybe that makes me screwed, but it seems to be working out fairly well for me so far.

I find that it's worth figuring out the big things, and then not sweating the small stuff. If you have a great marketable technologically-feasible idea, go found a startup and do that. If you don't, join a company where you can feel good about however many hours you spend there. Don't sacrifice things you really care about for work, but don't keep score either.


I'm not sure who downvoted you, because you made a good point.

Anyway, I think it's a matter of different strokes for different folks. When I started working post college, I worked a lot of hours, because everything I did was hard. Now I've learned that a "work-life" balance keeps me the happiest. I'm a much better engineer, so I'm more efficient in these 40 hours than I used to be in 60-80 hours. The key has been--when at work, always be productive. When at home, do not think about work.

It helps that I now work at a mid-size company that encourages exactly this. :-)

Now different strokes for different folks--a very ambitious person should probably work more than 40 hours.


If my calculation is wildly off base, please let me know why, I would appreciate it.


Even assuming that this "screwed factor" is something meaningful, you miscalculated it. I think you're trying to find (percentage increase in work over normal hours/percentage increase in pay over normal pay).

If your pay is just a percentage of a company's profits, the amount of equity you hold has no impact on this number. If you working 50% more hours generates 10% more profits (or whatever) for the company, you get 10% more pay for 50% more work, so the screwed factor is 5.

Again, this is assuming that the screwed factor is meaningful in the context of a startup, and it isn't. First of all, the different possible outcomes for an early employee of a small startup can mostly be boiled down to two, maybe three: the startup IPOs and you get rich, it gets sold and you get well-compensated, it fails and you get nothing. Treating your income as a very smooth function of the hours you work is misguided in this kind of scenario.

Second, contributing to a culture of working really hard on the startup (by working overtime) might be more important than the work you actually do in your overtime. Startup employees don't work in a vacuum.


Appreciate it. Can't really understand you right now, running a high fever, but I'll check back later.


This is late and nobody will see this, but what the heck...

You are wrong for two reasons: 1. If you want more than 2%, than you need to start the company yourself. The only way anyone can over come your screwed factor is if they are a founder.

2. 2% of a successful company should make you relatively wealthy, thus negating your screwed factor.


Thank you to everyone who has worked hard either as a colleague or by building any of the products that make me happy. I'm genuinely grateful to all of you, from the folks at HP in the 70s who made wonderful calculators (my first exposure to great technology) up through today where Apple, Dropbox, Google, and many others are a large part of my daily life. Your hard work has made things that changed the course of history, pleased millions of users, and affected everyone on the planet in some way. Keep up the good work.


"Well, unless that same manager is right there with you, entertaining you with amusing anecdotes at 2 am, his words are worthless."

His presence at the office at 2 am wouldn't change this fact either. Staying late oneself is one of the ways to pressure ones subordinates into long hours.


My company thanked me for working overtime on a project. Mind you, we worked 6-7 days a week for several months and got a 3 hour canoe trip. Hey, whatever, at least someone, somewhere recognized it.


That sounds like they abused your monkey-brain's inability to measure the value of your time and that canoe trip. In short, that would almost make me more pissed off than no reward. No reward at all is cheap, a relative-pittance of an award is cheap and duplicitous.

The next time they ask you to work an extra 50% for a few months, don't. Instead work your normal hours and give them a banana; that would only be fair.


I think you read too much into it. It is obvious both parties realize canoe trip is not a compensation for work, but a mere token of recognition. I.e. "although we can't afford/not willing to compensate it we are aware of the extra work you put in".

Did execs got extra for themselves out of it? Maybe, maybe not. Without knowing the specifics and the situation of the company it is meaningless to speculate. Is it "fair"? Probably not. But then, in the military there were thousands of people who had to risk their lives and got just a shitty medal out of it - not even a canoe trip. Life isn't about fairness, but I think even a token recognition is better than the other most likely outcome - no recognition of your effort.


At least in the military you're serving a higher purpose than 'maximizing shareholder value.' Assuming, of course, that you're not employed by Xe.


So you got a 3 hour canoe trip, and the execs/partners in your company received gigantic bonuses, right? Had you worked five days a week for several months you would have had dozens of opportunities to take that same canoe trip without working yourself to the bone.


That's all it took for you to sacrifice your life...? Wow... Better take a good look in the mirror, a lifetime passed will be here before you know it.


While many people here may disagree with this; this is very real in the Philippines. Maybe in your country, you are compensated for your efforts. But here, when you are working you never feel you are compensated enough. Seriously, the basic salary here isn't enough to raise a family. It isn't even enough to buy yourself a decent and healthy meal daily.

That is why many programmers here, code themselves to death here. I have many friends who are very unhealthy because they have to work 2 or 3 jobs at the same time. Coffee and cigarettes seem to make them think faster (BTW, I haven't had a cigarette in over a month, so yay for me) or probably they do not have enough time for other pleasures aside from these.

I myself used to work 9.6 hours (that's with no overtime) from Mondays to Fridays. When I got home I work an extra 6 hours on the internet. On weekends, I work at least 8 hours. And I still live with my mom because I still can't afford to live alone and have an internet connection.

Working your mind off I think is as hard ass working physically. At least my brother, who is a nurse can sleep soundly at night without thinking about solving anything. He can rest his mind and his body. I on the other cannot rest my mind and therefore it is impossible for me to rest my body.

I love to code that is why I do what I do. But sometimes, posts like these come up from time to time. Also, I think this is more of a problem with the entire system here.

FYI: Nurses here are paid dirt shit. Not even above the minimum wage: about 240PHP a day and a Big Mac is about 150PHP. They are paid less than the floor cleaners in the hospital and the hospital treats them like shit. I can easily make 3 to 4 times from what he gets per month. He chose this career because there is an opportunity for him to go to another country where he gets paid what he deserves. He is really good at his job and he has a passion for it. Too bad the hospitals treat their nurses like disposable cups.


Oh I didn't know that was the case. I grew up and graduated in the Philippines with a Computer Science degree, but didn't manage to experience work there. Most of my friends work in HP, Canon and other multi-nationals, and entry-level work is paid dirt-cheap. Although it scales up considerably as you gain experience, though I've heard that it doesn't scale and pay as well as someone on the IT management track, which sucks. Maybe that is also the case in Cebu? I'm only familiar with Manila.

Also, I've always had the impression that living with your mom does not carry the same stigma as here in the US. The only time people release their shackles from their parents is when they get married, even that doesn't occur quite often too.

Why are you working over-time in the weekends anyway? Is it related to your Monday-to-Friday job?


I used to work an American company it started to pay well but then the US economy got hit a few years ago.

Working on the weekends is not related on the day job. I do other stuff online to make extra money. It's funny, now that I have thought of it, I have been doing sidejobs longer than my dayjob. I had sidejobs since at the 2nd year of college.

Also, I forgot to post that I am shifting careers. Now, I code on my free time - for fun! I now work for a Norwegian surveying company. I spend a lot of time in a ship inside the survey room. Still computer related but I with less hours :D and hopefully bigger pay.


Yeah. I sort of took a quick glance at your past comments and found that, just forgot to update. That sounds like an awesome job! I just hope you don't get to pass around the Horn of Africa that much (knocks on wood).


I started a new job a couple months ago after having worked double time for months at the last job. I tend to set tough/arbitrary deadlines for myself and then struggle to meet them. I throw myself into every job like its a startup and get very into it. I have a tendency to over-work. My new boss is aware of this. I get yelled at for working until 3AM. I am told to focus on a healthy balance. Everyone is encouraged to hit the office gym. I do so most days at 4PM, and it makes me more productive the rest of the day. Fruit for breakfast and vegetables are available for lunch daily. I work from home when I'm tired of sitting in my office chair. Since starting this job my resting heart rate is down from 95 to 72.

And I'm more productive than I was at 80 hours a week and not taking care of myself. An unhealthy lifestyle is not efficient.


Nope. During the day my coding is like driving a taxi - it's driving, but I don't really get a say in where I go, or when, and I have to make sure other people are happy with it. When I code at home, I'm a boy racer - hooning around doing cool stuff as and when I feel like it. If it ain't like that for you, you've either been exceptionally lucky in the job market, or you're being played and haven't even got the nouse to have noticed yet.


Yes, my boss did thank me. Thank you, self.


Except for one bit which was impossible to implement, though the spec said otherwise - even the client didn't realise this, but John picked it up.

Let me see if I got this right: it was impossible to implement, but the spec said it was possible. The client didn't realise it was impossible to implement, but John made it possible anyway.

So the spec was right all along, and John implemented it? Am I missing something awesome here that uber-hackers totally get? Can someone explain this to me?


I think that's meant to read "but John picked up on it". I.e., he found the error in the spec which the client had overlooked.


Ah okay, did not parse it that way at all. Thanks, much appreciated.


John did not make the 'impossible bit' possible, he discovered its inclusion in the spec and recognized whatever it was as impossible to implement.


So it was an NP-complete problem with a fixed time requirement?

Edit: That was rude. My apologies.


More likely it was simply logically inconsistent. That's not at all rare in requirements documents.


A P problem with a fixed time requirement is also not possible.

(But NP may be possible to solve in polynomial time. Who knows?)


John knew?


Ever try moving a man by pushing on his ankles? How about his head?

Smart programmers use just enough effort in the right places to get the effect they want.

Dumb programmers right a lot of code. The code you never write never breaks, and never needs fixing.

I'm starting to realize that if no one else will give a shit - don't do it. Of course, this isn't a free pass to write shitty code. You don't have to be ineffective to take pride in your work.


I balance slavish dedication with passion. The more I care, the less I mind putting in more time because it really doesn't feel like work. That works for me, at least while I'm young and hungry for startups.

My approach changes dramatically when I'm working for somebody else because it's hard to find something to care about on the same level as your passion projects.

So the key seems to be passion. Have a lot of it? "Work" more because it's not really work. Have a little? Mind your hours and your rate.


I find it amusing how many people work super long hours without thinking about the consequences.

For one you are telling your employer how much less valuable you are, assuming you are on salary. Working 80 hours a week for the same amount of money effectively dilutes your hourly earnings, factoring in overtime, to 40% of its original value. If your boss called you into his office and told you he was switching you to hourly and giving you a 60% pay cut you would probably be pretty pissed, even though effectively it meant you made the same amount of money given your hours.

For another, studies show that for software development people don't actually get more total work done working past about 50ish hours a week. All that other in-office time gets wasted by inefficiencies caused from over-work, lack of sleep, lack of concentration, and being forced to do tasks and errands at work that would normally be done at home (eating meals, relaxing, paying bills, etc.)


I don't code for my boss. I code for myself.


No that's why I quit !




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: