Live data from Hacker News

The Programmer’s Guide to a Sane Workweek

codewithoutrules.com

141–150 of 152 posts

Re: The Programmer’s Guide to a Sane Workweek

#141

I can't stress how important it is to cut commuting out of your life. I know many people who commute an hour each way, each day. Two hours per day. ~500 hours per year. Thats 20 to 30 days of your life each year wasted commuting, depending on whether or not you just count waking hours. And not only are you not making money those hours, you are spending it - on gas, insurance, the life of your vehicle, etc.

Last year I moved from 1.2 miles away from work with a ~10 min. door-to-door commute whether I biked or drove, to roughly a 16 mile 30-45 min. commute each way (depending on traffic) in order to buy a house, get more space, etc.

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.

Re: The Programmer’s Guide to a Sane Workweek

#142

Where I live IT workers are not fairly valued, the average one can charge and still get contracts is around USD $30/hr. As such, reducing working hours will make it really difficult to pay bills (forget about early retirement). So, instead of working less I work on developing products that bring in passive income. These products are not the next ubers, just small B2B apps that serve local/niche markets. I started thi…

Can you share some examples of these projects?

Re: The Programmer’s Guide to a Sane Workweek

#143

Let me come in with a contradictory opinion especially on the overtime. 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 m…

I say meh to all of this. You're better off taking that extra time and spending it on side projects and side businesses that will give you independence from your current company. 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 some…

The might be applicable to some, but if he works in finance, there's a possibility that the compensation is heavily performance-based, and high enough that it is much smarter to focus on maximizing that (while investing/saving it) than it is to spend non-existent free time on side projects that might pan out to something eventually.

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.

Re: The Programmer’s Guide to a Sane Workweek

#144

The "paths to a saner week" seem pretty simplistic and unrealistic. Want fewer hours? Work fewer hours! Wow, you don't say?! That simple, huh? The quote from the article is "you always have the option of unilaterally normalizing your hours." Oh reeeeally? 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 m…

Take advantage of the one proven means of normalizing the negotiation power between you and your employer: join a union, organize your shop, and take advantage of collective bargaining rights. This is obviously easier said than done, but at least it's not based on magical thinking.

Unionizing is definitely an option... but it's worth noting that the balance of power between programmers and employers isn't the same as factory workers. In particular the means of production are so cheap anyone can start a software company.

Re: The Programmer’s Guide to a Sane Workweek

#146

Earlier quoted context omitted.

Others are recording the need for a real on-call rotation, so I'll just jump into this: >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 tim…

I phrased that wrong, but I'm not sure how else to phrase it. I suspect we violently agree, but if you want to take this offline I think my email is in my profile 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 a…

I understand, and I think that you're right that we probably mostly agree with each other. I just have a few nits to pick.

>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 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.

Re: The Programmer’s Guide to a Sane Workweek

#147
post #123

Earlier quoted context omitted.

I appreciate your reply - thanks. 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 f…

I do see your point, yes. The contract is formal for a reason. I'm being far too fuzzy, my team probably don't know what they're supposed to do in the case of an emergency, so log in out of a mixture of curiosity and apprehensiveness. 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 j…

The middle ground is correctly configured alarms that follow team-specific escalation policies and wake up the right people.

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).

Re: The Programmer’s Guide to a Sane Workweek

#148
post #106

Earlier quoted context omitted.

I think this attitude is the problem. If you pay me for 40 hours of work, I owe you 40 hours of work. That is all. 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 manag…

"I shouldn't be able to get shitty code into production" Seriously? My job is to watch over your shoulder and double-check everything you do? No, there's more to life than this.

Of course there is more to life. That's my entire point. I want to be an actively engaged member of the team, rather than a peon. I want to value the work I do and the people I work with. But there's the rub. Being an active, committed, engaged member of the team shouldn't equate to giving away the one thing of value I have — my time — for nothing.

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.

Re: The Programmer’s Guide to a Sane Workweek

#149
post #123

Earlier quoted context omitted.

I appreciate your reply - thanks. 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 f…

I do see your point, yes. The contract is formal for a reason. I'm being far too fuzzy, my team probably don't know what they're supposed to do in the case of an emergency, so log in out of a mixture of curiosity and apprehensiveness. 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 j…

> my team probably don't know what they're supposed to do in the case of an emergency, so log in out of a mixture of curiosity and apprehensiveness

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)

Re: The Programmer’s Guide to a Sane Workweek

#150

I went to a talk once on leadership. One of the suggestions was to get your "go to hell kit" ready. That is, get enough money in the bank (whatever that means for you) so that you can walk away if things cross your personal lines, be they moral / work-life balance, whatever. It's a good thing if there's pressure to work silly hours. In my first job (recent grad) before I left the job, I'd been working 5 weekends stra…

Another name I've seen this under is having "F You Money". Or in other words, enough money that if you ever need to tell management "F You", you can do so without fearing for you or your family's livelihood. 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…

That's what I've always called it ;)
Post reply on HN