Sometimes I’m developing on a particularly difficult task, maybe it’s a bug I can’t quite squash, or a feature I’m a little stuck on. But sometimes, when I get to that hard part, instead of hunkering down on it, my brain says “oh well, time to go see what’s on the internet!” This is the Dread stage of software development.
Between you and me, the logical part of my brain knows, yes, this is a bad path. When I encounter a hard problem, skipping off to the internet is the last thing that’s going to help me. But obviously there’s a compulsion in there that makes me do it.
This is pretty much procrastination 101, where I don’t want to do the hard thing, so I go do the easy thing instead. But I think it’s also compounded by working from home all the time: I don’t really head to Twitter to see cool links, but instead to hear from people. That’s unfortunately one of the messed up parts of Twitter: humans are mixed in with brands, and everyone seems to be linking off to something they find interesting; there never seems to be a lot of human conversation (other than impossible to follow shouting matches).
I’m not trying to excuse heading off to the internet, but I am trying to understand why I do it because I’m hoping that will help me prevent doing it.
This Dread stage only gets worse as time goes on: the less I focus on the hard problem, the harder it becomes. So the “obvious” solution is to keep a longer focus on the problem (easier said than done). But the underlying solution, I think, is to feel more engaged with the problems I’m working on. While I find working for Khan Academy to be immensely fulfilling, every app has its share of mundane bugs and features. I need to remind myself, yes, maybe this random UI bug feels pointless, but it’s in service of a greater goal (helping millions of learners have access to a free education). And it’s really hard to see that, especially when I’m a developer looking at code that could be in any app, that in fact this isn’t just a random bug, it has positive impact far beyond the bug itself.
It’s so easy to get lost in the minutiae of every day hard problems, and it’s so hard to remember, sometimes, why I bother. But I think it’s worth it in the end.