The Programmer’s Guide to a Sane Workweek
codewithoutrules.com
codewithoutrules.com
Sometimes it's hard when the "norm" is to work these extra hours. Where I live now, I have worked a normal 8:45ish to 5:15ish and haven't had to stay late or work weekends in years. It can be like that, I reckon it _ought_ to be like that. If your contract says 40 hours a week, why would you work more? You're just reducing your hourly rate. Now, I don't mind putting in extra effort if needed, no worries, but if it's the culture that it's just long hours, well that's crazy.
This is how I've always explained to people who constantly work overtime in salaried positions where they don't actually get paid for that overtime.
You can at look at it one of 2 ways.
1. Your billable self stopped at the 8-hour mark on a given weekday and every hour after that, including weekends, you're just giving away free labor to the company. Just think about that every time you're working overtime, every minute after 8-hours you're freely giving away to the company. This is your personal free time.
2. Or, like patrickdavey said, you dilute your hourly worth. Say you're a dev who makes $90K, that's roughly $43.xx/hr for a 40 hour work week. But if you're actually working 50hr work weeks you're now worth $34.xx, and so on. The company just saved money on you (or they are making money off you).
Large companies that realize losing institutional knowledge is costly put in programs to make sure there are good expectations on what is required to achieve the next position and what the pay-scale range is for the next position (which also helps fight racism/sexism). You see this at Google (and I'm sure many other large companies), who had identified this as a problem that needed to be solved.
What about those of us who don't have strictly defined roles like that? Where I work you're basically just a programmer. Experience has always seemed to count more for me than an arbitrary title.
(I was once promoted en passant, when my first employer wished to inflate the number of Senior Developers assigned to a consulting proposal...)
- people on HN have bad jobs with no advancement track for strong technical skills
- people on HN don't want to work their way up, then want it handed to them.
Yes. How terrible would that be. How terrible would it be for someone to have a title / position commiserate to their skills, not how good they are at office politics.
I just don't want my career advancement to be up to the arbitrary whims of someone in a position of authority, that's all.
There are many ways to work your way up that don't involve giving all of your free time away to someone else who may or may not decide to promote you for it.
There is some research showing that coming in early makes your manager rate you higher. But it seems unrelated to number of hours, ironically. http://qz.com/209513/no-matter-what-the-boss-says-about-flex...
Most office environments I've worked at are not rigidly policy-driven, are populated with sensible humans, and the overwhelming majority of my teammates are working for the success of the team and each other.
I think this is important anywhere, not just programming. When I was younger, I worked at several fast food places. There was a Burger King job I left within 2 weeks because they had me working insane amounts of unpaid overtime. When I told them I would be leaving they essentially tried to bully me into staying. "We may not be paying you in full, but if you leave you'll be making no money, and that's much worse. You don't have another job waiting, it's just a bad idea to quit. You could become homeless!"
Thankfully I was living with my parents at the time and could tell BK to screw themselves. But I feel really bad for other employees in that same situation who either fell for the spiel or legitimately couldn't afford to be jobless for a day.
So many people, especially in tech, work jobs that pay really, really, really well compared to most people and piss it away on stupid shit. You can choose to save a lot of that money instead and still have a very good and fulfilling life.
Eventually, when you have enough savings/investments to cover you for a few years, your life changes. You don't have to worry so much if people are getting laid off, or if your job starts demanding unreasonable things.
Here's the article that brought me to that video, and goes more in depth about the concept. I highly recommend it - http://jlcollinsnh.com/2011/06/06/why-you-need-f-you-money/
Or you can drive a Tesla.
I bet I know which one makes you feel better when you put your head on your pillow at night.
As I've thought about my investments, I've also struggled with the notion that I'm very heavily in non-dividend paying equities. While my growth has been great, I'm not really deriving any passive investment income to offset my living expenses (presumably for the opportunity for a higher rate of growth).
Do many that aim for this tend to focus more on dividend and income-providing investments instead, despite the lower rates of return?
If your really dedicated to your project and have no family waiting at home, why should you always leave after 8 hours? Sitting in front of the TV at home isn't necessarily better than an interesting project at work. Will not always be the case, so it's (in my opinion) completely normal to work longer during some months of the year and shorter during others.
For me, flexibility is clearly more importan than working hours. It's great to have a workplace where you can go for a long lunch once in a while or a doctor's appointment without anyone raising questions. It's about being able to make plans. If I know that I can go out for Dinner next Wed on 5pm then it's no problem to work longer on other days. Not being able to plan this sucks, no matter how much you actually work.
But I agree that if the work environment is unproductive, working more is definitely not the solution.
Because longer != better. It's like why sleeping on a problem helps or why some people have the best thoughts in the shower. The best way to really make the most of those 8 hours is to do other stuff the rest of the time.
Besides, if you're a professional, you should at least have the courtesy not to devalue your colleague's time. If you start working longer, management might ask your colleague who has a family to do the same (or worse, fire them). Everybody loses by working unpaid overtime except the company. If you want to do this, make sure it's your company.
I'll work longer than 8 hours if I want to. I won't work longer than 8 hours because you want or expect me to. That's the difference.
There are jobs with flexibility that don't require that amount of time.
I wouldn't trade my job against a better paying job with strict 40h/week if I don't like it as much. And I wouldn't want an employer where every working day is strictly 9-5, no matter what project you're on or how the workload is.
I would add that to produce anything it is important to clear a space both in time and physical or abstract space (e.g. a folder, if you are a programmer) into which you put tools and supplies and labor. You must then a) know each space, and b) develop a way to visit each space (and leave it) as required by circumstance and your own needs. For a program, you need (at a bare minimum): a folder, a toolset, a set of time, and a list of predicates that are currently false that you commit to making evaluate to true (but no cheating). This process is actively harmed by overwork, because overwork attacks the same cognition that is necessary to successfully execute the process.
In this business, sometimes a crisis happens. Sometimes you need to be there more than 40 hours a week. I accept that as part of the profession, as long as it's rare.
When a show-stopper bug gets exposed two days before we're supposed to ship, and my boss called me at 9 PM, I came in and was there until 1 AM identifying the problem. When it's only happened once in seven years, well, you just roll with it when it happens.
When they expect it every week? No. Change your expectations, or I'll change jobs.
But if we start calling 14 "inhumane", then we are in danger of losing our grip on what what inhumanity is. Which is to lose our grip on our moral compass.
The topic was never brought up again.
When you start a new job, under no circumstance should you give them your personal cell phone number.
Tell them it's inappropriate, tell them it could turn into a conflict of interest, tell them you don't have a cell (true for me), tell them you can't afford a cell, tell them you can't afford roaming, tell them you only have data, not a number, tell them anything you have to so you don't give them your personal cell number. Don't ever, ever let them install anything on your phone either, "BYOD" style.
Same applies for your home number, if you have one, and your personal email address. Setup a different email and google voice number for the purposes of interviewing, etc. Once you have a job, don't respond to it "real time".
Now, if they want you to have a work cell, they can provide and pay for it, and before you put a hand on it, you make them very, very clearly document under what circumstances and times you are expected to answer that phone, and what compensation you get for doing so. If they won't provide extra compensation, you make it very clear your home commitments (kids, sick family, make something up) are your priority, and you won't be taking that cell home with you. Leave it in your desk drawer at work, turn it on at 8:30am and turn it off at 5pm and leave it there.
If your employer won't accept that, find another one. Life is too short.
You don't need self-confidence or stubbornness, just commitment to your principles...
I have never worked more than 40 hours per week for anyone else. Ever. I arrive at 8. I leave at 5. I don't work from home.
Except for emergencies.
My definition of emergency: If someone is dying or their production software isn't working. That's it. Anything else, I'll be in all day tomorrow and will be happy to talk about it then.
All you really need to do is reach an understanding with your manager about your boundaries and the definition of "emergency" at the beginning.
If they want to pay 40 hours for more than 40 hours of work or have a different definition of emergency, they I'll work somewhere else.
It's really that simple. I've been doing this for almost 40 years and have never had a single complaint about it.
And I'm not sure which "most people" OP knows, but "most people" I know have a philosophy similar to mine. We'll do whatever it takes to get the job done, but we won't be suckers.
OP, do you really need a whole book for this?
I've had meetings scheduled that go past the end of my day. Or on a day where I work a different schedule (6-2 or 10-6 or whatever) a normal meeting outside of my schedule for the day. Sometimes professionalism dictates you suck it up and work more than 8 hours in a day. If you have a reasonable manager, just work less than 8 the next day! It's not that big of a deal, and to say "well I'll be in for 8 hours tomorrow so I'm leaving now you can go to hell" is not a reasonable way to handle it.
I don't think it has anything to do with fear. It has to do with understanding that life (yes even non-emergency events) don't always fit into a neat 8-hour or 9-hour window, and adjusting yourself accordingly.
I've often worked 10 or more hours in a day for non emergency reasons. I've often worked 5 hours or less in a day to make up for it. I still manage a roughly 40 hour or less work week and it's no less "sane" than any other approach.
Is it reasonable to come in and do a few hours then, and just do a few less on Monday morning?
I personally am happy to work the odd late day, even stay late with the team, grab a pizza, etc.
Getting calls in the middle of the night, or on the weekend, or on a holiday is a completely different thing that requires compensation, no exceptions.
That's probably why you know them in the first place.
But the flipside, if your code blows up in production on a Saturday, and you spend four hours of a weekend fixing it, I'll say take 6 hours off during the week to compensate. I'd say take a day off, but our HR system will complain.
Aside from that, I expect 40 hours of "quality" braintime from you, and I don't really care where or when those hours occur, as long as you're collaborating with the team when they need you.
As an IT employee if you are running mission critical software and (as Manager) don't have an after hours call-out rotation and procedures, then you're not doing a very good job, and I'll be looking for another place of employment.
Its not mission critical or life-threatening. I know this, my team knows this, but someone up in the food chain is going to want blood for any serious outage.
I'm perfectly happy to shed blood for my team and take the crap, but I need something. Even if its a text back: "Dangling on mountain. Will check email on Monday" - then I can tell my higher-ups it won't be fixed till Monday, then they can tell who they need to tell.
Its the attitude that says "I'll only work 40 hours then turn my phone off" that I object to, there are real people up and down the line who are affected by business interruptions. If you're not flexible, sorry, but you're not that useful.
You probably wouldn't enjoy working on my team, and you'd probably pick that up from the interview
Not for example: "Oh the customer has decided that the feature we thought we implemented wasn't what he wanted. Can we have this weeks' requirement met by Monday?"
This is all something of a moot point. Looking back through my diary, I've only ever had to call our IT support out of hours, never one of my own engineers. Someone on my team has always independently began to act on whatever alert has been raised.
If it isn't important enough to organize support for it, then it isn't important enough and you should not expect anyone to justify being off work and off duty.
I will talk to my team on Monday and ask their opinion.
For the record, I don't agree that life is as black and white as the first sentence. There are plenty of symptoms which "could" be serious issues, but after a phone call I know can be safely ignored.
I honestly would like to hear the thoughts of your team if you are happy to reply here please.
In all honesty - you're right, I'm not very flexible. Either you're paying me to be on call and I'll answer my phone at 3am on a Sunday, or you're not.
Let's flip it around so you see my point of view. Either I stick to the employment contract and ask you to pay me my salary this week, or for reasons completely outside your control, I expect you to pay me $salary+$X, because I said so. If you say no, I view you as inflexible.
See my point?
Hmmm. Well, I always hated pager duty, especially as a frontend engineer. What the hell did I know about these silly Hadoop clusters that were thrown together so badly? Why wake me up just so I can wake up the lazy SOB who can't build software properly?
I'd prefer not to impose that on my team. Is there a middle ground?
FWIW, alarming systems aren't that flexible. The market sorely needs better solutions around monitoring and alarming. We use PagerDuty for this and it can be made to work with about 80% of our alarms, but it's a PITA. Also, on the topic of waking people up, the PagerDuty app conveniently includes several blaring, obnoxious alarms, but it frequently fails to receive push notifications, so it's not that rare for someone (or several someones) to sleep through the PDs. :|
I do understand what you're saying and I think most people actually are reasonably flexible as long as the occasion doesn't become common. But I wouldn't hold it against someone who's dangling from a mountain if they can't text back immediately (unless they're the on-call engineer that day).
Imagine you're at home with your wife celebrating your anniversary after a bottle of wine, or out celebrating your child's 6th birthday and you get a text from work that makes you apprehensive enough to stop what you're doing and log into work systems.
Please talk to your team so none of them has to ever go through this. In my experience as an employee, it's a really shitty feeling.
> I'd prefer not to impose that on my team. Is there a middle ground?
Inclusion in the on-call rotation can be optional. If a person on the team wants and extra $x per month to be on call for y days per month, they're on the rotation. If another person doesn't want that, they're not.
That was done at one of my previous employers, I think it worked great. Generally speaking the younger people without families opted in, and the older people with families opted out. I loved hiking/camping/getting out of town at every chance, so I always opted out :)
(Please don't think all of the above means I dislike your management or something. Reading your other comments, it sounds like you'd be awesome to work for)
Feel free to substitute the word "system" with "project" or "service" or whatever best fits your own terminology, but the gist is: a particular chunk of deployed software either deserves after-hour support or it doesn't. You either care whether it's misbehaving during "off" hours or you don't. If you do, you should care enough to organize proper support. That's all I was trying to say.
Of course, "you should" might be too strong a phrasing; what I mean is that I think that it would be better for everyone and that I would rather work at a place where things are that way than at a place where they are the way you described them.
If you want me to be on call, pay me to be on call.
If my code blows up, I don't owe you 45 hours of work for 40 hours of pay. If my code blows up, it's because you haven't managed testing and quality assurance properly. I shouldn't be able to get shitty code into production — that's why you're the manager and I'm the peon.
It may sound harsh, but demanding free work is exploitation. And trying to guilt people into working for free is immoral.
Seriously? My job is to watch over your shoulder and double-check everything you do?
No, there's more to life than this.
When you ask me to work for free you are making me a peon — someone of low worth whose time and effort aren't worth paying for. Someone who you don't respect enough to give them fair recompense for their work.
It would be absurd for me to demand that my employer gives me five hours of extra pay for doing nothing because otherwise I can't afford something that's of meaningful value to me. It's equally absurd for an employer to demand that I give them something they value – my work — in return for nothing.
A company is not a charity — it's a cooperative venture that exists to generate value for its owners. Every bit of work you do for the company is to generate value for someone else. I'm not going to work so that someone else benefits and I get nothing. I think any other view is either a manipulative management technique or a delusion.
If you're fixing bugs in production because your manager hasn't addressed longstanding technical debt, then yes, you shouldn't feel bad about the bugs that slipped through against your advice. In that case, I think your indignation at working extra hours without getting paid would be justified.
Ideally, we would do proper estimates upfront without being pushed to grossly underestimate features because so-and-so thinks it should only take a few minutes.
Pushy managers and bad employees are made for each other. It's a feedback loop.
Yes, please yes. This is really where 1-1s come into their own. I can ask directly - is there any part of the code you're working on that truly sucks, and is going to break? I don't care who wrote it or when (it was probably me), I just need to know, so I can put it in the backlog
Um, why aren't you calling the person on-call? If you have up-time requirements then you write out-of-hours terms into your contracts and have designated staff.
>Aside from that, I expect 40 hours of "quality" braintime from you, and I don't really care where or when those hours occur, as long as you're collaborating with the team when they need you.
There is no way you are getting 40 hours of "quality brain time" from anyone. If you believe you are, you don't know what "quality brain time" is.
Assign the amount of work you feel is reasonable. Let the worker do the work. If the work gets done, it doesn't matter how much time it took. Knowledge workers sell their knowledge to help you accomplish a designated task, not their time.
How much work really gets done in a 40-hour work week? Anyone who has been in any office environment knows that probably at least 50% of that time is always just farting around trying to rack up butt-in-chair time. Consider also that promotions and political favors are usually withheld from people who do the "bare minimum" of 40 hours and that butt-in-chair time comprises 95% of an external entity's (like, say, your boss's boss) assessment of job performance, and the time constraints can become quite demanding.
We should do away with the Industrial-era culture of minutely managing hours (when time working was directly correlated to the quantity of products a company could assemble, and thus counting time allowed the company to reasonably reliably assign a portion of the revenue to its employees) and embrace the Information-era mandate of small, irregular work units moving the majority of the product.
We should accommodate workers such that they can cultivate a fruitful and creative mental state for use in employment when inspiration and flow is most likely to strike (which, for coders, is usually in the middle of the night when there is a solid block of 5-6 hours with 0 interruptions), instead of forcing our supposedly-revered knowledge workers into deadened, drooling blobs stuck to their chairs for 55 hours a week because they're vying for a promotion next year.
It's a major pet peeve to see someone treating knowledge workers like assembly linemen. More butt-in-chair time != more productivity, and in fact, once a certain threshold is reached (probably ~20 hours), it becomes counterproductive.
I have a remote team, spread across the western seaboard of the US. I don't track hours, I don't do the whole "burn-down chart" crap. I keep almost no metrics about my team's productivity. As a result, my team are all far higher performing than I ever was as an engineer. If higher-ups want an assessment of my team's abilities, I'll figure out a way to give them what they seem to want that is truthful to my beliefs.
The employment contract says 40 hours, and our timesheet system will freak if you enter less than 40 hours, and of course you mustn't lie on your timesheet (hello HR! :) ) but what hours you work and when are up to you. My only caveat is that if another team member needs your help in office hours, you need to be able to talk to them and help them. The business pays for 40 quality hours, thats the rule. But nothing is black or white...
If you're "at work" but really you're on hacker news - as I am right now - then I'm not getting "quality" brain time.
Believe it or not, there are people in the world who'll spend 1 hour working, 7 hours on hacker news, then shut their laptop and demand that the rest of their time is out of bounds of work.
Honestly, though, those people are so easy to spot and manage. They're the ones who do deliver what I ask, but never more. They'll spend 3 days writing a post function, not because it took 3 days but because thats how much time I seemed to agree with in the estimate.
There are other people, who'll maybe spend 1 hour on a post function and say "done, whats next?"
There are others still who'll spend 1 hour and say "Hey, boss, the post function is done, but this entire framework is kinda crap, mind if I take three days to look at what else is out there?"
There are others still who'll spend 1 hour and say "Hey, boss, the post function is done, but its kind of weird for the users, how about we do this instead?"
Those last 2 types of people seem to enjoy life more, they're happier in themselves and I'll fight tooth and nail for anything they want. If they really work 30 hours a week, get their shit done and don't let any team members down: who cares, the lying on the timesheet issue is the only problem and I'll cover for them the best I can if they get caught. But the best folks will generally happily work 40 hours, and the 10 or so extra hours - I've found - are best "given" to them to do with as they wish.
The first person (the person who spent 1 hour on code and 3 days on netflix) might be temporarily useful to get code written, but really they're not worth hiring. Yes - I know - its my fault - I should get better estimates - I should follow up - I should write out requirements better. But that person is getting seriously out-shined every day by their team - who (lets be honest) know they're slacking - and that person at the very least is going to first on any chopping block. But more likely I'll work with HR to get rid of them.
The other one - the one that says when they're done and asks for more work - that person I'll try to coach into thinking for themselves more so in future they say "I've done the post function, now i'll go ahead and write the get/delete etc and document it, and there's a new unit test package i'd like to fiddle with"...
Now - to join back along with your comment - "We should accommodate workers such that they can cultivate a fruitful and creative mental state for use in employment when inspiration and flow is most likely to strike"
In my head I have an expression that I can't quite get into language - let people be people, let them be the best they can, and compensate them enough so that their best is directed towards the business - the thing that also compensates me for being the best I can be. but Don't demand more than that, don't try to take ALL their best time, don't try to elbow out their family or their hobbies etc. It needs to be voluntary, given. Not in a contract somewhere, demanded. It can be done, I've seen it, even in a big ole faceless corporation you can make a team perform just by shaping the environment to work for humans, rather than spreadsheets.
Your style totally matches mine.
>if you want to take this offline I think my email is in my profile
Your account appears to be a throwaway and doesn't contain an email address.
>My only caveat is that if another team member needs your help in office hours, you need to be able to talk to them and help them.
What are "office hours"? Unfortunately, this is tantamount to an ordinary dictated work schedule. If you can't say "Hey, I'll get to this in [some period of time > 30 mins and < 24 hours]" without getting in hot water, you might as well stay tethered to your desk during whatever "office hours" are. I know this from experience working "set your own hours" jobs that expected near-immediate response times between "core business hours". It's just a normal schedule.
I would say the only schedule expectation should be attendance at specific, pre-planned meetings, barring emergency needs. If you have a colleague that needs a video chat or real-time communication and you're not able to run into each other naturally, I would say it should be scheduled, just like anything else. As long as time can be made within 24 hours, I don't think there's a big issue there. Even in remote environments (and I've been a full-time remote worker for over 10 [non-consecutive] years), extemporaneous meetings are too often a distraction and a drain on productivity.
I understand that's a lot of freedom to give employees and that not all of them can handle it. In those cases, I would suggest the privilege be removed in specific instances rather than assuming that no employee can handle this responsibility.
>If you're "at work" but really you're on hacker news - as I am right now - then I'm not getting "quality" brain time.
I've always encouraged my subordinates to spend a (paid) hour or two every so often reviewing the industry news in trade outlets like HN. Staying abreast of industry developments and engaging with the discussion about them as they emerge makes everyone a much more effective programmer. I wouldn't say it's not quality brain time.
Tech employees are knowledge workers. Expanding their knowledge is absolutely beneficial to you and its importance shouldn't be discounted.
Obviously, 7 out of 8 hours per day is excessive.
>They'll spend 3 days writing a post function, not because it took 3 days but because thats how much time I seemed to agree with in the estimate.
While I agree that laziness is a potential explanation for this type of behavior, there are several other factors that can cause it, like an employee's feeling that their input isn't considered trustworthy or valuable. In the real world, please don't discount potential explanations that aren't laziness, especially if the employee has a good track record at other employers.
>who cares, the lying on the timesheet issue is the only problem and I'll cover for them the best I can if they get caught.
First, most employees who do this work aren't going to be filling out a timesheet. Are you talking about contractors? I'm confused why they're not paid a regular salary.
Second, sometimes you just have to understand that there's a translation barrier here and what the HR dept really means when they ask to affirm a 40-hour work week is "Did you honestly provide the expected amount of value to the company this week?", to which the truthful answer is "Yes." (This is especially true if you're monopolozing a chunk of time known as "office hours" and demanding that people be available within that timeframe -- I would say that should count as paid even if they don't have anything to respond to. You're still consuming their availability.) While people may be entering a literal value that isn't commensurate with the literal reality it appears to represent, the intent and spirit of the question has been correctly fulfilled. Thus, it's improper to call this a "lie", especially when, as already discussed, the 40 hours put in by conventional office workers are so clearly half-hearted, even resentful.
Other than this, it sounds like we're in pretty good agreement.
That said, I always get worried whenever someone starts advocating for getting rid of 40-hour work week without a very clear idea of how to replace it in concrete terms. See, maybe I'm cynical, but it seems to me that a lot of people forget that the whole concept of 40-hour work week comes from a compromise between the workers and the employers: it's supposed to mean you can be expected to work no more than 40 hours a week. Naturally, the employer will expect you to work no less, otherwise they're "not getting their money's worth".
Whether we like it or not, there is a power imbalance between workers and employers and it's usually in favor of employers. I don't want to touch sensitive topics of how that imbalance might be redressed, but as long as the imbalance is there, having a fixed number of hours in a work week -- even if that's only nominal -- is still better than getting rid of that and making workers vulnerable to having their historically hard-earned rights eroded or downright stripped away.
If that sounds too jaded and bitter, consider the "unlimited" vacation policy. At best, it means you'll still take roughly the same time off as the rest of the team. At worst, everyone ends up taking less vacation time than before and the company profits because they don't have the financial liability of unused vacations anymore.
So, I can definitely see where your concern arises. I don't want to make it seem like you should do any quantity work that the employer throws your way. There should be a basically agreed-upon range of value delivered in person-week units; the employer should expect to get some value within that range per week, and the employee should expect to provide it on an ongoing basis. This value range is something that is going to be negotiated between employee and employer and the only way to get a realistic feel for it is to undertake a relationship and see where you land. By accepting the standard timeframe for value evaluation to week-units, it matters much less whether you were in your chair from 2pm-4pm all 5 days of the work week. It just matters that you got your work done.
I don't have an exact way to quantify it, because again, in knowledge work, employee productivity isn't really calculable by a simple equation. It's really just about whether the company feels adequate progress is being made and whether the employee feels that his work-life balance isn't falling apart. As long as both of these things are synchronized on an individual basis, there is no problem and no hard rule.
It's hard to get to this because as you said, an employer feels that they're not getting their money's worth if there isn't 40 hours on the clock. However, that's based on the antiquated model of production where time-at-station pulling levers was directly correlated to the value provided to the company. In a factory / assembly line context, that approach still makes sense. For knowledge workers who depend on creativity, like software developers, it doesn't -- it's not an accurate way to measure performance. The challenge for us is in educating employers to view knowledge workers appropriately.
On HN we're all probably familiar with PG's Maker's Schedule essay. I believe that schedule arises naturally because our brain is trying to self-optimize and do work in the most productivity time period, which is usually overnight when there are minimal interruptions. We should all be free to engage with that. It will result in both happier employees and superior work product.
Finally, I think there's a more basic component at play here that I don't actually think we'll overcome anytime soon. The workweek is entrenched into American lifestyle now. People are taught to expect a 9-5 and to be suspicious of those that don't have one. People are taught that colleagues should all go hang out in a big office building for 1/3rd of the day 5 days per week. This is a common expectation even if it's unsuited for modern work. Most people, even most knowledge workers, like this arrangement and don't want it to change. The social costs of doing something unusual with your work day can be substantial, especially if you're in the midst of a period of financial difficulty. I don't think that will change any time soon and I don't know that it'd be a net social good if it did.
However, there are companies that accommodate people that want to work differently. They can be found with some degree of discretion and specific searching.
I wanted to chime in and mention this balance varies greatly by country. I've worked in Canada, Australia, USA for years, so has my brother.
I personally feel in Australia the balance is clearly in favor of the employee, in Canada it's over to the Employer and in the USA it's shockingly (scarily) in favor of the Employer.
After 7 years in the USA and Canada my brother went back to Australia. One month in I asked him what the most shocking thing was - what do you think he said? Going from years of -30C winter to +40C summer? Driving on the wrong side of the road? food? accents? Nope.
In Australia, you are a valued person at work, rather than a slave. I think that says a lot.
1. Make sure you either arrive at work before your boss each day, or leave after your boss each day, or at least the large majority of days.
2. A couple times a week answer an email or two during the evening or weekend, preferably ones your boss will see. This doesn't have to take very much time. Don't force it, make sure they are emails that you are actually interested in and have a good response to.
3. Work smart and hard when you are working, be above average on your team despite probably spending less time in the office.
4. Work longer hours than you normally do when it's something really fun and you don't have much going on at home anyway. That situation does arise from time to time. Make sure, in a very natural way, that your boss notices when you do this, probably by telling him/her how fun it was.
5. When you have to duck out for an hour or two for the dentist or whatever, don't tell your boss unless you absolutely have to (e.g., you have to miss a meeting with him/her). You are an adult, he/she doesn't need to know where you are at all times. You don't ask permission to go to the bathroom, do you? In short, don't emphasize to your boss, "I'm not going to be working for the next little while" if you don't have to.
6. Keep all commitments that you make to be at work at a certain time. Try not to make very many of those commitments. Instead commit to getting work done, not just being somewhere.
If you are doing all that, you can work less than 40 hours most weeks and nobody will care.
Don't like your commute? Don't commute so much. Just snap your fingers and afford to live closer to work! Got it.
Want a shorter work week? Just "negotiate" (word mentioned 9 times in the story). Oh, silly me, I was forgetting all of that extra power most people have in the employee/employer relationship!
Any advice for those of us living in the real world?
In a world that complains about a shortage of programmers, you have more leverage than you may think.
The amount of leverage you have is heavily dependent on the perception of your bosses. If your bosses know how rare a good programmer is and truly do value you, then you shouldn't have these problems anyway, and I'm sure they'd rectify them ASAP if you brought them up. Many of us don't work for such enlightened people, though.
If the problem isn't rectified, keep informing your employer that you want to work normal and sane work hours. Escalate to your boss's boss, HR, ect.
You're free to look for another job, but do that because you want another job, not because there's a short-term problem in your current job.
Similarly, you can trade off hours expectations.
And yes, you, and everyone have the option of unilaterally normalizing your hours. You may not like the results (or you may love them) but you absolutely have the option.
Similarly, you - yes you - have the option of (re) opening negotiations with your employer. One possible outcome is always that you part ways, of course.
If you are getting paid $250k or $300k doing something highly interesting that comes with tight deadlines like finance or trading, then you are going to push yourself a lot harder.
And especially if much of your pay is bonus-based, you will definitely push harder. For example, working in the front-office of a trading company where even developers are getting paid mostly in bonus it is very common to put in more than 60 hours a week. And people love it because the work it very exciting.
One of the most important questions is do you love what you do. I love working in front-office in finance, and i'll gladly put in plenty of hours, especially since getting the promotion to director or principal carries a huge pay increase.
I don't work for my current salary, I work for the next one. I don't do any side projects because getting that next strategy or gateway up and running is worth more than any project I could work on. My job is my side project. And I really like it that way.
Instead of figuring out to only work so many hours, why not try to figure out how to find jobs that excite you more. Find that field you really love and that pays you well or find that startup where you can really see yourself making a huge contribution.
Edit* also capital is pretty important which huge companies have and being self employed becomes more difficult to obtain
But, like any self owned business, you get out what you put in.
That said, if your goals are financial independence, everyone needs to do a real reality check as to whether their current job (or even career path if you are junior) will ever let you reach that with your target lifestyle. I know people who love what they do, but the reality is I can't see how they could ever retire with what they earn even with a relatively frugal lifestyle.
On the flip side, I have an ibanker relative who would be on track for financial independence in his early thirties if only he didn't live an ibanker lifestyle.
1) Google is able to be flexible about many things that other companies are not
2) If you work at Google, you have many job opportunities open to you that others might not. So just leaving and finding or creating a job where you can work fewer hours is much easier than someone working in a lower-end position for a small company in a market with few opportunities.
Sometimes we are our own worst enemy.
I remember a sign a coworker used to have in his office. The gist is - are you happy? If so, keep doing what you're doing, if not, change something.
I desperately wish I had my old commute back, but am making the sacrifice for the time being and enjoying the gorgeous drive home on 280 as the sun sets while listening to some relaxing music or podcasts.
That said, the car maintenance costs have gone up, gas has gone way up, and my free time has gone down. Those are all real costs. I did the math on them before the move, but the real cumulative impact of the reduced free time was something that didn't really hit me until I was doing it.
If only non-engineering jobs had as much flexibility with remote work.
The problem really is companies expecting people to do far more then anything they are ready to pay for. Sometime its even more worse when a few people have to make up for other people, and then watch the lazy group get rewarded better for political reasons.
The real issue is resentment not extra working hours.
"As long as they are paid for it" may already be fairyland. A usual clause in employment contracts for developers in Germany goes like "The salary is X per month. Overtime is satisfied by this."
So, my boss can require that I work an extra 10 hours this week, but I need to get it back at some point, right?
I do 37.5hrs religiously and have never had a problem. A good fraction of developers at head office do 30-32hrs (4 days/wk).
When I feel like I'm working much less than 40, I check my productivity. If my productivity feels good I stop worrying; if not then I try to work more. (I've been in the game long enough to have a pretty good sense of this.)
When I feel like I'm working much more than 40, I worry about my time-management and try to correct it.
I would find it completely reasonable for someone else to do the same reckoning with 30 instead of 40 hours, as long as they get shit done.
On the occasions when I've found myself stuck in crazy ruts, like six months at 80 hours per week, in hindsight it's always been because I followed some wrong lead -- a workaholic boss, an arbitrary deadline -- that I didn't actually have to follow.
You don't work for your current salary, you work for your next one. If you are one of those 9 to 5 ers, don't complain when the guy working 60 hours and more gets that promotion over you.
The higher up the ladder you go, the more that will be required of you. Also, startups or high paying jobs will require more of you since you will get getting more in return for better performance.
It is a trade off, and as you get older your priorities change. But there is a trade off to be made. 60 hours is the norm in my field, and often I'll put out more (including the random 2am call), and sometimes much more.
Plenty of people who work hard (whether 40 or 60 hours/week) do not get promoted because they can't or won't spend half of that time on self-promotion. They are seen as valuable worker-bees, but promotions go to self-promoters and schmoozers.
With all this in mind, you believe that the person allowing you to live should dictate the lifestyle you are allowed to. And their choice is one of "12 hours is not enough but you need sleep so you can do it again tomarrow". Do you want to live your life with only glimpses of the outside world? Do you think success in the ccorperate bubble is worth more than exploring what you want?
This is actually sign of poor management. You should not reward people for working 60+ hours. If you want to reward anyone, you should find the ones that can get the same work done in about 30 hours. Hard to believe, but they do exist.
What you will find, is that the people that need 60 hours at one level, are likely to think they need 80 hours at the next. Or more. This clearly is not going to be available.
Worse, you don't think so, but the odds are high that as you get older, you will get a family and possibly children. When that happens, the ability to get 60 hours is now in jeopardy. Heck, many weeks, that 40 is tough.
Note carefully, I do not believe you should punish people for working extra hours. But incentives should not be such that they are required or encouraged. Unless you like seeing ruined lives. And businesses.
When you take taxes into consideration, the promotions don't really add up to that much. You're just adding to your yearly income, which tends to get taxed quite heavily anyway. You need to find a way to take your effort and put it into something that doesn't get taxed as much as regular income does.
I would be more interested in building passive sources of income that don't rely so much on my being present to bring in the money.
I also generally don't like the idea of someone else telling me what my contributions are worth. By putting in all those extra hours, you're basically pinning all of your hopes on someone else's judgment. If they like you, then maybe you'll get that extra money.
But what if they don't? What if they're just some sociopath who couldn't give a rip about your career goals? In my experience, that's been the case more often that not.
It would take one hell of a leader to convince me it's worth putting in all those extra hours. I would basically need assurance from the very beginning that I would be getting a bigger cut of the pie.
He mentioned he works in finance. That whole industry is very hierarchical and based around strict pecking orders (and lots of koolaid drinking to boot). In many firms, you are always just "one project away" from being promoted or made partner.
At a certain level of income from a job, it can very much make sense to pour everything you have into it to maximize your personal return while you can.
You seem to suffer from the delusion that number of hours a person works is what matters. Most people aren't productive above 40 hours a week, any high number of hours and you're just wasting time.
Then there's the fact that working 60+ hours of week simply isn't health, and you're advocating that the thing you need to do to advance in the world is to trade in health for promotions, and increased salary.
If a job requires a person to work 60+ hours per week, then may it should be two jobs, not one. So now you're not just encouraging people so scarifies health, family and friend for you job, you're basically under biding a another person by doing their work for free.
Edit: May not wrong, but the advocate for a work environment that should be illegal. In fact it is illegal where I live.
Also employees shouldn't be rewarded for self destructive behaviour. Sadly many companies can't tell the self destructive from the people who just happen to enjoy what they do. And some of the self destructive actually do love their job.
And he shouldn't complain that the guy who works 75 hours and fucks everyone else over at the first opportunity gets a promotion over him.
And the management shouldn't complain when they discover they've created a shitty combative environment where everyone sabotages each other and points fingers of blame.
Etc.
Etc.
A fresh college graduate could spend 60 hours trying to spin up a new web server, where an experienced professional could do the same in an hour. Should the fresh graduate get a promotion for this?
You're right that higher paying jobs require more of you, thats why the barrier to entry is higher. You need to have more experience and know how to do more things. You're not getting paid more because you're expected to work more hours, but because you are expected to be capable of doing more complex work.
There are tons of companies (I'd argue most) where firstly there's no "next big salary" to be received (it's a slooow upwards trajectory) and secondly promotions are not based on who works harder than everyone else.
Also, if you get a reputation as a 60 hour worker that's going to be your expectation. After promotion that's going to be the expected schedule. The promotion after that will be the same. The point is you're not just working 60 until the next promotion. You'll probably end up working 60 for the next 10-20 years.
If that's ok with you, and that's what you want, then that's fine.
Another kicker: a company can fire you at pretty much any time and for any reason. Why pour yourself into an enterprise that can toss you aside at any moment?