This article contains affiliate links. See my affiliate disclosure for more information.



I'm not big on New Year's resolutions, but I made one this year.

I decided to keep it simple: Do more of the things that make me happy, and less of the things that don't. But, this newsletter issue isn't about my new year's resolution. Well, not directly.

It's about the word simple.

As a technical writer, I've focused for years on crafting simple explanations of technical topics for audiences of all levels, whether through my own writing or by reviewing drafts by others.

At the same time, I've neglected to simplify the systems and processes that organize my daily life. So, what do I do? Less of the things that make me happy, and more of the things that don't.

Maybe you see the problem.

✉️
This article was originally published in my Curious About Code newsletter. Never miss an issue. Subscribe here →

Easily the most influential book I read last year was The Programmer's Brain by Felienne Hermans.

In it, Hermans presents a framework for understanding how your brain processes information, specifically while you're programming. The framework is general enough that you can use it to identify sources of confusion in just about anything. Some people know this framework as “the rule of seven plus or minus two.”

I like to call it "the rule of six." It's simpler.

The framework consists of a useful model of how the brain stores and processes information, and a condition that can lead to confusion.

Memory is divided into three parts: long-term memory for knowledge, short-term memory for recent experiences, and working memory for processing and learning. Working memory can only hold a limited amount of information (around six or seven chunks) and confusion is more likely when it is overloaded.

How your brain processes information (roughly).

The rule of six not only transformed how I code and how I write, it transformed how I think about simplicity:

💡
Simple is not the opposite of complex. It is the absence of confusion.

In fact, simplicity can breed mind-boggling complexity.

Think of fractals or emergent properties of complex systems from simple rules. All of the advances we've made in computing can be boiled down to new ways of organizing bits and a few mathematical operations. But can something be simple if it can't be described in easy-to-understand terms?

Nearly all of the friction I experience daily is rooted in confusion. Confusion about what exactly a task entails, confusion about how to use a tool, or confusion about the next step in a process.

That confusion has to go.




Our brains use chunking to break down complex tasks into smaller, more manageable pieces that are easier to understand and remember.

Chunking is a cognitive process in which individual pieces of information are grouped together into larger, more meaningful units. I think of chunking as an indexing system for my brain. It allows me to recall many related pieces of information without cluttering my working memory.

And chunking isn't limited to brains.

For example, we use chunking to organize our work in various ways.

Related tasks are grouped into projects. Files are organized into folders. Code is grouped into functions, classes, and modules. We even chunk our git commits into branches and pull requests. I'm convinced that a good chunking strategy is key to simplifying my daily routine and freeing up time for other activities.

So, I've been using the Pomodoro technique (with the Session app) to break down my tasks into short, focused intervals with breaks in between.

It's been an effective strategy:

  • Pick a task on my to-do list
  • Gather the relevant information for the task
  • Split the task into 30-minute chunks: work for 25 minutes followed by a 5-minute break

For the first time in a while, I finished all of my work before picking my daughter up from school. I had dinner ready before my wife came home from work, and more time to play with my seven-year-old and help my teenager with her schoolwork. All that just from eliminating a little bit of confusion about what I'm working on.

That makes me happy.


Using the Session app to manage Pomodoro sessions helps optimize my time, but it doesn't address all of the confusion that slows down my work day.

To a large extent, the systems that need to be simplified are socially maintained. They not only affect myself, but also my family, friends, and co-workers. I'm going to be thinking a lot this year about optimizing teamwork. But for now, I'll focus on things I have direct control over, like how I spend my time.

Fortunately, I've got a highly optimized system to look to as an example: that wrinkled grey chunk of neurons between my ears.




Learn more about the rule of six and how it helps you write less confusing code:

Want Cleaner Code? Use the Rule of Six
A simple and powerful framework for ironing out confusing code.

Dig Deeper

Read about the cognitive science behind the rule of six, and other ways to minimize or eliminate confusion while coding in Felienne Hermanns book The Programmer's Brain.

Get instant access from Manning*, or buy a print version from Amazon*.

* Affiliate link. See my affiliate disclosure for more information.