By Eric Goebelbecker July 13, 2018

Bullet Journal: A Productivity System for Programmers

Whether you work full-time as an employee, for yourself as a business owner/freelancer, or are juggling both, you have a lot to keep track of.

Development involves tracking a great deal of detail for each project, and when you have to manage clients, it’s double the details. Plus, there’s that whole “having a life” thing with its assortment of tasks, dates, obligations, and annoyances.

Managing this information is important if you’re running your own business or are headed in that direction. Missed appointments, blown deadlines, and forgotten details are nobody’s fault but your own when you’re the boss.

So it’s no surprise that planners, tracking tools, note-taking applications, and other related software are big business. Look at the “productivity” category of your favorite app store. Only games exceed the number of applications you’ll find there.

But many developers end up with information scattered across several systems. Notes are stored in different applications that may or may not sync across all of your devices. Text files lie scattered between different projects, while Post-it Notes and scraps of paper wait, jammed in pockets, wedged between pages, and stuck to monitors, for you to remember why they are there.

So this is my recommendation: dump all of that and replace it with a pen and a notebook.

Bullet Journal (BuJo for short) is a framework (with a small “f” and no API docs) for managing notes, tasks, and appointments. Like the better frameworks we developers use, it’s flexible and you can adapt it to your individual needs.

An Analog System for Collecting Information

Programmers come across a great deal of new information as they work. We’re handed new requirements, finding new opportunities to improve code as we edit it,  discovering new bugs, and learning about new libraries and technologies. We can’t act on all of these things at once. BuJo adapts to our personal workflow and provides a place for us to process information as we accumulate it.

BuJo makes it easy to keep your notes and to-dos in a single place, categorize information as you input it, and determine what you need to be doing at any moment.

Bullet Journal is comprised of modules called the Daily Log, Monthly Log, Future Log, and the Index.

  • The Daily Log is the heart of the system where you track tasks and appointments and compile notes as you go along. Different bullets signify different types of entries, which makes data entry fast, and scanning entries quick and intuitive. The Daily Log can hold tasks and appointments, and you can add notes about anything.
  • In the Monthly Log, there are two pages for each month, one with a list of days for appointments and deadlines, another with a list of tasks you want to complete that month.
  • The Future Log is what it sounds like: a log organized by month where you list appointments and tasks that are due beyond the current month.
  • Tying it all together is the Index. You number your journal pages and use the index for finding sections by month or topic. If a daily log ended up turning into a clean page with notes from a meeting or ideas for a project, you can index it for future reference.

However, the real power in BuJo is the concept of migration. When we can’t complete a task or need to defer it, we put it where it needs to go.

So when we come across code that needs refactoring, or a class that requires unit testing, we can make a note and then, during our next BuJo review, place it in one of our logs so it can be done when the time comes.

This four-minute video is a great introduction to BuJo. It may even be all you need. The system is that simple.

Why to Start Using Bullet Journal

You’re probably thinking, “So, it’s a hipster PDA? Seriously?”

Yes. Seriously.

I’ve been around long enough that I once had a first-generation Apple Newton, then a few different Palm Pilots, and even a Psion. I can’t remember all the different organizer apps I’ve used since iOS and Android replaced PDAs. (Remember “Remember The Milk”?)

But regardless of what software I used, I still ended up with Post-it Notes scattered around my desk, in my pockets, and sometimes even stuck to my phone. Even the best-rated and most hyped apps ended up unused and being a waste of money.

I’m sure apps work for many people, but from talking to and observing some of my friends, pen and paper are still a solid choice for many.

I’ve had terrible penmanship since grade school and several surgeries on both hands. Writing can be painful, but regardless of what I try, I end up back with a pen in my hand. A journal gives me a single place to store my information, and writing things down helps me remember them.

The Power of Writing It Down

There’s research that says writing something down results in better retention than typing it. This makes intuitive sense too, since handwriting forces you to slow down compared to using a keyboard, especially if you’re a quick typist.

BuJo takes this a step further with migration. Unfinished tasks are migrated to the next month (or day if you use my method), which means you write them again, increasing the chance you’ll retain the information. Writing things down helps you remember them, but transcribing them makes you own them.

Forcing yourself to write things down and copy them has another powerful side effect: It helps you decide what’s important. I migrate tasks every evening in my journal. If they’re not done after a few days, I tire of copying them and have to decide if I will ever do them.

This is an opportunity to manage and prioritize the issues and information that a developer encounters each day.

Sometimes priorities shift (or are shifted for us) and tasks need to be moved right to the top of the queue the next day. Less critical priorities go into the Monthly Log and  longer-term items to the Future Log. Others are dropped and forgotten so we can focus on what’s important.

Open Loops Are the Mind-Killer

Getting Things Done (GTD) has always been the system I found most useful, and many apps make valiant attempts at implementing it, but applications reflect the beliefs of their designers. If you don’t agree with their choices and their implementation, you either find yourself trying to force the application to bend at your will, or you just won’t use it. Often the result is that your information is scattered between different applications, or those Post-it Notes are stuck to your screen.

One of the most valuable concepts I learned from GTD was the process of collecting open loops into a single trusted system.

Open loops are unfinished commitments. Our typical days are full of them: phone calls to return, libraries to update, builds that need fixing, and new features to plan. They can be anything kicking around in the back of your mind and keeping you from focusing on what you need to be finishing now.

So setting aside open loops for later review is a critical skill for knowledge workers like developers and writers. The context switches that they cause when lurking in the back of our minds, not filed, are expensive.

GTD has us collect open loops, which for BuJo means writing them down, and then processing them on a regular basis. The concept of a “trusted system” is very important. A scrap of paper means you have to remember that it exists and where you put it. A note-taking app on your phone can’t be trusted unless checking it regularly is part of your routine. When you set something aside in a trusted system, you can forget it about because you know you’ll remember it later.

BuJois such a system because it’s a physical item you keep with you and review regularly to process the entries you put into it.

I use BuJo as a GTD system by implementing a daily review instead of monthly. I review my daily log each evening and process the day’s additions. BuJo is a framework—you can change it however you please.

It’s Easier to Get Away From Screens

I do my evening review away from my computer and without my phone nearby. One reason I do this is that it forces me to be honest about evaluating my day and helps me make sometimes difficult decisions about the next day without the option of wasting time browsing the web or sneaking a peek at Twitter.

The other reason is that it’s a way to get me away from screens before it’s time to go to bed. My review is often the last thing I do in the evening before spending time with my family. There’s evidence that getting away from electronics half an hour or so before bedtime leads to better sleep.

During the day, having a journal for my trusted system instead of a device makes it more likely that I will jot something down quickly and get back to work.

It may seem faster and more direct to enter a software-related issue directly into Jira, but sometimes a quick visit to Jira turns into half an hour of flipping through artifacts and checking up on the team.

You Can Make It Your Own

bullet journal

When you use BuJo, the best system is the one you use, and the one you use is the one that fits into your workflow.

If you code for long stretches and are fortunate enough to work on one project at a time, weekly or monthly reviews would probably work best, and you might not even need a future log or an index.

If you’re in a management position, daily reviews and building detailed but flexible schedules might be best.

An empty notebook and a framework for organizing it will always be more flexible than software. We’ve all written code and we know how our opinions creep in, regardless of what we are coding.

Since BuJo is based on a set of flexible modules, you can leave parts out or add in new ones based on what you need. While I don’t use note-taking or task management apps, I still rely on a calendar application for some reminders and am still saddled with Outlook for the day job.

You Need a System

Moving to a pen and journal to stay organized might seem like a step backward for a developer at first, but there are plenty of reasons to give it a try. Bullet Journal is a modular system that can become the basis for GTD, a system that many developers have adopted with varying degrees of success for over a decade.

Oftentimes the most effective system is the simplest, and few things are more simple than a single notebook and a pen.

But at the end of the day, find a system that suits your need and use it. It will help you take control of your career and your business, and make things happen.

About the author

    Eric Goebelbecker

    Eric has been developing software for the financial markets since 1990, after an 8-year career in the military. You can find his blog here and his tweets over here.