in Random

Struggling to Keep Up; Rediscovering the Pomodoro Technique

Going through a Computer Science PhD program is a grueling ordeal. At this point, it is not about writing exams and doing homework. There is that great scary monster called RESEARCH that needs to be tamed. If there is only one thing I have learned thus far, it is that computer science research is quite complex and time-consuming.

I truly enjoy building and thinking about web and mobile applications. However, I have reason to believe that it is possible to be a stellar doctoral student in Software Engineering and be relatively ignorant of web and mobile applications development trends. Chances are that things like AngularJSGruntJade or Ionic have little to no business with your research. This is not to say that there are no doctoral students conducting research in web development tools and technologies. It is just that as a doctoral student in Computer Science, you are more likely to be dealing with things at a much lower level than a JavaScript framework or templating engine.

My research interests are in Software Engineering. As a doctoral student in this area, I do not necessarily get to spend a lot of my time sharpening my applications development skills even though I am actively carrying out Software Engineering research. Trying to stay aware of rapidly evolving web and mobile applications development trends and keep my applications development skills and project portfolio up to par while also making reasonable progress on my doctoral research has been a real struggle. I daresay this is not for the faint of heart. There are a thousand and one things to do, deadlines to meet and self-assigned goals to achieve. Having a PhD is nice, but I refuse to graduate with the degree and find out I have lost touch with practical and readily applicable industry tools and trends.

A few months ago, I came to the stark and sudden realization that I simply was not keeping up with neither my research nor advances in web and mobile applications development tech. Every Software Engineer knows how quickly the software development landscape evolves and how vital it is to stay up to date if one is to remain relevant. Not only was I struggling to find research direction, but I was also beginning to lose track of the myriad of tools, frameworks and patterns that are becoming de facto industry standards in this present day and age. I needed to do something about my apparent lack of productivity and effectiveness if I was to have any hope of being the kind of well-rounded computer science professional I strive to be.

Sometime early last year, while carrying out my regular “online stalking” activities, I stumbled on a number of posts by Adulfattah Popoola where he wrote about how he uses the Pomodoro Technique to improve his efficiency and productivity. Since I am one hell of a copycat, I decided to adopt the technique and structure my days around Pomodoros.

One fundamental assertion of the Pomodoro Technique is that multitasking and distractions are counter-productive. Many of us like to think we can multitask effectively. However, a focused assessment of just how much work we actually get done while “multitasking” compared to what we achieve if we focus on a single task during a single time stretch seems to suggest that humans are pitifully bad at multitasking.

The following is my basic understanding of the Pomodoro Technique and how I have chosen to use it.

  • A Pomodoro time block is typically 25 minutes, although you can choose to make it whatever length of time you please.
  • The Pomodoro Technique suggests that you focus on a single task during a time block and eliminate ALL distractions during that time. This means no social media, no phone calls, texting, eating, drinking, smoking, dying, NOTHING but the task at hand all through the entire stretch of a single time block.
  • After each 25 minute time block is a 5 minute break during which you can do whatever you want. During this break time, I would typically do a quick social media crawl, read some random article or take a walk to make sure my legs still function the way they should.
  • After each set of four 25-minute time blocks, you get a 15 minute break. I usually spend this time returning phone calls, text messages, clowning around and arguing with my colleagues in nearby research labs.

My days are typically split into two phases; research and teaching during the day, and side projects, reading and programming practice during late evenings and at night. I aim to put in 8 Pomodoros (just 4 hours of focused work) each day at the research lab working on my research, and 8 Pomodoros (another 4 hours of focused work) at home working on side projects, learning new programming tools/techniques and just generally “keeping up”. In total, that’s 16 Pomodoros (time blocks of 25 minutes) each day with pre-assigned tasks split across these time blocks. For instance, on a good evening, I currently spend 2 Pomodoros each (just 1 hour) on Android programming, JavaScript, algorithms/problem-solving and hybrid mobile applications development frameworks (I love Ionic). This configuration of tasks evolves over time as I choose to learn new things. I use an Android app called Clockwork Tomato to keep track of my time blocks.

What I find most amusing about all this is how ridiculous the actual number of hours seems to be. A mere 4 hours of work each day at the research lab seems like so little time, but you will be amazed by how difficult it can be to put in focused work for that amount of time. Also, finding 4 distraction-free hours does not always happen in one fell swoop as things get in the way and there are sometimes other things to attend to. So, squeezing out 8 Pomodoros (4 hours) sometimes requires being at work for 8 hours. A lot of the time, I am not able to complete my Pomodoro sets for the day seeing as there are times when the mind is willing but the body is weak. However, at the bare minimum, I try to complete one set of four Pomodoros each on research and side projects/interests each day. Struggling through eight Pomodoros in as many hours has a way of showing you just how little “real” work we actually get done throughout the typical work day. It is funny how life and distractions get in the way.

All this is not about working till I drop or trying to achieve mind-blowing feats of software engineering each day. It is about consistency; putting in little bite-sized steady amounts of work and practice each day without fail. In the last few months, I have made some strides that have left me a lot less devastated when I think of the state of my research and software development skills. I have been able to learn things that previously kept being eternally postponed. I believe I now have a vision and work plan for my research. Of course, I am not completely satisfied. Just a lot less sorry for myself. :)

There is lots of information on the Internet regarding the Pomodoro Technique and I understand there is even an entire book (which I have actually never read). I believe anyone who decides to use the technique needs to come up with his or her own adaptation that works best in his/her own unique circumstances. I can quite confidently say the technique has helped me keep up with the 1000 things that compete for my attention. I am definitely eager to see what things I am able to accomplish in the long run.

What productivity hacks and/or adaptations of the Pomodoro Technique have helped you keep up with overwhelming tasks and goals? Please share in the comments.

Write a Comment