|September 15th, 2019|
The biggest component of this is how excited I am. When I really get into something, that's when focus comes easily. I recently finished a project at work where I was building something that dramatically improved something the team had found frustrating for years. I could see where I wanted it to go, and I was excited enough that when I ran into issues I pushed at it until I had good solutions for them. The bass whistle project was another one like this, where I couldn't think of anything else for about a week, until I had something coded up and working. I didn't need to make myself focus, I needed to make myself do the rest of my life.
A lot of other factors matter, but are mediated by excitement. Short iteration cycles, where I can quickly find out whether something worked, are so important to me because they keep the excitement from draining away. Doing something no one has done before, that a lot of people are going to like, that needs doing urgently, or that I've been thinking about for a long time all help, but mostly because those are exciting things.
In-person collaboration also helps, in at least two ways. When I'm working with someone, talking to them directly, it feels like ideas flow much better. It's most fun when we have complementary skills, each filling in for and learning from the other, but even when the other person is inexperienced it still helps to have another person's worth of working memory. And then if I'm working one-on-one with someone I can't respond to brief roadblocks by letting myself get distracted.
There's also a component of mental patterns: if I'm in the habit of tabbing over to Facebook I'll fall out of focus more easily.  The hard part for me is that I'm often doing work that is full of short breaks that should be fine to fill: waiting for compiles, for queries, for tests. This means that when I've tried to make myself rules like "no distraction activities" I either get bored enough waiting for things that I can't stick to the rule, or I learn how to turn some previously fine activity into a diversion. The feeling of "I can't make progress right now, let's distract" is shared between "my code's compiling", where waiting will help, and "this problem is hard", where waiting (mostly) won't. How well I'm able to distinguish these in the moment varies, however, and I'm not all that good at it. This also means that if I'm doing a kind of work that lends itself to unbroken effort (washing dishes, framing a wall, coding something that's fully in my head) then I'm much more likely to just work until I'm done.
There are also kinds of work where I need to be in a very distraction-prone mindset. Analysis is often like this for me, where I relax my barrier between having an idea and trying it. Sometimes this leads me to explore aspects of a problem that are really promising, and other times it leads me to explore the history of bi-level railcars. You would think this would be very easy to reign in, and it is for me when I'm excited about the analysis, but my excitement can go off in pretty random directions.
Another aspect is that when I have something I have to do that I'm just not excited about, it's really hard to get myself to do it. I do have strategies, like sitting down with just a piece of paper or a single browser tab and telling myself I can't get up until I've hit some criteria, but it goes very slowly and is very unpleasant. Sometimes leaving tasks like this until I do get excited about them helps, but not if I never end up feeling that way.
In the other direction, I've done some of my best work while distracted from something else that I was supposed to be doing: my sense of what's exciting sometimes gets at something my conscious prioritization doesn't. Additionally, "doing things when I'm excited about them" often means "do things when they're most tractable". I'm nervous about breaking something that overall has outcomes I like.
Some of this feels like what Constantin describes in The Costs of Reliability. The whole post is good, but in particular: "people given an open-ended mandate to do what they like can be far more efficient than people working to spec... at the cost of unpredictable output with no guarantees of getting what you need when you need it".
There's also a lot that resonates in Graham's Disconnecting Distraction, including "Another reason it was hard to notice the danger of this new type of distraction was that social customs hadn't yet caught up with it. If I'd spent a whole morning sitting on a sofa watching TV, I'd have noticed very quickly. That's a known danger sign, like drinking alone. But using the Internet still looked and felt a lot like work." Time holes and culture of handling them are both evolving, and figuring out how to keep from falling into them involves constantly learning how to tell good from bad uses.
Overall, this both is and isn't a big problem for me. It isn't, in that I am often very focused and get a lot done, at work and at home. It is, in a sense of opportunity cost: possibly I could be doing a lot more if I were able to focus more by either (a) influencing my excitement or (b) doing important things without excitement.
I initially wrote this as a "here's where I am" post, but rereading it I do have a few ideas:
- Putting more effort into recognizing the cases where "wait a bit" will help me make progress
- Bring a book to work to read during times when waiting really is the best next step, since it's both much less addictive than a digital device and better understood.
- Spending more time working directly with others.
 A strong correlate for this with me is, if I put a piece of chocolate in my mouth, do I chew it or am I able to wait and enjoy it slowly? And, weirdly, this seems to still give signal even though I now use it for self-evaluation.