Like many people, I have most of my best ideas in the shower.
This is sometimes annoying: I could use more than one shower’s worth of good ideas a day, but I’d rather not end up as a shrivelled yet insightful prune. Mostly, though, shower ideas are the incentive that keeps me smelling okay, so I grudgingly accept the constraint.
The time when it was most constraining was the first time I became a manager. I only had a few reports, so managing them wasn’t a full-time job. But I was very bad at it, and so it should have been what I spent all my shower insights on.
Unfortunately, I was spending my non-management time on programming. And even if I tried to use my showers to think about my thorny and awkward people issues, my mind somehow always wandered off to tackle those nice, juicy software design problems instead.
Management Attempt #1 didn’t go very well; being distracted by programming, I made lots of embarrassing mistakes that made my reports’ lives harder, which in turn made me feel stressed and guilty. I ended up bouncing back to being an individual contributor after a few months.
That experience of mine resonates strongly with Byrne Hobart’s observation about focus in knowledge work:
The output of knowledge workers is extremely skewed based on focus. The productivity tiers seem to be:
<10% focused on the job at hand: meaningful risk of getting fired.
10-50% focus: “meets expectations,” gets regular raises.
50%+ focus: superstar, 10x engineer, destined for greatness.
“50%+ focus” is roughly when something becomes the top idea in your mind. It’s when you start caring enough to think about it in the shower. It’s when you start habitually asking “how could this go faster?” It’s when you get relentlessly resourceful. It’s around when you start annoying your coworkers and/or significant other, although that part is avoidable with practice.
Most importantly, you can only be 50%+-focused on one thing at a time—or zero, in bad cases. That makes it critical to conserve your attention, so that you can spend it on what matters.
I’ve found a few different strategies that help me with this:
It’s hard to recruit 50%+ of your brain to work on something just because you feel like you “should” do it. Your superego might listen to this newfangled “logic” and “reason” stuff, but the monkey-era parts of your brain can’t be fooled so easily. To be reliably able to focus on something, you need to be intuitively, emotionally invested in the outcome.
For me, that’s not automatic—for instance, even though I’m incredibly excited about what Wave is doing, my day-to-day motivation gets worse if I work remotely for too long without visiting our operations in Senegal. Unless I can periodically see for myself that people are using the things we’re building, it starts feeling a little bit fake, like the so-called “real world” is a simulation that I can only communicate with via Slack channels and
As a programmer, I tried to make sure that I was only ever working on one thing at a time. Even if I got stuck on that one thing—say I was blocked on waiting for a tech partner to give me API documentation—I’d let myself stay stuck instead of sliding off to work on something else.
In the short term, this made me less efficient, because I’d spend less time programming and more time staring vacantly at the ceiling. But if I stared vacantly for long enough, I’d eventually get mad enough to, e.g., reverse-engineer the partner’s API in a fit of rage. This resulted in me shipping my most important projects faster, hence getting faster compounding growth.
As a manager, it became impossible to “only work on one thing:” there were too many small tasks and too many projects going on in parallel. But I have a similar principle: I can only have one obligation to other people. “Give advice on this project?” Whenever you want! “Review my 1,000-line change?” Only if review isn’t blocking you from shipping it. “Check in every so often to make sure this doesn’t go off the rails?” Sorry, I have to, uh, powder my nose. “Figure out what the process should be?” I’ll get back to you in a couple years. (The best process is no process, right?)
During Management Attempt #1, my programming project distracted me so much because other people cared a lot that I finished it—if I ever had to de-prioritize it, I would make those people sad. This made it take up my attention (by worrying about letting people down) even when I wasn’t working on it. Unfortunately, since management work comes in urgent bursts, I’d often end up in a situation where I had to delay either the programming or the management—i.e., choose between making two different sets of people sad—and in those cases it was very hard for me to control my focus.
Now that I’ve noticed this, I allow myself to contribute to multiple things in parallel, as long as they don’t tax my object permanence skills—if I totally forgot about this project today, would anything bad happen? As long as the answer is no (usually because someone else is the one taking initiative to move things forward), I can be pretty sure that project won’t try to colonize my brain in the shower.
Even if I have only one major project that other people depend on, I somehow always end up with a bunch of minor chores to do—responding to emails, deflecting secondary obligations, buying household necessities, powdering my nose, filing expense reports, etc.
For these, I employ a “bullshit timebox”—a one-hour period a few times a week when I do all the things life is too short for. During the remaining 165 hours per week, I do my resolute best not to think about any of the bullshit, no matter how much people bug me about whether a 1.5" tungsten cube is really a legitimate work expense.
In order for bullshit not to distract me for the rest of the week, I try to minimize my number of “open loops”—projects or processes that I’ve started but not completed. Much like how I single-task on programming until it’s done, I’ll make phone calls instead of email threads, or, God forbid, texts or instant messaging. It took a while for me to train my friends not to instant message me, but by now they remember my rants about how distracting it is, practically word-for-word.
Management Attempt #2 didn’t go great for me either. But I finally did an okay job at Management Attempt #3. Part of this was because I avoided repeating the particular mistakes of Attempts #1 and #2. But part of it was that on Attempt #3, our engineering team grew quickly enough that I went from “no managing” straight to “full-time managing” with no transitional period in which to be distracted, screw up and be miserable.
Once I was full-time managing, I had no shiny distractions and was able to spend my showers focusing on how to be a better manager. And once I was 50%+ focused, well, I haven’t become a “superstar 10x manager” yet, but I quickly stopped being 0.1x.
Thanks for writing all of this! One technical question that I have, what are you using for comments? I guess this is a static site isn’t it?
what? for real?
As an engineer in the bay area, I found this blog post pretty insightful – I can relate to a lot of what you said.
So far it sounds like all of your suggestions have been to work with or around your personality instead of “against the grain” so-to-speak. I’ve found that as an adult, I needed to gain some rigor in order to become more productive. For example, sometimes there’s tasks at work that I just really hate and don’t want to do. Sometimes, you just need to force yourself to do them – pain tolerance is a valuable skill for software engineers. Not everything is going to be a fun math problem you get to solve.
Why say “As an engineer in the bay area” when you could just say “As an engineer”?
Reminds me of how people who went to Harvard seem to have an uncanny ability at finding opportunities to mention in conversation that they went to Harvard.
great post, a lot of the management fails i’ve had in my short career have happened when the person was supposed (or chose to) fill the role of both a manager and individual contributor.
it’s very hard to pull yourself away from writing code, and I think that’s why I still haven’t made the transition myself into management.
in addition, when I’m contributing directly to a software project, I feel a greater sense of accomplishment than I do with managing. there are a lot of moments in a manager’s day where it feels like nothing got done for reasons outside of your control. good luck at attempt #3!
Can’t imagine i am reading this. I would have spoke this in my mind a 1000 times. Can you please ping me any related articles / books that you read of similar nature and you found value out of it. Thanks my email is soundararajan at outlook.com.
Bad managers tend to be people that used to be engineers that weren’t 10xers. At the same time, the best engineers that will accept the job tend to become managers of engineers. Those that accept the job at the point that it’s offered to them tend to not be 10xer engineers (or whatever you call those coworkers that you love working with).
This, I believe, is the biggest fundamental unsolved problem in technical management and technical growth of a ~50 person+ company.
I enjoyed reading this.
Thanks for sharing this. Very helpful advice and motivation to push back when things come along that steal my attention.
This article might be the most personally impactful article I’ve read. Thanks a bunch and keep up the good work.