About the personal effectiveness of a programmer, or How to focus on the most important thing without forgetting about everything else


    Until a certain point in my life, I did not think about any self-organization. All a small number of student (post-graduate, junior-developer'sky) cases fit in my head, I remembered at the right time, and what was not remembered was unlucky. Marriage, repairs in an apartment, the birth of a first-born, a change of three places of work - all this was somehow managed to be kept in mind. But as they say, the farther into the store, the higher the loan rate. At some point, I had the feeling that I was constantly engaged in “extinguishing fires” at work, at home, in graduate school: I missed the deadline for the work task, did not remember the trip to the doctor with the child, reached the last one with ordering hotel tickets for summer vacation ... About any hobbies and getting pleasure from life, there was no talk at all.

    The workflow, too, was like juggling burning kittens: I’m writing a code - an Outlook notification pops up - I rush to read and deal with the letter I received - the manager calls with a reminder of the order - I put everything aside, frantically looking for the letter among hundreds of similar ones in the Inbox. Found - did, returned to the code with the thought: “Damn, what am I doing here!?!?”. You can forget about deep immersion in tasks. And this despite the fact that due to the specifics of the company where I worked then, I did not have Internet access at the workplace. Otherwise, I think I would not have returned to the code.

    Once the universe took pity on me, and visiting my friends I came across the book “Time Drive” by Gleb Arkhangelsky. From the first pages stuck on it - these are the answers to my questions to myself from the series “Where to run and what to do?”. From that moment in my life the era of self-organization began (it sounds very pathetic, but it is).
    To build a system based on the "Time Drive" I did not succeed. In my opinion, because Arkhangelsk in this book reviews the topic of self-organization, without going into specifics: they say that there are to-do lists, here are motivational techniques, and here are the rules of behavior. As a result, I could not isolate a single system of the “do it once - do two” class. After a busy search for materials, reading and trying to adapt what I read to my life, I liked David Allen's Getting Things Done (GTD) technique the most.

    I will not describe GTD, there are more than enough materials and reviews on this technique. You can read:

    I will talk about my own experience in adapting the methodology to life, about the stages of organization following the introduction of the methodology and the results of its application.

    GTD Experience

    To begin with, I’ll talk about what got on my GTD and in what form.

    Inbox / Baskets

    Creating the right baskets is great for relieving your head. My favorite feature is the Quick Entry window in Doit.im or MyLifeOrganized.

    Quick Entry at MyLifeOrganized

    Quick Entry at Doit.im

    Do not hope that the idea that comes to your mind while writing the code lives there for more than five minutes. Shortcut - fast recording - return to work. The flow state is disturbed minimally.

    Email is laid out in folders. I don’t leave anything in Inbox by the end of the day. I made a simple hierarchy of folders for projects, plus folders for letters that contain materials for tasks, and letters awaiting a response. I check my mail several times a day, put everything in folders. No notifications and pop-ups.
    Many services (Doit.im, Wunderlist, Evernote) have the ability to send letters to a specific mailing address, after which they appear in Inbox. This is a great thing to include e-mails in your system. I sent the letter - and in the process of disassembling Inbox, you make a decision on it, for example, you convert it to a task, while the related information has already been transferred to the task from the letter. This is how I keep track of the letters to which I am waiting for an answer: when I send it, I put my address in BCC, and then in the case system I mark the task for this letter as “Expected”.

    I collect papers in a separate tray on the table, and for all kinds of receipts and bills I keep a separate folder. I went to the bank (or to the Internet bank) - and paid everything with one batch.

    The calendar

    Entering an appointment in the calendar is the ABC. It’s still good to write down triggers on the start of projects in the calendar, for example, a week before the end of insurance, put on the car the whole day “Take on insurance” event.

    When viewing the calendar for this day, the project "Insurance on the car" and some actions on it are started. Shared calendars with my wife help a lot: various family events, school trips, sporting events, trips to doctors and all that are recorded there. When reviewing the calendar for a week or a month, it is clearly visible where there are free slots.

    It is useful to record all sorts of maintenance events on the calendar. For example, if admins send a letter that remote access or version control servers will not be available in such a period, it’s worth noting that you don’t have to count on working from home at this time.

    Projects and Next Actions

    I managed to build a system for myself only after a second (or third) thoughtful reading of a book on GTD and realizing what Allen means by project and why you need a list of projects. After that, things got a lot easier.

    The list of projects and the list of actions on them are excellent tools for controlling the flow and its implementation. I often experienced a slight surprise when, in the rhythm of ordinary life, I looked at the list of projects and found there things that had already fallen from my head, but nevertheless require attention. A list of actions allows you to work, as they say, on the machine: opened and went to click the tasks one after another.

    I like to add multi-way development tasks to projects. Sit with a pencil and paper, work through a task and draw up a mindmap, and then transform it into a chain of specific actions (set up a stand, finalize such and such functionality, make changes to the database, etc.).

    Someday / maybe

    The very existence of such a list is an excellent antidepressant. If you need to do something, but don’t feel like it, then there (to this list) he is dear. The main rule is to still view it at least once a month. It somehow turns out for me that some points turn out to be fulfilled, and even more often - already irrelevant.
    A separate section in my list is all kinds of pending ideas on refactoring, optimizing, finalizing projects in which I participate. If a miracle happens and sparseness forms in a usually busy schedule, you can always fill it with works from this list.

    Additional Lists

    Allen recommends compiling lists for any convenient (and even better - inconvenient) reason. And not in vain, because it is able to translate even creative tasks into a completely routine work. I will list some of the lists that I keep for myself.
    • Films, music, books. I read the review of the film, if they recommend it, I entered it in the list. Before the weekend, I looked into it, chose it, downloaded it - family leisure was provided. Similarly with music and books.
    • To go to the hacienda, the list "Take to the cottage" is actively used . It acquires special relevance in the summer, when the family moves to the country and throughout the week there are requests such as “bring a blue jacket”, “when you go, grab a green car” or “buy us one hundred and five hundred things for the weekend”.
    • Non-urgent purchases. If you already spend a day off on Auchan / IKEA / OBI - then with maximum benefit.
    • Regular payments: rent, phone, courses and sections for children, sending meter readings, etc. - are framed as regularly recurring tasks. You remember about them only when you need to pay.
    • Lists for collecting things. During this year, I attended field corporate trainings several times, and a pre-compiled list (which was replenished during the first trip) helped not to remember frantically what else needed to be taken. A similar situation with lists of things for vacation.

    Regular review

    A full regular review of everything accumulated over the week (text and voice recordings, photos, notes in a notebook, papers in a tray), I managed to spend two times during the entire practice of GTD. It is very long and tiring. Therefore, I deal with everything in stages. Once a week (Monday morning) I sit down for half an hour and clear my current tasks, making a plan for the week. Even such a brief overview allows you to keep in mind the overall picture of current life and balance efforts. Everything else is understood, frankly, from case to case.

    Focus Areas

    This is currently the most useful tool for me. When you make a list of what you want to pay attention to during the year, and you look at it regularly, it is a great encouragement to do these things.

    At the same time, it is not necessary for the wordings to be effective, just marking something like “play sports 2 times a week”, “calling parents more often” may be quite enough. Drawing up such a list of New Year Resolutions is a great activity for the New Year holidays!

    Implementation Results

    I’ll immediately note such a moment (and, as far as I remember, Allen mentions it in his book): one of the main bonuses (if not the most important) from introducing the system is that you stop worrying about things you’ve done, because you’re not trying to frantically recall what you need to do. Everything that I can do, but don’t do, is transferred to an external medium, and you can return to this at any time - this awareness calms and gives confidence. That things may not be done at the same time is another song (they weren’t done before, and no one died of it).

    It is very useful from time to time to look at the whole picture of your life, of your affairs. Firstly, it gives confidence that nothing is missing. Secondly, this motivates the redistribution of efforts between different areas (work, sports, family). In a working race, focus from other areas can go astray: with an intensive mode of work, I repeatedly began to miss workouts, spend less time with my family, and as a result, a mild and a half months later started a slight depression. Such a regular review allows you to come to your senses and escape from the madness of working everyday life.

    What not to do

    At the end of the description of my experience, GTD will share how-NOT-to recipes for those who decide to implement the technique.
    • No need to grab hold of powerful tools (such as OmniFocus or MyLifeOrganized). The best tool for a beginner is the one at his fingertips. And the simpler the better. Only having run the technique on simple tools, you can understand what you need and what works best, and only then consciously choose a more complex tool. I spent a lot of time choosing tools and migrating data between them. At some point, it even began to seem to me that I would rather have done some work in the old system than spent the time moving them to the new one.
    • Do not scrupulously follow the procedure. Do not squeeze yourself into the Procrustean bed of the procedures described. GTD is not a dogma, it is a specification, a set of basic principles. Implementation is determined individually by each. It seems to sound like a Captain’s replica of Evidence, but several times I drove myself into the trap of a detailed procedure to the detriment of common sense. Performing a full regular review before two in the morning should clearly give priority to healthy sleep 
    • Less perfectionism. No need to try to build a single harmonious system, all parts of which will be transparently interconnected (for example, keep all the lists in one application that integrates with the calendar, etc.). I also spent a lot of time and effort on this. As a result, the whole thing ended with the fact that part of the lists is kept in one application, part - in another, and something else exists on paper. The main thing that must be done is that these lists should not overlap; each entry should have a clearly defined place.

    What's next

    As I wrote above, after installing the system “on the rails” a fairly calm (sometimes relaxed) state came. It led to the fact that I did only those tasks from the Next Actions list that matched the deadline, or which I liked more at the moment. All other tasks have been hanging on this list for weeks.


    I get raking such rubble with the help of Mark Forster's "Autofocus" system. Forster released several versions of these systems, I liked the most (the simplest) latest version, which is called the Final Version. The algorithm is as follows:
    1. mark the topmost task in the list;
    2. you scan the list and find the task that you would like to perform before the marked one; celebrate it;
    3. again you scan the list in search of the task that you want to do before the last one marked; you repeat this step until you find such tasks;
    4. perform selected tasks, starting with the last one marked.

    For several such passes, all tasks in the list receive attention, and as a result, the list is cleared.

    Focus and flow

    At some point, I realized that, despite all my notes and debugged baskets, I could not concentrate on work. In addition to internal distractions (ideas, memories, the desire to check mail, Facebook, news, etc.), something constantly tears something from work from the outside - colleagues' questions, phone calls, new letters. After the distraction, it’s quite difficult to restore the context of what you did in your head.

    The solution was found in the use of Pomodoro Technique (this method got its name thanks to the kitchen timer in the form of a tomato). This is a fairly simple way to organize work at intervals: 25 minutes of continuous operation, 5 minutes of a break. After four such cycles, a break of 15 minutes is taken. During the execution of the “tomato,” one cannot be distracted by an outsider, otherwise the “tomato” is interrupted and does not count.

    That one really rocks. I have been working on this scheme for about four years now, and it has become a daily tool. Positive effects are evident.
    • During one interval, you are drawn into the task and fall into that cherished state of the “flow”: you are completely focused on the work you are doing, everything else is relegated to the background, time flies by. I noticed such a thing: even if bedlam is happening around (calls, conversations), all the same, with due effort, the focus appears and all external noise is filtered out.
    • The scheme successfully combines work and rest. During short breaks, you can do a warm-up, and the context of the task in progress remains in the head. During a long break, you can do some non-working task (find something on the Internet, call) or just chat.
    • There is a sound attitude towards external “incoming” ones: mail is checked in free time, notifications are disabled; calls and questions are beaten off by a counter-sentence "let's discuss it in ... minutes, if it's not urgent." The main thing is not to forget to return to this.
    • There is some kind of assessment of the day (how many “tomatoes” have been accumulated), and this also motivates focusing on work tasks, a competitive moment is triggered.

    Separately, it should be said about the moments when you absolutely do not want to work. For me, this is completely normal at times. Maintaining an intensive operating mode for a long time is worth a lot. There are such events and activities, after which all you want is to fall and forget. And, quite possibly, you really need to let yourself breathe out. But often it’s just bouts of laziness.

    In either case, a good way to return yourself to working mode is to do some small things: take out the papers on the table, clear files in folders, find something you need on the Internet (not for work), etc. After two or three such tasks, you enter the working state and you can take on something more serious.


    I divide the tools for organizing into two types: for operational information and for archival information. Accordingly, the requirements for them are different: an operational tool should be fast, easy, synchronize with the phone and work like a clock. An archive tool can be forgiven for brakes, slow synchronization and an inconvenient interface - the main thing is that the data is not lost and the search works.

    The calendar

    Since I sit tight on the iPhone, I use Apple iCloud and the calendar in it. Everything suits me, especially the opportunity to share the calendar. As I mentioned, this helps a lot with family planning. I used Google Calendar for a while - also good. In the amount of functionality that I need from the calendar, these two services are identical.

    Task management services

    For some time I quite successfully used all the same Apple iCloud Reminders. Just listings and nothing more. But the appetite comes with eating, and with the acquisition of experience there was a need for various groupings of tasks, creating their hierarchy, indicating dependencies, etc.

    I liked the two services most of all: Doit.im and MyLifeOrganized. Doit.im is a Chinese copy of the excellent Things program, which, unfortunately, exists only for Mac and iOS. GTD is fairly straightforward in it (all artifacts are reflected: incoming, projects, list of next actions, deferred tasks) and everything Things lacked was added: binding tasks to time, subtasks, clients for various platforms and a web interface.

    Web interface of the Doit.im service

    Currently I'm using MyLifeOrganized. This is a very advanced outliner. Tasks can be built into a hierarchy with an almost infinite level of nesting; there is support for projects, contexts, folders. Context support has one very cool feature: contexts can be included in each other. For example, I have a “Computer” context (for tasks that don't matter which computer to do) and various contexts “DomComputer” and “OfficeComputer”. The “Computer” context is included in both of these contexts, and I see tasks from it both at home and in the office.

    Tasks can be grouped into folders, and I grouped them into annual focus areas. This is very convenient for a review: you fall into a folder and you can immediately see what is going on in this direction as a whole.

    MyLifeOrganized Desktop Client

    And in that and in another service, as I wrote above, there is an excellent tool for maintaining focus at work - a window for quickly entering a task and placing it in the Inbox section.

    reference system

    I carry materials on current projects with me on a flash drive that can distribute itself via Wi-Fi (Kingston Wi-Drive, this choice is due to the use of the iPad).

    As an archive system, I use Evernote. Several times I tried to equip it as a system for operational information (and the creators of Evernote just position it that way), but every time after a couple of days I returned back to the proven Doit.im. Brakes, slow synchronization, not too convenient interface. This is a great tool for archiving information, but not an operational tool.

    Work with Pomodoro Technique

    At the workplace on a Windows machine, I use Focus Booster - beautiful and with the minimum necessary functionality.

    Focus Booster mini-timer

    In the latest version of Focus Booster appeared for MacOS.
    For some time I used an interesting TeamViz tool - in it you can enter individual tasks and measure the “tomatoes” for each of them, but for me it was too cumbersome. But it’s worth a look, definitely.

    Day plan

    Another great tool for keeping focus and reviewing the whole picture of the day for me is the daily plan. Compiling it in the morning is already a whole ritual: pour a coffee maker and outline the tasks for the day in silence. It sets the working mood very well.

    For a long time I was looking for a tool that would allow me to integrate my tasks and calendar, display everything on one screen and still give a place for notes during the day. I could not find such a miracle, and I made it myself from regular Excel, conjuring a bit over conditional cell formatting. Data is transferred to it by hand (somehow not in a programmatic way), but Ctrl + C - Ctrl + V works quickly and it is not annoying.

    Daily planning table at the beginning of the day

    Daily planning table at the end of the day

    A daily plan is compiled on a separate Excel sheet with its date. This allows you to look at yesterday’s plan at the beginning of a new day and postpone some tasks for today or delete them altogether. I also look at the plans of days for the past week, conducting a kind of retrospective. As a result, firstly, new tasks appear, one recalls something that was not done, and secondly, a certain sense of completeness appears. It turns out a sort of ritual of the end of the working week, after which you go home with a clear conscience.


    In conclusion, I want to say that GTD is not a "silver bullet" and you should not expect that, having implemented the methodology, you can find 48 hours in a day or work 100 hours a week without emptying a refrigerator with power engineers. This is a tool whose effective use is the work of the drowning themselves. The described techniques and methods are just steps for reaching a different level of attitude to every day of your life. Having solved one circle of issues with GTD, I immediately came across many new, higher order and much more interesting ones. What I wish to all who read the post to the end.

    Also popular now: