"The Master does nothing,
yet he leaves nothing undone.
The ordinary man is always doing things,
yet many more are left to be done."
-- Tao Te Ching

Sometimes I wish I was a vampire, or at least a werewolf. It would probably make this whole work-life balance thing people talk about easier. But unfortunately, I’m only human, which means I have to sleep, and I only get 24 hours per day, just like everyone else.

Subtract six or more hours for sleep, and I’m stuck with a measly 18-ish hours for work and play. Unfortunately, this just isn’t enough for an ambitious freelance software engineer, or is it?

Since we can’t turn into supernatural beings or warp spacetime as we please, we have to make the most of our time, which is why time management is so important and why I decided to write this post.

The post will cover various methods and tools in my productivity toolbox:

  • Why time management is as critical as technical skills, especially for freelancers.
  • Key criteria all time management systems must meet.
  • Effective time management techniques for freelancers.
  • Tools I find effective and use myself.

Every freelancer has an hourly rate but, sometimes, we don’t realize that higher hourly rates don’t necessarily translate into higher earnings on a monthly or annual basis.

Freelancers usually bill by the hour, so time management also means money management.

With freelancing, there is billable and non-billable time; in terms of control it could be thought of as productive or distracting actions that take time. In order to realize the real value of time (and money) you need to track, calculate and analyze it, and for this purpose we all need a good time management system.

Many freelancers focus on optimizing their hourly billing rate, but they fail to optimize the hours billed. An increase in the amount time you can spend billing is just as important as your rate.

The 3 Components of Good Time Management Systems

Whatever time management system you come up with, whatever tools you decide to use, there are three main characteristics that directly influence the quality of time organization and execution of your professional tasks.

You should trust the system.

When setting a task, you need to be 100 percent sure that you will be notified of the upcoming task at the right time. What’s the point of a reminder to “bring print-out to meeting,” when you’re already standing in the front of the conference room?

The system should be as simple as possible.

When your system makes you jump through hoops just to add a simple reminder to “Call Alice in an hour,” it’s ineffective.

Inevitably, you’ll end up jotting it down on a random piece of paper, setting an alarm on your phone, or using just about anything but your system.

Adding, editing, and viewing tasks should be as simple and seamless as possible.

The system should be accessible.

What do you never leave home without? I’m willing to bet your smartphone.

Forget the day planner and notice boards. They aren’t useful to you when you’re sitting in a cafe, waiting for your check and trying to remember who you need to call.

With today’s technology and blazing fast mobile data, you can carry tons of documents, reminders, notes, and sketches all in the cloud, which is just a swipe away.

8 Tried-and-True Time Management Techniques

Schedule the next day.

Since primary school, my parents encouraged me to make a schedule for the following day.

That was probably the first time management method I ever used – a basic list of tasks for the day – something like a daily agenda. It’s a sensible idea, especially if you don’t have much to do, but I encountered a serious problem: When a task wasn’t carried out on time it was put off until the next day.

With this method, just one unfinished task can snowball into a giant one. And after a few days, you’ll need to throw the list away, and start a new one because the old one becomes impossible to fulfil, as more important tasks displace those that are less significant. The list gets longer and longer and eventually ends up in the trash.

Another problem: If something urgent comes up, your plan for the day is ruined.

Correctly utilize your calendar.

Logically, the next step is setting up your calendar. Instead of making a plan for the following day, plan in advance, spreading tasks across different days and, if necessary, moving some to a different, more suitable date.

Maintaining a properly organized calendar is convenient, as it allows you to schedule a particular task for a certain time, but if you try to use it for all sorts of tasks, you’ll encounter a number of issues that aren’t easy to resolve with a calendar:

  • Certain tasks are not linked to a particular date.
  • For example, a note reminding you to “buy some milk” isn’t tied to a specific time or place. When do I buy milk? Where? Presumably, on the way home, but no-one can say exactly when and where they’ll pick up their groceries.
  • Different tasks have different contexts such as, for instance, personal plans, work duties, urgent issues, less urgent problems and so on. Fitting all them into one calendar is complicated and might not be helpful at all.

