Work/Life Balance Will Make You a Better Software Engineer
codewithoutrules.com
codewithoutrules.com
Sol Robeson
You remember Archimedes of Syracuse, eh? The king asks Archimedes to determine if a present he's received is actually solid gold. Unsolved problem at the time.
It tortures the great Greek mathematician for weeks. Insomnia haunts him and he twists and turns in his bed for nights on end.
Finally, his equally exhausted wife... she's forced to share a bed with this genius... convinces him to take a bath to relax.
While he's entering the tub, Archimedes notices the bath water rise. Displacement, a way to determine volume, and that's a way to determine density... weight over volume.
And thus, Archimedes solves the problem. He screams "Eureka!" and he is so overwhelmed he runs dripping naked through the streets to the king's palace to report his discovery.
Now, what is the moral of the story?
Maximillian Cohen
That a breakthrough will come.
Sol Robeson
Wrong! The point of the story is the wife. You listen to your wife, she will give you perspective. Meaning, you need a break, you have to take a bath or you will get nowhere. There will be no order, only chaos.
Go home, Max... and you take a bath.
Wikipedia: "It is unknown, for instance, whether he ever married or had children."
Take it as a creative license to make a point :)
Sometimes when I wonder whether I'm getting too carried away with intellectual work, an image comes to mind of Max Cohen standing in front of the bathroom mirror with a drill in hand.
For example, I worked all day today (true story), trying to figure out some algorithm. I got stuck. So I took a walk. And it just came to me while I was taking the walk. Now I'm back and am back to work and it's super productive.
If I worked like 3 hours and then went out to meet friends, have dinner, go watch some musical, and came back. I literally wouldn't have had time to even get to this point.
Back to Archimedes, "The breakthrough came" only because he put his time in, and it just synthesized in his brain when he finally took a break. If Archimedes was a "40 hour work week" guy, he probably wouldn't have got to that state.
3 * 5 = 15 != 40
So why do you use the '3 hours of work then slack off' example to deride people working a typical week?
I don't say this because I'm a proponent of work-at-any-cost culture -- I'm not. I work about 45 hours a week, no weekends or nights outside of rare emergencies. That's certainly good for my mood and my relationship with my family and so forth.
But I see all these articles in which they suggest that after 40 hours a week, your productivity crashes or goes negative or whatever, and it strikes me as wishful thinking. The universe does not often line up to give us win-wins like this. My belief is that, probably, for at least a lot of people, if you spend a few years working super hard, you'll probably gain a lot of skill and be highly productive. Maybe if you keep that up for decades, accumulated stress will make it a net negative. Maybe some people have really low tolerance for stress and will much more rapidly turn to net negative.
But the idea that it is universally or near-universally true that everyone is more productive on a 40 hour week is at best under-argued, and, I'd guess, probably mostly untrue.
I always thought: we work 40 hours a week because we work 8 hours a day; and we work 8 hours a day because Robert Owen's mantra "Eight hours' labour, Eight hours' recreation, Eight hours' rest" caught on.
I'd believe that's true, but I'd also believe there's reason to suggest that what holds for factory workers doesn't hold for information economy workers. (Although anecdotally, I find that I'm WAY more productive when working closer to 6-hour work days than 8-hour days.)
I'm glad someone else has noticed this. The fact that I still end up feeling burned out if I constantly work 8 hour days has made me feel very lazy. It's weird, I feel like I can work at top speed all the time if I work 6 hour days, but if I try to maintain that same pace with longer days then I hit a wall. In effect, I need to pace myself to work 8 hour days.
The only time I feel like I need a day longer than 6 hours is when I'm in meetings all day. Meetings and working seem to use two different kinds of energy. So I could meet for 3 hours about something and work for 6 hours just fine, but I'd be wasting my time if I was attending 3 hours of meetings each day.
The thought above pretty much reinforces my belief that the hours we work have nothing to do with productivity, and everything to do with an illusion of fairness. My boss spends more than half his day in meetings. It probably wouldn't look good if I was working 3 hours less than him each day just because I don't have as many meetings to attend. The issue is even trickier when I consider the fact that many of my coworkers need less concentration to perform their roles, and would be perfectly fine working 5x10s by their own admission.
[1]: Unfortunately I don't have them handy, and they had some clear limitations. If I'm remembering correctly, some were about relatively unskilled work and none were about programming, where measuring productivity is an open problem.
But having been with already some people on their last days of life, I don't remember any of them regretting of not having spend more time working, but always of having had more time with family and friends.
Willfully ignoring context to try to make your point isn't clever.
That's also anecdotally untrue.
Personally, I find it much easier to put in long hours on side projects and on my own company than it is to put in long hours for someone else'e company. And if the environment is bad at a company, long hours can be excruciating.
The most successful people I know work for themselves, or carve out a niche in their companies that allows them to do the things they want to do. And I suspect that enables the conditions under which long hours are easy to put in, and success is easy to achieve.
Bringing that in to this discussion just muddies the water; we're discussing overtime for regular office workers.
If you can get significantly more done than your peers, competent management will notice and reward you meaningfully. The fact that you sacrifice your private life to accomplish this won't be very relevant to whether or not you deserve a huge bonus.
This is extremely activity dependent I think.
The claim is not that 40 is some kind of hard threshold, and if you work any more than that you'll be instantly less productive. The claim is that a steady-state of, say, 60 hours per week is less productive long term. It's actually more productive for a little while, like a month, but then people get tired and less productive than rested 40-hour workers after that.
I have experience doing long periods of 80 hour weeks, when I was working in game development. I think it's hard to say definitively that productivity goes negative, that's not what it felt like when we were crunching. OTOH, I did watch as tired crews would make bad decisions during crunch that ended up costing time in the long run, and I can definitely say that 80 hour weeks are not twice as productive as 40 hour weeks.
That said, productivity during extended 80 hour week crunches may well dip below 40 and be a net drag on the company, but it probably still wouldn't matter. Game studios in particular aren't asking themselves whether it's worth it to crunch, they don't know whether crunch is more or less productive and they don't care. They look at a looming deadline that appears to take 3x more work than there is time left. Publishers attach bonuses to being on time, and fees to being late. Crunch is often seen as the only option. That shouldn't be true at the huge game companies, but it still is.
Plus, it is really hard to measure true productivity in a non-factory setting like software. Nobody actually knows if 80 hours per week sustained equals 50 or 30 or 70 or 10.
All that said, a true 80 hour work week doesn't leave enough time & energy to eat properly, see your family, or even watch TV, let alone job hunt. I'm the kind of person that always does extra work, or has side projects going, but I realized at some point during game crunches that I was trading money for my entire life, and nobody can pay me enough to work 80 hours a week.
Not all jobs I had in the game industry had required crunch time, though. One had a development manager and veteran developer that didn't believe in crunch and never required it of us, and we never worked more than 50 hour weeks, and that was pretty rare.
I definitely recommend it if you can take the salary hit.
Being self-employed at the moment, I'm contracting to pay bills and working on my company, it's the same thing as a never ending crunch time! I certainly feel like I'm getting more done than a 40 hour week, but maybe I'm not getting enough rest to know the difference. :P
The way I solved it was by setting actual work hours and sticking to them. Anything that came in outside work hours could wait until the next day.
I feel like one of the worst parts about a compressed work schedule is that I've mostly stopped playing & exploring, and exploring is where the good stuff happens. Many of my most important personal developments and achievements were on "fun" time, even if it was work. Doing overtime and working too much like I'm doing now mutes that.
I have some commitments in the short term that mean I can't fix this very quickly, but long term I aim to be where you're at for sure.
On the object level, I have a suspicion that being productive past 40 hr/wk or so has reverse causation for me. It's bad for me to work over 40 hours a week, so that magically translates into being bad at it. Social negotiation is one of those things that your non-verbal and emotional parts is really good at, and Thomas Schelling style "don't have the ability to do things you don't want others to pressure you into doing" strategies work.
Anyhow, take out the vitriol and your statement is basically "do you realize that you're supporting the quality of life of software developers?" Yes. Yes I am. I'm a software developer and this stuff is important. I'm opposed to moving towards a negotiated position that gives employers more at the expense of software developers. These are not unreasonable positions to hold.
editing to add in a quote from parent downthread:
>yes, I was in some mid-management level
Keep that in mind as you read comments.
You see your position as supporting software developers, which is reasonable. It's not reasonable to expect other software developers to refuse to raise rational points of inquiry that you've based your argument on because it may result in weakening your argument on the merits. It demonstrates that you care more about winning than about the truth. As a result, you're responding to someone who is behaving more rationally than you with an emotional response and personal attacks.
As far as the ad hominem goes - that's the appropriate response to the social status implications of the "easy hipster" comment.
That is the perception people have on SV developers, for right or wrong.
Meanwhile, I'm from Sweden so I'm perhaps just an outside observer to this spectacle.. but at least from my perspective, SV developers are generally speaking overpaid. Well, at least compared to Swedish/European developers. :)
If you're reading it, it's for you.
>Well, at the moment I'm (possibly temporarily) retired, doing hobby projects. I have never felt the urge to cross any picket lines.
Not mentioning that you're former management is extremely dishonest. Derailing pro-worker discussions like this with condescension and dishonesty is extraordinarily unethical.
Even if the person you're responding to on some internet forum is the president of the Foundation For Keeping Software Developers from Being Overpaid, it's not unethical for them to jump into a discussion on the merits without disclosing that fact.
Why are you so afraid of having a frank discussion about this, with anyone? Slinging around terms like "extraordinarily unethical" when they're not even remotely warranted just makes it seem like you have little faith that your position makes any rational sense.
For the record - they wanted me to be president, but I declined. I am merely the secretary of said foundation.
Saying that you're retired and working on hobby projects is technically true, but in context heavily implies that you did not have a management background. It's not technically lying, but you can mislead people extremely well by saying particular true things in a particular way. That's why I called it "dishonesty" instead of "lying".
And "jump into a discussion on the merits" isn't how I'd characterize their behavior so far. Most of what they've done is snark and implications that play stupid bullshit status games.
Saying that you're retired and working on hobby projects is technically true, but in context heavily implies that you did not have a management background.
How on earth is this true? In what universe does someone who is retired except for some hobby projects mean that they were never in management? I literally don't know how to parse that.
And even if it is, how does someone who was "former management" now have no credibility to talk about work/life balance or whether developers are overpaid or underpaid? They don't have a particular dog in the fight anymore, right? Unless, as I suspect, you think that they're "different" somehow, not part of the same class of people as you, and they'll "stick with their own kind."
Every comment you've made seems to me to be bigotry with a thin veneer. I don't know, maybe I'm just privileged in that I've never been in a struggle of labor vs. management. Just don't see the world in those terms. I'm sure you think that means that of course I'm engaged in that struggle, and I'm either lying (because I'm in management), or getting screwed (because I'm labor and management is always screwing labor whether they know it or not). Shrug. I'm happy. Not sure what else to tell you.
The only one here who I see playing status games and pumping up the us vs. them mentality is you.
> It's not reasonable to expect other software developers to refuse to raise rational points of inquiry that you've based your argument on because it may result in weakening your argument on the merits.
What argument are you claiming is weakened? GP is saying that our overall, industry-wide labor bargaining position is weakened when a subset of us willingly take suboptimal work-hour or payment arrangements - really they're giving the companies and hiring side of the discussions all of the leverage over us while dropping our price floor out from under us.
If that sort of thing continues, it signals to the market that we are not skilled labor, just labor. And then all the software jobs run overseas where they are cheaper, just like manufacturing has done over the last 50 years (and software has already begun to).
Maybe the original comment GP's response to wasn't the right one - but it's the right sentiment in this discussion of whether work-life balance is a good thing. How is that even a question?
I'm not saying any argument is weakened. This is analogous to what I saw:
1. Article claims X, which is good for software devs as a whole.
2. Software dev #1 says "Hmm...is X even true? Doesn't make sense for reasons A, B, and C."
3. Software dev #2 says "Hey, we're trying to negotiate here and it doesn't matter if X is true or not. You shouldn't even be pointing out that it might not be true and that we should have more evidence. You're a traitor!"
Sorry, but I have a lot more respect for software dev #1's position than software dev #2's position. I want to be associated with a community of people who are looking for the truth, even if it leads them somewhere difficult, not protecting themselves at the expense of others, truth be damned.
And I certainly don't want to be associated with a group that not only doesn't want the truth, but yells at anyone within that group who dares to challenge the consensus. Ugh.
> I'm not saying any argument is weakened.
Let's be consistent.
> I want to be associated with a community of people who are looking for the truth, even if it leads them somewhere difficult, not protecting themselves at the expense of others
A few things:
1. Nobody here has said "don't talk about it, period". Even Software dev #2 from your example has further commented that the criticism is aimed at the forum rather than the topic, due to its high visibility among people who often create labor policies
2. What exactly is "difficult" about a truth backed by scientific data? Also, what in aetherson's original, entirely-opinion comment resembles truth? They themselves are admitting a dearth of data on the issue, then proceed to classify the 40-hour workweek as "wishful thinking" and "probably mostly untrue" - again, without any data to support. How is that a quest for truth again?
3. Who are these "others" you say we are protecting themselves at the expense of? I'm really having difficulty understanding how a plea for labor solidarity alienates anyone except those who profit from undervaluing labor - i.e. management and moneygrubbers.
>And I certainly don't want to be associated with a group that not only doesn't want the truth, but yells at anyone within that group who dares to challenge the consensus.
A few more things:
1. Please tell me what part of saying "I'm sad" and "please don't" in ThrustVectoring's original response is yelling, again?
2. I'm not sure where you live, but where I live class consciousness and work-life balance is decidedly not the consensus. The consensus is actually very clearly aligned with aetherson's claims - that "working lots of hours is totally fine probably don't worry about it", and that as long as you're getting yours everything is fine. It doesn't even seem to be the consensus in this very thread - so it might be prudent to examine why you feel attacked as a minority when you very clearly aren't holding a minority opinion.
3. You haven't actually engaged with any of the arguments here about labor solidarity, but have instead managed to make the conversation about how mean the big scary class-conscious consensus is to the little folk who dare to question whether working more hours in a week might be a good thing. I have a hard time taking this as a serious discussion if you won't grapple with the issues on a substantive level.
Associate with whatever group you like, but it is not the responsibility of people to make you comfortable with ideas you don't like. It's your job to figure out why they make you uncomfortable and investigate that anxiety - or not, you could just do what you did here and dismiss all discussion because people were being mean and "yelling".
Thanks for the chat.
I didn't engage on the merits of the discussion for the same reason I didn't say that X is necessarily weakened as an argument (you completely skipped the word "if" in your reading of first quote above), which is that I don't have a particular dog in this fight.
But it's so lazy and intellectually dishonest to fault someone for pointing out that maybe we need more evidence. And to then basically call them a traitor? I felt like commenting on it. So I did. Without any disclaimers of any former mgmt experience so I guess I'm a monster as well.
Enough entertainment for one night, I'm out :)
The problem is that hacker news is not a place where it's safe to ignore the political effects of your speech and focus purely on epistemic truth. Private mailing list? Sure. In person? Sure. On a public forum where management types will imply that you're an overpaid lazy hipster? Yeah no.
If you want a place where people can focus on finding out what's true, you need to make it safe to do that. You're never going to get a truth-seeking discussion about gender or race on r/SRS for exactly that reason. Hacker News is better than most because it's well moderated, but it can't and won't be that way for things that touch on the economic relationships between software developers and their employers.
This is simultaneously: a) a bizarrely uncharitable view of "management types" and their intelligence level, b) a clear indication that you don't think the evidence is very good, and c) a ridiculously impractical view of how impossible it is to keep a simple thought from spreading, let alone just occurring.
The fact that the person you were responding to is, in your words, a "management type", and came up with this objection should show how dumb it is to try and keep it out of the discussion. They can clearly think of this objection on their own.
If you can, and you say that you can, and you don't complain about it, then that becomes expected. This is as true of wearing a suit and tie to work as it is for putting in long hours. Finance is in a really shitty place because of this and I don't want the tech scene to follow suit.
Management wants to protect the company's profit at the expense of employees, so why shouldn't the employees push back and try to protect their quality of life?
Management expectations are a resource we all share, and that includes you. Yes, solidarity helps the lazy. It also helps the hard-working.
On the negotiating side, I know a truly brilliant consultant who is way off at the higher end of salaries who negotiated to work only 7 months of the year. He would work 6 days a week and usually 14 hours a day but then wouldn't even touch a computer for almost 6 months. If some people want to work crazy hours they should be able to but they should demand appropriate remuneration for it and not sell their time and brainpower cheaply. And people who can get more done in less time should not be expected to work longer just because others are less productive.
But sometimes it'll be midnight, and you'll get that brainpower flowing for some reason (I tend to be a night owl)...
Thankfully my position is flexible enough to then take the associated breaks the following day if I need to, or just go home if I'm not super productive (meetings permitting anyway)
I'm not so sure it would work well if I had teammates that needed constant interaction.
Seriously though, it's harder to avoid in startups, and this forum is more or less dedicated to startups, so I'd expect quiet a few people here do land in this boat. I'd also guess side projects that involve programming probably count as work, as far as what the author intended, and everyone here has side projects going.
Keep in mind that there are plenty of managers that subconsciously reward extra time, and plenty of workers that will put in a little extra to get ahead. It's not fair or good for work/life balance, but it happens. Drawing your own hard line is a good thing, and nobody should be expected to put in unpaid time, but sadly it doesn't work the same for everyone everywhere, and being too vocal about extra work can have unintended consequences.
(N.B. I'm not endorsing one way or the other, but the insistence of articles like this that X requires Y often goes unchallenged)
The problem is that most of us think we're doing cutting edge engineering work, but really we're not. We're just the manual laborers of the information age. Artisans at best.
We the average joe engineers of the world, need rest and work/life balance.
That said, Feynman is famous for crediting the stepping away from work work and going back to joyous play, with making discoveries that lead to a Nobel prize. If he kept pushing himself and toiling on the busywork that Real Research was pushing on him, he'd never get anything done.
Hmm, I don't recall him ever saying that. Do you have a cite for that?
What I do recall is him saying he often worked on problems that served no greater purpose, essentially for the fun of it rather than any assumed utility. He may very well have been toiling for long hours on those problems.
I remember seeing it in youtube forme once, too. Might be this 1 hour interview, but I can't find the exact timestamp now: https://www.youtube.com/watch?v=4zZbX_9ru9U
It was my off hours, it furthered my work, and it was fun and fulfilling for me. The best is when your work gives you ambiguous problems that feel like side projects you'd normally want to do anyways.
Tangentially related to this point (less so the section itself) is the benefit of a comfortable working environment. Personally, i have found that a curved chaise is the absolute peak of laptop coding comfort, especially for late night sessions.
If you have space and are in the market for some new furniture, i would urge people to give them a try.
That being said, the best engineers I know all work crazy hours. Even when they don't they're absurdly productive, but on top of that, they work insane hours without skipping a beat. They shouldn't, they don't need to, they'll get promoted without it easily...but they do anyway. And they still manage.
I don't know what to say to that. But that's my reality, at least.
List the people you would rate as the top 10 computer scientists or engineers over the last century. Now, how many of these people worked only 40hrs a week or less?
If you're not interested in greatness, or maxing out your true potential, then balance is a fine (maybe wiser) choice. But please don't discredit obsession and single mindedness after they have been the force behind so many accomplishments.
If whatever you're working on isn't doing that, do something else.