How I manage to meet most of my deadlines and still keep myself 'mostly' motivated
Tags: watercooler, productivity
Published: 2019-12-27 04:59:07

*[This story was originally posted on [my personal blog](http://ismail.teamfluxion.com/diary/20191207/My_first_decade_as_a_professional_software_developer)]*

In this age of technology overload, to say that it's difficult to keep up with life would be quite an understatement. In fact, it's very easy to miss things going around you. You can imagine those things to be the ones that matter to you, and that is different for different people. They could be things like technology trends, utility payment due-dates, doctor appointments, and even family events, you name it.

For a couple of years now, I've been driving my daily life with the help of a group of things that I collectively use as a system. Following these self-imposed guidelines has been helping me meet most of my short-term goals with relative ease, punctuality, and an ample peace of mind.

## My system in place

There are always going to be failures and my system is not flawless either, it just helps minimize slippage of my tasks and responsibilities. Talking about failures, I fail too often with varying degrees of blunders. Sometimes that does shatter my confidence but otherwise, it helps me adapt in a positive manner.

My system comprises of many habits, tools, and services that are a part of my daily life. Though it has been working for me for a few years now, it keeps evolving as I learn more about my responsibilities and my own self in general. I'll describe a few major elements of my system in this post.

### My To-Do list

[GTD (Getting Things Done)](https://en.wikipedia.org/wiki/Getting_Things_Done) is the biggest of all the elements of my system. My To-Do list defines and drives the most part of my life with inputs from my own self. Some inputs are automated and recur according to a pattern and/or a suitable frequency.

I've written multiple posts in the past mentioning my To-Do list. I've [mentioned recently](http://ismail.teamfluxion.com/diary/20190330/How_I_keep_myself_digitally_organized) how I hopped through quite a lot of tools to finally settle down on [Remember The Milk](https://rememberthemilk.com) and I've also earlier described [my quest](http://ismail.teamfluxion.com/diary/20161204/Moving_away_from_TickTick) in a little more detail where I explained my reason to switch to Remember The Milk. I won't spend time to repeat the advantages of maintaining a task list once again as that's something you can easily find elsewhere on the web as well.

In the past few years, I've evaluated countless platforms. It's natural that a system that may work great for one may not at all be suitable for the other. For me, most options fell in one or more of the below categories:

- **Too simplistic**: I need to be able to organize my task list using projects, tags, etc. and browse through my tasks in more than one way. A tool that merely allows recording action items as a flat list definitely doesn't help me.
- **Too expensive**: Though a free service is always the best, I don't mind paying either a small monthly fee or a medium-to-high one-time fee. The number of features available in the free-tier also matters to me.
- **Platform limited**: Given that I work with at least three platforms daily, I need my tasks to be accessible virtually everywhere. A tool that's available for only a few platforms is unusable for me.
- **Unintuitive**: I expect data-entry and retrieval to be as convenient as possible. Spending more [action-points](https://en.wikipedia.org/wiki/Glossary_of_video_game_terms#action_point) to record a task leaves lesser to actually spend doing it.

[Todoist](https://todoist.com) seemed to be very well designed and not only seem to provide the features that I'd wish to have in a task management tool, but it also introduced me to a few more that I never thought could be useful. Out of so many interesting features Todoist provides, below are a few that 'almost' made me switch:

- **Nested projects** vs flat lists
- **Combining multiple filters** and viewing multiple lists in a single view
- **Subtasks are actual tasks**
- **Better integration** with the outside world
- **Affordable price**, sort of

However, even with the above outstanding features, there was still one hurdle: most of the basic features need a subscription to [Todoist premium](https://todoist.com/premium). This matters to me even more given the fact that even though I've been wishing to upgrade my Remember The Milk account to ['Pro'](https://www.rememberthemilk.com/upgrade) since a couple of years, I'm still on the free plan and am almost satisfied with the feature set that they provide on the free plan there.

Having wasted my 30-day trial a few years back, I deleted my account on Todoist and restarted my trial to evaluate it once more with a far better understanding of Todoist and my workflow as well. However, during the process of manual data-migration (yes I prefer to do it manually as I cannot afford to miss details from my sensitive tasks), a few things didn't feel right. Data entry felt too cumbersome as it needed quite many more keystrokes as compared to that needed to create a task in Remember The Milk. I also could not figure out the condition for when Todoist sets alarms (notifications) on my tasks and when it doesn't. After about an hour of mental struggle, I reverted to Remember The Milk once again, which was naturally the safest way out of the situation and it also saved me several hours of migration.

With so many custom tools in my workflow, I've thought of creating my own custom solution more than once. I even have a private skeleton repo on [GitLab](https://gitlab.com) with minimal setup and have it sitting as a task in my To-Do list. However, I've learned that as my mind is getting older, I'm finding a little too difficult to focus on a single project and take it to closure. Yes, it will give me all the features I'd ever like and that too without a monthly recurring expense but to create something as featureful as Remember The Milk and write all the code on my own while being a parent feels just way too much of work now. Furthermore, it will be like spending time on a project that will most probably not be released for the public and will die a slow death just like most of my other projects.

### Inbox Zero

I've been following a practice known as [Inbox Zero](https://blog.hubspot.com/service/inbox-zero) for a few years now and I should say it helps more than I thought. A few advantages include:

 - **I don't have to look at hundreds of unread emails** with a mix of information that matters to me and that which doesn't. There could be emails waiting for an action from my side, emails that need immediate attention about things like a credit card fraud transaction, emails about limited-time deals and discounts about things I do not plan (or want) to buy and other promotional emails that manage to get past the spam filters and sneak their way into my inbox.
 - **My email inbox also acts as a secondary To-Do list** that contains my on-going interactions with people. This helps me stay on top of my communication with my friends, utility and service providers, and even my potential employers.
 - When things are well tagged and sorted into sub-folders, **finding an email doesn't feel like walking through a junk-yard** looking for a specific item buried somewhere under a pile of well... junk.

I started to implement this in my mailboxes at work which was very helpful to track my professional deliverables but then after [the unification of my email accounts](http://ismail.teamfluxion.com/diary/20190607/How_I_unified_my_email_accounts_in_2019), I've been following it for my personal email mailboxes as well. Things are so much simpler now!

### Lists

It doesn't take long to realize that grocery shopping lists are not the only lists in one's life. Your life is surrounded by many more lists for almost everything that you do daily. I started with a wishlist of video-games that I wanted to play and movies that I wanted to watch but then extended it to track many other things.

A very small part of the list of things that I have as lists are:

- things that I plan to learn
- things that I need on a trip
- wishlist of items that I plan to purchase in the long-term
- things that I can spend time on when there's nothing else to do
- list of my online accounts all over the web (which is the most difficult one to maintain)

I have also recently started creating lists for life sub-routines that need to be executed on a particular event like getting a new credit card or buying a new daily-driver phone or car, and many more.

To store these lists and to make sure they are accessible almost everywhere I go, I have moved between a few services like [Google Keep](https://keep.google.com), [Evernote](https://evernote.com), [Dropbox Paper](https://paper.dropbox.com) but finally settled for [Dyanlist](https://dynalist.io) for a few months. They offer a free plan that works for my use-case. These lists now act as an extension for my To-Do items from Remember The Milk because not everything can be noted down as subtasks.

### Calendar

I've been using Google Calendar for tracking events like my driver's license renewal, vehicle oil changes, etc. Though I have moved most of this as well to my To-Do list, I recently started using my calendar for a new experimental use-case.

I have created themes for every single day. These are 'all-day' events that help me with a 'flavor' for the day suggesting things that I can be spending time doing on that particular day. I figured it's very easy to get drawn away with only working on a software that I'm fascinated about for a few days or learn a particular technology that has totally taken over my mind. There are so many things that *need* to be done and there is an equally high number of things you *want* to do or learn. Spending continuos time on one particular thing is definitely helpful for focus but that can adversely affect tasks in other areas. These day themes (as I have planned) will hopefully help me focus on one thing at a time and still cover the maximum area of my activities.

Now I have a dedicated day that's themed to read and learn from internet posts and videos, a day to write posts, a day to spend time learning "that specific technology on my mind", a day to maintain [my open-source projects](https://github.com/myTerminal?utf8=%E2%9C%93&tab=repositories&q=&type=source&language=), and a few other days likewise. I can cheat and work on a thing that is outside of a particular day's theme but at least it's not as unplanned as it used to be before.

### The combination of all of the above and more

The above four items drive most of my activities. On a very high level, my lists and emails tell me what to do and my To-Do list and Calendar tell me when to do them. There are obvious overlaps between them and they all work together to help me drive my day a little more systematically.

Apart from that, there are other things that I find to be boring and verbose. For that, I have some automation on my computers and phone. I have almost [all my computer configuration](http://github.com/myTerminal/dotfiles) scripted and documented so that I can regenerate the exact same setup on a particular platform with the least effort anytime, any number of times. This gives me peace of mind and helps me keep moving forward to improve my setup without the fear of not being able to reproduce it again from scratch. In a time of machine failure, my hardware will not be cheap but even more expensive could be the cost to replicate my setup.

## And then there are 'time-leaks'

Just like we software developers have to worry about [memory-leaks](https://en.wikipedia.org/wiki/Memory_leak) in our programs, one thing that I fear about in my routine is time-leaks. I classify time-leak into two categories:

### Digital time-leak

This mostly comprises time spent on mundane tasks like trying new software from sources like [Google PlayStore](https://play.google.com) and [F-Droid](https://f-droid.org), browsing profiles on [LinkedIn](https://www.linkedin.com), reading non-conclusive posts on social media like [Twitter](https://twitter.com), [Reddit](https://www.reddit.com) (and [Facebook](https://www.facebook.com)), and watching digital media through channels like [YouTube](https://www.youtube.com), [Imgur](https://imgur.com), and occasionally, [Instagram](https://www.instagram.com).

Though most of my online subscriptions are purely for educational purposes, deviating from the intended reason for the visit a platform is extremely easy.

### Real time-leak

There's too much stuff outside the digital world that makes me lose my time. Most of that comprises tasks that I cannot automate, which is mostly all that stuff that I need to do to live a normal life in the 21st century. The other major chunk falls into the category of tasks that I like spending time on, with the most noticeable one being the "hours" I spend cleaning my car. Though that is one of my most favorite things to do outside my computer screen, I tend to get into [detailing](https://en.wikipedia.org/wiki/Auto_detailing) even when the plan was to just give my mechanical companion a [waterless carwash](https://www.walmart.com/ip/PRODUCT-OF-THE-YEAR-2019-Rain-X-Waterless-Car-Wash-Rain-Repellent-32-fl-oz-620100/159580923).

## An analogy to a "scripted" routine

In the last few years, I have realized that not having to remember "what needs to be done" and focusing only on "how it can be done, better" is pretty helpful, to say the least. That extra breathing space for the mind can be used for creativity.

With most of my daily tasks scripted, I (being a gamer) look at my [life as a multiplayer campaign of a role-playing video-game](http://ismail.teamfluxion.com/diary/20190604/How_life_can_be_compared_to_a_Massively_Multiplayer_Online_Role_Playing_Game). I don't need to worry about which missions I need to complete and I still get to enjoy completing them, one after another not only progressing through the game but also leveling-up with those [experience points](https://en.wikipedia.org/wiki/Experience_point) as I do it.

## Further from here

I plan to keep making changes to my system, trying to make myself more efficient and for that my tools may need to keep evolving. This may mean that there could be more control added, more guidelines for my own self on how to spend my time.

At the same time, I feel there should be a balance between the scripted and non-scripted parts of life. With all the productivity that I need in my life, I also want to be able to have a choice of my own. If everything becomes scripted, life might as well turn into a movie I'm playing a role in and every single event would happen only according to the script, every single moment of time.