In short, a calendar is an essential tool for time management, but only for tasks to be performed at a set time. If a task is planned for tomorrow, but can be fulfilled the day after tomorrow, or in half an hour, it’s not really a task to add to your calendar.

Whatever you don’t schedule, add to your to-do lists.

So, what should you do with tasks that aren’t a good fit for your calendar?

Well, we can use something that doesn’t involve dates at all – to-do lists. Task lists are perfect for this because they’re easy to create and maintain.

You can create a list, or separate lists, and label tasks with tags, like: work, home, important, less important, and so on. The main advantage of these lists is that they are simple and are not tied to a certain date or time.

If you have tasks that you don’t need to perform within a strict time period, they are still relevant after you return from holiday, whereas if you relied on your calendar, you would have to revise and redistribute the tasks you missed while you were away.

Delegate the work you hate.

The point of time management is to allow you to structure the execution of various tasks, depending on their urgency, importance, and complexity. But I see another important aspect of time management:

It allows me to devote my time to problems I can solve most effectively and that no-one else could solve better or more quickly.

Tasks you carry out should bring joy, which is also important. This leads me to delegation.

Is there a task you dread completing, and people who can quickly and easily do it? (I’m not talking about your work or other activities paid for by your employer). Then outsource that task(s).

It’s in your power to avoid work that doesn’t interest you. In doing so, you free yourself up for tasks that should be fulfilled only by you, and employ another person simultaneously. I’ve heard numerous excuses about why people can’t delegate, such as:

  • It’s easier to do it myself than to explain what I want, (even if that means I have to fight my way through a new field).
  • I don’t want to spend money on stuff I can do without (because nothing is free).
  • I’ll do it better than anyone else (and even if I do it worse, at least I’ll do it myself).

That’s why I employ certain criteria to decide whether or not it’s sensible to delegate a task:

  • If I don’t find it interesting, I delegate.
  • If another person will find it interesting, I delegate.
  • If the task can be done at least 80% as well by someone else, I delegate.
  • If it will cost me less than if I did it myself, I delegate.

It’s important to note that it’s not about comparing hourly rates. It’s about the (valuable) time you will have to spend on figuring it all out while another person may already have the required competence to start executing on the task immediately.

Each situation doesn’t have to check off every criteria. You should make decisions relying on your feelings toward a particular task. Sometimes you have to go with your gut, which is just another word for experience.

Here are a few examples of tasks I usually delegate:


I’m writing this article in Russian, because it’s my native language and having it translated to English.

It’s not that I’m incapable of writing in a foreign language, it’s just that writing in Russian is easier for me.

This way I can get the task done faster, and I’ll enjoy the experience more because I can better express my ideas in my native language. If I were to write it in English, or translate the draft on my own, it would take up significantly more time than if a professional translator did it.

Video Editing

After a trip, I might have a lot of video that I want to make a clip of. I can edit it myself, if I feel like it, or I can have someone do it for me. In this case, it depends on my mood.

Domestic Work

Cleaning the apartment is another simple example because you can do it yourself, or you can call a cleaning service.

Streamline and automate.

In addition to major and obvious tasks that come to mind when you think of time management, don’t forget the countless small tasks that take up a lot of time too.

If you notice you’re repeating the same task – even the smallest one – it makes sense to streamline or automate it. Even by saving just three seconds on an action (for instance, switching tabs) that you perform 20 times a day will save you a couple of hours a year.

Granted, it doesn’t sound like much, but all these small savings add up!

So what about tasks you can’t automate or streamline? Well, you should be able to boost your productivity by improving your work environment and limiting distractions to a minimum. You can use your savings to get a fancy chair or better hardware.

Here are a few basic examples of how you can shave time off your daily routine:

  • Use hotkeys as much as possible. Pressing three, four, or five keys often takes significantly less time than pointing and clicking with a mouse.
  • When possible, try to cut the number of tasks that you work on simultaneously, ideally, to one. When you’re doing deep work, interruptions can set you back 15 minutes or more because you have to find your groove again.
  • I use my laptop for work, but on my desk I have other hardware to boost productivity, such as a desktop keyboard, big monitors, headphones, and so on. If your primary machine is a laptop, you can simplify the connection of all these peripherals by using a docking station. It gets better; docking stations are becoming obsolete and will soon become a thing of the past. Thanks to emerging technologies, you’ll soon be able to connect everything wirelessly.
  • At work I use two big monitors and my laptop screen, connected to the dock, which allows me to have more information on the main screen by moving other interface parts to independent, but nearby, devices. I know some people don’t like multi-monitor setups, but even if you insist on having a single display on your desk, there’s still a lot you can do. Just a few years ago, oversized 4K/UHD monitors were prohibitively expensive, but this is no longer the case. Wide aspect ratio monitors (namely 21:9) are also an alternative worth examining.
  • Usually I turn off all unexpected notifications during work chats, as they can be distracting and prevent me from concentrating on the task. You can still receive private messages for urgent matters.

It’s important not to over-simplify or automate – otherwise you’ll end up designing a robot to make a cup of tea. As with all optimization, the rule is to improve only that that can be improved with minimum effort and maximum results.

Consider the Getting Things Done (GTD) method.

The GTD method, advanced by David Allen in his book, encompasses a number of tools and unifies them in a well-structured and neatly organized system.

It’s difficult to condense and fit into one point in a blog article, since the author devotes the approach throughout his book, but if you’d like a quick overview, check out the GTD Workflow Map.

Here are the main concepts, or at least the way I see them.

  • When performing a task, or even taking a break, you should be completely immersed in the process, and for this, it is vital to forget all other tasks. You can achieve this by moving everything that’s been on your mind to another place – calendar, notes, to-do lists, notifications, etc.
  • It’s important to be aware of why you are performing this particular task at a specific moment, but it’s even more important to understand why you are not doing something else and what other tasks you have in the pipeline.
  • When you’re thinking about what to do, the system helps you choose the task best suited to various circumstances and time. If you feel like chatting, you can start calling people from your contacts’ list. If you have a spare minute in front of the computer, send emails, or make an online purchase.
  • It’s essential to include everything in your system, otherwise you may start questioning the integrity of the system and won’t trust it.

Say “no.”

“The difference between successful people and really successful people is that really successful people say no to almost everything.” – Warren Buffett

No matter how cool your system is, it won’t let you do more than you are able to.

That’s why, however weird it may sound, a crucial element of time management is the ability to give up on one task or another.

Did your friend ask you to help create a simple site because “you’re a programmer, aren’t you?” Estimate the time that it’s likely to take, especially if you’re not a web developer, and give an answer based on your system and your own feelings toward the task.

Track your time.

Once you have built a system you trust, it’s sometimes necessary to review your efforts. Even if all planned tasks are completed on time, there is a chance you could be spending time on unrelated activities, such as checking news, chatting with friends, and so on.

This will obviously skew results, cheating yourself into thinking that everything is clear. Fortunately, we can get a machine to be our independent supervisor.

The Tools in My Productivity Toolbox

As promised, I’m going to give an overview of the tools that I have chosen after having tested a lot of different programs from different developers. Everything described below is a subjective perception of the product. You may find something else that meets your requirements.


The most important thing to me is a single account. I try to minimize the number of tools whenever possible, bearing in mind the principle of simplicity.

Inbox by Google

The main principle for me is an “empty” Google Inbox (emails fixed as notes don’t count). Incoming mail is usually a task that should be done: It could be a notification to perform a code review, a task from the customer, but even if it’s a simple conversation - it should be addressed.


The fact that Android equals Google makes its Calendar perfect because it’s always with you. People use different devices running different operating systems, and Google is the king of cross-platform apps and services. Google Calendar is just one of them, and it’s widely used on all platforms.


Google enables users to add actionable notifications on web apps and mobile devices. Since most people are already familiar with them, as well as the way they’re set up in Google Calendar, I won’t elaborate.


Since all of my projects are full-time, and I don’t need to create detailed reports of what I’ve done, my choice is to track all possible activities just to be sure that I don’t spend time on useless tasks.

RescueTime allows you to record each app and site you use during the day. It defines the status of each activity (productive or distracting) and sets goals, like, “Spend at least N hours on productive tasks.”

I assume most readers are already familiar with Toptal’s time tracker solution as well, so I won’t spend much time introducing it. TopTracker is platform-agnostic and can be used in various settings. It allows users to grab screenshots, measure activity, create reports, and track time, obviously.

Remember The Milk

Finding a good to-do list app was time consuming, as there is a massive amount of apps out there today.

I finally settled on Remember The Milk because it met all of my requirements.

  • It has the simplest possible system for adding tasks, featuring priorities, tags, notifications, and so on.
  • It is a cross-platform solution for computer and mobile devices.
  • You can break tasks into lists and projects.

Smart lines are a blast.

You can create a task, add it to a project, add tags (including new ones), set priorities, and indicate the place where the task is to be carried out, using only your keyboard, without a mouse, clicks, or whatever.

Typical Task Stages

Lastly, let’s take a quick look at different stages of tasks in your system.

This is how I sort incoming tasks.

As a result of this simple algorithm, any task, even the easiest, goes to either the calendar (if the time is specified, as in “Call Dad in two hours”) or a to-do list, where it waits for its turn.

The to-do list is divided into different projects, and tasks are tagged.

For example:

  • wait – the task is waiting for something;
  • next – a task that you do when you have time or feel like doing it, or something like that;
  • shop – to be fulfilled in a shop: you can go to a supermarket, open the list and see what you need to buy;
  • pc – a task at the computer;
  • contact – call someone.

This way, all tasks with a deadline are completed on time because you have them in your calendar, and if you feel like doing something else, you can do it, depending on its context and priority.

Let your system lead the way.

Everyone has their own tasks, mentality, and habits. Any system should be tested and modified as needed. Not only does time management allow you to organize your day efficiently, but it also helps you stay aware of tasks by keeping track of progress and reminding you of the goals you’ve set.

You don’t have to waste time and energy on remembering what you have to do and figuring out what you feel like doing at the moment because the system will tell you.

There are countless reasons why you should create and employ an efficient time management system, but if you ultimately break it down, it all boils down to this: It’s a great investment, especially if you’re a freelancer.

About the author

Dmitry Ryazantsev, Russia
member since September 21, 2015
Dmitry has 6+ years of Android development. He tries to find the best technologies that suit the project. He has experience with Git, Lua (Corona SDK), RxJava, Dagger and more. He was part of a large team who developed the Yandex Browser that has more than 10 million installations. He communicates well with all projects members. He has also developed his own projects: a game with 250,000 installations, and published several other apps. [click to continue...]
Hiring? Meet the Top 10 Freelance Software Developers for Hire in February 2017


