The One Hard Thing

People (myself included) love to make cascading lists of tasks. Actions, each of which are needed to improve a product, release a feature, or manage people. These lists tend to explode in size, as more is asked of you.

There's one problem: I have only eight hours in a working day. With so little time, how can I be expected to both maintain existing projects (bug fixes, etc.) while consistently delivering new functionality and maintaining a fast iterative loop?

Insight

I've had two key insights that have led to some tremendous personal productivity gains.

First: I've observed that the difficulty of my tasks tends to follow a Pareto distribution. A small number of tasks are shockingly difficult to solve, while a much larger set boil down to communication.

Second: the morning is my most productive time of day. For some reason, I'm able to tackle problems with an otherwise unusual mental clarity. I suspect it's something to do with the natural human circadian rhythm or digestion.

Leveraging the Pattern

Motivated by these two observations, I've developed a habit: I dedicate each morning to its own difficult problem. This is a single task that is chosen specifically to stretch my limits. I call this my daily one hard thing.

Previous examples:

  • Developing the first version of harper-ls which is now used by thousands of developers daily.
  • Building the first 80% of the Harper Obsidian plugin, which is also widely used.
  • Grokking how Jetpack's Write Brief with AI feature works (before I joined Automattic).
  • Compiling Harper to WebAssembly and embedding it somewhere no one has put a grammar checker before: inside the web browser.

Think About It

I implore you: think about how you work. How is your energy affected by the things you do in the day-to-day? If you enjoy your eight hours, maybe the rest will be better too.