Working hours for engineers 🗓

Saturday, August 18, 2018 :: Tagged under: engineering management. ⏰ 6 minutes.


Hey! Thanks for reading! Just a reminder that I wrote this some years ago, and may have much more complicated feelings about this topic than I did when I wrote it. Happy to elaborate, feel free to reach out to me! 😄


🎵 The song for this post is Gimme Chocolate!!, by BABYMETAL. 🎵

I heard an anecdote about a bunch of honchos of a company having a leadership meeting, discussing headcount. One of company's non-technical leaders said: "I looked into it and your engineers, on average, clock in at 11:00AM. Don't tell me you need more resources, manage your team better to work normal hours."

This is a contentious topic. I heard this and had a few reactions that don't fit into Twitter.

Simple math

I'll start by stating the obvious: of course adding more time to someone's work schedule, all other things being equal, will mean more output. If you came in at 9:00 instead of 11:00 and worked the whole time, over 5 days of a week you're adding 10 more hours. Think of what 10 more hours of weekly exercise does to your health! Or 10 hours of weekly piano practice! 10 hours ain't nuthin'.

I've experienced this. At my first startup gig where I was 1/3 of the engineers, I produced a lot of code. I was asked a few times how I was able to ship so much, and the best model I could come up with was: "I start working at 9:30, others get in at 11:15, I think part of it is that I just plug in more hours."

A talk I linked in an earlier post argued "exercise is massively overindexed as an important part of weight loss" but opened with the line "to be clear: I do believe in thermodynamics!" Sure, if you burn more calories than you consume, you will find that energy from somewhere, and that will come from your body eating itself; physics is real. But the rest of that 40 minute talk described how thermodynamics, while real, somehow isn't enough of a force such that exercise will meaningfully enable long-term weight loss for most people, and I think a similar force is at play here. Believing that working hours is a major input on an engineer's effectiveness is shortsighted, and if you're a manager (or especially a non-technical leader), you'll shoot yourself in the foot applying traditional work models.

lmao culture

Atypical working hours are more common in software than most other white-collar jobs (think consulting, banking, or finance). That alone doesn't mean it's acceptable, but it might suggest there are deeper reasons for this behavior, given that it's so prevalent.

Now, if asked "why do engineers show up in T-Shirts at 11:00?" and you answered

capitalists collectively invested billions into college-aged privileged boys, glorifying "boy king" narratives while demanding little accountability (often rewarding childish, irresponsible tendencies and practices), and as a result tech company culture is often more like a fraternity or treehouse rather than a collection of intelligent adults trying to build a value-producing, sustainable, civically-responsible business

I'd 1000% agree with you. That's a huge part of it, tech culture is fucked, and we should fix that too. But that's not all of it.

I'd argue engineering is creative work, and this optimizes for a different employee base and different work habits than many other professional classes to which it's superficially similar. The best analogy I can think of is ad agencies (think of the fancy offices where they have, like, hammocks and shit), or the inside of a TV show's writer's room (for most people, the closest you've seen to this is the cast of 30 Rock, where you have disgusting Frank but also Harvard-graduate Twofer).

The "writing team" of 30 Rock's show-within-a-show. All sorts are present and add to the cast.

Worked with brilliant engineers who fit these profiles and more.

Who gets into engineering

It's worth remembering that learning engineering is a pretty heavily-gated process. Like playing a musical instrument, it doesn't come naturally or intuitively. You have to push through a lot of failure, practice deliberately, and the best engineers I know can be described as "having stepped on thousands of rakes." Often you don't have a teacher figure to give you gold stars along the way, and you need enough time and motivation from somewhere to learn it (to say nothing of access to technology, or overcoming everyone's shitty biases if you're underrepresented).

You're normally doing large parts of that journey in isolation. Most programmers don't read code recreationally, many don't "code socially." Bringing them into a team environment is often an adjustment, and no two shops have the same tech. Hell, I've been at 4 companies using Flask for backends, and nobody did it similar to the others (being real though, a lot of that is how little Flask gives you, and Python 😛)

All this to say: for many engineers, the skills in the craft didn't come from the same places as clocking in early with a freshly-ironed clothes or well-kept hair.1 This doesn't mean we're "special creatures" you have to coddle (we are just people) but the profession attracts a different sort than those who always show up on time and paint in the lines.

(I'd argue that many white-collar jobs lean on these things to because the appearance of competence or success is actually how many of them are graded. But that's much larger essay, and frankly, SWE also judges a lot by appearances.)

Good management cares about its people

Tim Chevalier (has since protected their tweets) said something I liked (paraphrased): "many managers disallow remote work because they don't know how to evaluate an engineer's performance without the associations from seeing them around the office." In a world where most people are only okay at their jobs, I suspect many managers tweak the easy knobs ("come in early") rather determine what success means for that company, do deep work to learn which work is required, creating an environment for many types of individuals to do that work, then seeing if it got done. They'd rather feel in their gut "so-and-so… I feel great after conversations with her!"

And to go back to the "creative class" bits: software is home to many types of people. I struggle with depression. Here's Leigh Honeywell discussing a recent ADHD diagnoses, with resources. Here's tef discussing the same. It could be that your engineers have a medical diagnosis and they've structured their life knowing what's best for themselves. If you're hung up on getting them to show up at a certain hour, there's a good chance you're going to lose good people.

Market forces: A funny time to be an engineer

This is an interesting and weird few decades to be a software engineer. On the whole, we don't know what we're doing. Everything we write is about as secure from attack as thick cardboard. Our chips and hardware are millions of times faster than it was 20 years ago but the experience of using a computer still feels much the same because our "improvements" to software have a funny treadmill quality on code efficiency. While this article contains many simplifications, there's something to be said for arguments to not call us "engineers," since that work is normally reserved for people applying hard science and rigor, which most of the time, we're not.

But, with all that in mind: we're swimming in job opportunities. Code is terrible, but everyone wants someone who can write it.

Some folks make the case that one day, software jobs will look more like blue-collar machine operation, but right now, that's not the typical case.2 Software engineers are the worst, except for everybody else.

So

I forget who said it, but: "not working hard enough is almost never the cause of your company's issues. It's often a symptom."

If it isn't clear: I don't think telling people to "just come in earlier" will work out too well for you. I understand the frustration, but I think this is better-suited demonstrating empathy. Chances are, there's a cost to cranking the easiest, surface-level knob.


1. ^ Nor is the converse or inverse true! A lot of excellently-groomed folks who come in at 9:00 are fantastic engineers, and there are many messy nerds who aren't that great at coding.

2. ^ There's another, longer set of blog posts arguing that the main force holding this back are engineers; we often optimize for feeling smart when we work. This means a lot of innovation and investment cycle between solving problems that have already been solved elsewhere, or problems that don't actually exist.

Similarly, we could make our foundations a lot more solid, but choose not to because it would require a ton of coordination which is less fun than building and re-building.

Thanks for the read! Disagreed? Violent agreement!? Feel free to join my mailing list, drop me a line at , or leave a comment below! I'd love to hear from you 😄