Steven M. Dupuis
As ususal, another excellent article from the Toptal folks .. I use Remember The Milk too - for a long time now.
Orban Botond
Nice article
Some other tools I'd like to recommend: - http://workingon.co/ - simply communicate to your teammates what you're working on - https://toggl.com/ - time tracking - slack reminders
Marko Sulamägi
Isn't it enough for you to use Google Inbox as your to do list? I find it a bit duplicating to have a second list. Do you copy your todo's from Inbox to "The Milk" app? I use Inbox for daily tasks. For work/projects I use Trello/Jira/whatever client is using.
Kris Khaira
Not sure about the author but personally I never use my email client as an inbox list. The way I work is I pick 30 min everyday to get InboxZero starting from the top using these rules: 1. Can reply email in 3 minutes? Do it now. Then archive and move on to the next email. 2. Spam/marketing/no-action-required, etc—archive and move on to next email. Find a way to get prevent this in the future if necessary (e.g. unsusbcribe / mark as spam). Ideally all emails in inbox are 100% actionable. 3. Need to act on it and it will take long? Make an item in my to-do list for it. Archive and see next email. 4. Repeat 1-4 until inbox is empty. 5. Start processing my to-do list. This way, email time is for email and work time is for work.
Dmitry Ryazantsev
Hi, Google Inbox app and their notifications are really cool when you need just to notify about smth. E.g. 'remind me to make a call to wife in 15 minutes', 'remind me to send tax form on 20th of April' etc. But there are also many tasks that have some context but not have exact time to do. For example Rememberthemilk and some others let you create custom tags and combine smart lists such as 1) tag=shop+next combined to "Shopping list" 2) tag=shop+delay combined to "Wish list" 3) tag=next+!shop+!delay combined to "Next things todo" So each time you could create a 'report' about each category and project you want. "I use Inbox for daily tasks..." But I want to have tasks as 'Learn how to ride a motorbike' also as a future task but I don't want it to annoy me each time I enter the inbox. In rememberthemilk I have 98 tasks (btw 'films that I want to watch' also there) and they different tags (http://take.ms/N7zhT) and placed in different projects (http://take.ms/SoEZU)
Dmitry Ryazantsev
Since all this tools are usefull for some tasks, as for me: toggl - "one-click time tracking" - I prefer no-click time tracking :) Because I need to estimate all my time, not only that I've spent on project. It could be useful when you need detailed report. Slack reminders are good to remind a person or a channel about smth across your team but not for time management. And I like to check what are people doing by using integrated states in task trackers (jira/wrike/etc) - the task 'in progress', so somebody is working on it.
This is an excellent article, something that beginners always look for and is hard to find. +1 to GTD - Getting things Done as well. It was life changing. 1 thing I want to say is a system is always evolving and different things work for different people. So use the pointers here and adapt it to your self as the author mentions. Your tools may be different but the soul of the idea is as the author mentioned here. Thanks for posting this article.
Marko Sulamägi
Thanks for explaining. :) I agree that in your case the Inbox only wouldn't work and The Milk sounds good for that.
Marko Sulamägi
A year ago I would have agreed with you, but Google Inbox solved that problem for me. Have you tried it? It's built to very easily manage/schedule emails and tasks in a single application. You can do time or location based scheduling. I like it because everything is in one app and I don't have to duplicate my stuff. But I agree it has some preconditions. For exmaple if you have more extensive lists (like Dmitry has) then Inbox might not work for you. Or if you just get too much email then that might throw you off from your tasks also.
Kris Khaira
I don't like Google Inbox for a couple of reasons including not having a keyboard shortcut for Snooze and no way to show recent messages in a conversation at the top. I use Airmail which has all this and more.
Raj Reddy
Nice post, Liked it and want to try them right away. However I have a problem. My Anti Virus detects a Trojan file "HEUR/QVM10.1.0000.Malware.Gen" when trying to install the RescueTime App via "RescueTimeInstaller.exe" . Should I trust this file?
Dmitry Ryazantsev
Hi, where did you get this file? If on the official site it works fine for me.
comments powered by Disqus
The #1 Blog for Engineers
Get the latest content first.
No spam. Just great engineering posts.
The #1 Blog for Engineers
Get the latest content first.
Thank you for subscribing!
You can edit your subscription preferences here.
Trending articles
Relevant Technologies
About the author
Dmitry Ryazantsev
Java Developer
Dmitry has 6+ years of Android development. He tries to find the best technologies that suit the project. He has experience with Git, Lua (Corona SDK), RxJava, Dagger and more. He was part of a large team who developed the Yandex Browser that has more than 10 million installations. He communicates well with all projects members. He has also developed his own projects: a game with 250,000 installations, and published several other apps.