The 4 Steps to Plan Your Workday

The 4 Steps to Plan Your Workday

How to prepare, distribute and reschedule your time blocks for maximum efficiency

One thing that changed my approach and attitude to work completely is planning my day ahead. But not just dully pour your tasks into your to-do list but:

  • 👉🏼 Plan the day according to your energy

  • 👉🏼 Prioritize work items to follow your and your company’s goals

Today we are talking about planning the workday and how I approach it. Here are the steps I follow:

  • 📊 How to determine your high- and low-energy periods throughout the workday.

  • ⚒️ How to classify your work by the types of tasks it involves.

  • 📝 How to plan your day.

  • ✂️ Adjust your plan if things coming up (or down).

High and Low Energy Blocks

You aren't equally productive all day, and you know it. Some time blocks might even be better spent away from work, as you're likely to waste them due to low energy.

It took a while for me to figure out my energy blocks, but there's a simple way to do so:

  1. Set a timer for every work hour and track your mood, energy, and alertness throughout the day. After a week of tracking, you'll see patterns of ups and downs.

  2. For consistent results track also your sleep, physical activity, and meals. I’d elaborate on the way to do so but that's a topic for another time.

For example, this is a breakdown of my typical day (80% of workdays look like this):

  • 9:00-12:00: High energy

  • 12:00-15:00: Medium energy

  • 15:00-16:30: Low energy (or no energy)

  • 16:30-19:00: High energy, and

  • 20:30-22:00: Middle or low energy depends on my workload before

Your daily energy map should guide your planning. You can maximize productivity by following it.

Understand the Types of Tasks

For most software engineers, task types are quite similar. It takes time to track them, especially after changing jobs, projects, or roles. After a month or two in the same position, you can predict up to 90% of your daily tasks.

My task blocks look like this:

  • Tech design: When I get a new task and need to figure out how to approach it, including integration and object design, and data flow layout.

  • High-intensity coding: Hands-on engineering tasks requiring full focus, such as algorithms, bug fixing, and refactoring.

  • Low-intensity coding: Implementing tech design, writing tests, and infrastructure work that doesn't push cognitive limits and feels more routine.

  • Peer review: Reading peers' code, deploying and testing locally, and reviewing documentation and tech designs.

  • Team-related work: Meetings, async activities, and agenda preparation. All social aspects of work.

  • Infrastructure work: Rebases, deploys, Jira ticket management, and other shallow and automatable tasks.

Once you identify your task types, set an "energy level" required for each:

  • Tech design: High

  • High-intensity coding: High

  • Low-intensity coding: Medium

  • Peer review: Medium

  • Team-related work: Medium

  • Infrastructure work: Low

Now, you're ready for the next step.

Steps to Plan Your Day

There's one type of work I haven't mentioned yet: the Daily Review. This is the time you spend planning your tasks. The goal is to connect your priorities with your energy levels to produce a daily plan.

I'm a big fan of time blocking and using a calendar. I argue that any task should have its place on the map of your day, otherwise, it can hardly be done.

Here are the steps:

  1. Clean your inbox: Process emails, chats, Jira, and code review comments, turning them into tasks.

  2. Plan recurring tasks: Schedule them in respective energy-level blocks. Examples include peer review, deployments, backlog, and Sentry alarm reviews. Plan these activities at the same time each day to build a habit.

  3. Plan project work: About 70% of a developer's work involves building something. Schedule:

    • Tech design and decomposition in high-energy blocks.

    • Implementation of difficult parts in high-energy blocks.

    • Integrations and less intense tasks in medium-energy blocks.

  4. Schedule remaining tasks in the appropriate time blocks - once project work is planned, fill the remaining time with smaller tasks, like handovers, deploys, clean-ups, etc.

  5. Share your plan. It's not mandatory but highly recommended. Share your calendar with your team:

    • Mark the time of the deep work as “busy” to let them know when meetings aren’t possible

    • Commit to tasks are in your calendar, so they know what you are working on.

Now you have your day planned according to your energy map and can start working.

Yep, it won’t be so plain every time, and your plan often needs to change.

Adjusting Your Plan

Rescheduling is an important part of being intentional about your time. When urgent tasks arise or planned tasks become unnecessary, reassess priorities. Imagine two scenarios:

An Urgent Task is falling onto your head

Chats with urgent roll-outs, bug fixes, and requests can be disruptive. My rule is never to keep chat open during high-energy, deep work blocks. You know, regular updates look just the same as urgent, but appear 10+ times more often, and if you pull yourself to check whatever comes every time you hardly are able to focus.

Nonetheless, if an urgent task arises, don't just drop your current work. Evaluate what’s going on first:

  • Urgent bug on production? Determine if you're the best person to handle it and what the timeframe you have to fix it up.

  • Still no chance to avoid it? Reschedule the rest of your day. Do a mini-review and adjust today's agenda to accommodate the new priority.

Sometimes, more often than you might think, the urgent task can wait until tomorrow or be assigned to a peer with a lighter workload.

Something you are working on is no longer important

Completing a high-focus task early or it becoming irrelevant can lead to defaulting to shallow tasks or distractions.

Instead, switch to the next important and complex task to make the most of your productive time. Conduct a mini-review and focus on the next big thing.

So you get the framework when plans seem to be changed:

  1. Evaluate updated priorities - it’s important to test new work against existing ones.

  2. Adjust your plan following the new ones.


It takes time to master daily planning, and even after years of experimenting, I still learn new things about myself and my work. Be open-minded about your schedule. It's okay to plan hard tasks for the evening or take a nap after breakfast if it suits your biorhythms. Turn off chats during deep concentration periods to maximize productivity.

In the next deep dive, I'll focus on daily reviews with an emphasis on clarifying and prioritizing your inbox. Stay tuned!