Tasks have a way of multiplying like rabbits, overwhelming you quickly. After a few days on a new project, you’ll go past the point where you can easily track everything in your head. Those undone tasks will hound you and come to mind at the most inopportune moments, distracting you from the task you’re currently working on. And since programming requires a lot of concentration and focus, you won’t be able to maintain a state of flow, hurting your productivity.
Nobody can keep all those tasks in their heads, and you shouldn’t aim to. Fortunately, the fix for this is simple : a pen and a notebook is all that’s required. Always keep them close by and when a new task comes up, jot down immediately what needs to be done and all important details you must not forget about.
It doesn’t need to be perfectly clean and presentable. The point is to help your memory and get those tasks out of your head so you can focus on something else without worrying you’ll forget. As long as you can understand yourself, that goal will be reached. You can enter your tasks in a fancy task management system later, but for this to work well you need to be able to take notes fast at any time, so pen and paper is best.
There are no brownie points for trying to work from memory all the time, and nobody will look down on your for taking notes and being organized. In fact, people will trust more that you’ll do what you’re asked since you’ve shown that you’re paying attention. What’s not impressive is forgetting things that you promised your bosses or your clients because you were so sure you would remember. Also, when asked about your current status and progress, you can just take along your notes and you’ll have a clear idea of what’s going on.
This practice comes from the Getting Things Done (GTD) productivity framework, which is all about tracking and managing your tasks and projects. The methodology itself is pretty large and not suited for everyone but the book is worth a read if you want to improve your own productivity.
The part that’s interesting here is about open loops: tasks that are not necessarily complex, but that keep coming up in your head asking for attention since they are not complete. Once you’ll get used to dumping everything on paperm you’ll close the open loop as soon as you write a task down. Your brain will trust the task is handled since you wrote it down and it’s now in your system. You can then let it go of those tasks since they won’t be forgotten and concentrate on something else.
This should be used at any time, not just when somebody directly gives you a task. For example, you can use it during coding sessions to improve your focus. When you think about something should be done later and you’re not in the right place in your code to write a quick TODO, write it down on your notebook. You can then let it go and go back to the task at hand immediately. You won’t loose your current state of flow and the undone task can stop spinning in your head since it’s been handled properly.