Blog Posts Business Management

Time Management Secrets of an Efficient Engineer

Blog: Solitaire Consulting Blog

Editors Note: This is a guest post from Toptal, the network for top freelance consultants. It was written by Dmitry Ryazantsev a Java Developer.

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:

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:

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:

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

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:

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.

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.

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:

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

Java Developer
Dmitry is an Android developer with more than six years of experience who communicates well and always tries to find the best tech that suits the project. He’s experienced with Git, Lua (Corona SDK), RxJava, Dagger, etc. He’s worked with a large team to develop the Yandex browser that has more than 10 million installations. He’s also developed his own projects: a game with 250,000 installations and published several other apps.

Leave a Comment

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples