This post is about managing a calendar with a busy life, shifting priorities, and distractions from our digital world.

This is a subject I have been exploring while working with a career coach. I wanted to consolidate some of those insights for my future self (and anyone who stumbles upon this post).

There are essential things we all want to accomplish, both professionally and personally. The first step in managing a calendar well is identifying what matters the most to us.

Start with the big stones.

There is a well-traveled story about stones, gravel, and sand. The short summary is as follows; if we first fill our cup with sand and gravel, we may find we do not have room for the big stones. These big stones represent the things that matter most to us in life. We can fit more in our cups if we start with the big stones, add gravel to fill gaps, and finally add sand to fill the remaining spaces. Here is a more in-depth exploration of this idea.

We want to schedule to meet our big stones. If family time is of the utmost importance to you, block time on your calendar so you can be fully present.

Consider the calendar sacred.

Schedule your day in 30-minute blocks focusing on those big stones. Often times we accept distractions as relief from focusing on the most important tasks we should be doing. Rather than focusing on writing a critical paper or delivering an important feature, we read emails or check our messages. We see something else in our emails or messages that we can do right away and drop the crucial tasks to seek a quick win. This is why we must consider our calendar sacred. If you have scheduled 1 hour of focused programming, commit to that one hour. Emails and chores will be there when you are done. If you struggle with interruptions, it can be helpful to use the Eisenhower Matrix to determine the urgent and critical tasks.

Manage your calendar obsessively.

Check your calendar in the morning, evening, and during the day as you complete tasks. Shift things as needed. At the end of the day, your calendar should reflect how you spent your time.

As we remember things we must do, add those tasks to the calendar in the first available time slot. Your calendar will fill up quickly if you do this consistently.

Color code your calendar.

Color coding calendars can help us reflect on our day, manage time, and create boundaries during time blocks.

For me:

  • Blue - Time with family or friends
  • Red - Chores and tasks which do not require critical thinking (Grocery shopping, catching up on email)
  • Yellow - Focus tasks (coaching sessions, coding time blocks, reading)
  • Green - Personal well-being time (Playing basketball, gym time, meditation)
  • Gray - Commuting time (feel free to not include this, but for me, with 2 kids in daycare ~25 minutes away from home, this can be a significant portion of my day)

I know I can listen to music, podcasts, or audiobooks for red and gray tasks.

I know I should have my phone off in do not disturb mode for yellow and blue tasks.

With color coding, at a glance, I can tell if my day is well-balanced or if there is a particular priority that day. I can create boundaries for time, and then it is simply a matter of following those rules.

Reflect on your calendar.

At the end of each week, ask yourself some questions.

  • Did I get the big things done?
  • Is there anything I missed?
  • Can anything be made reoccurring?

Did you take care of yourself? Did you get what you needed to get done at work? Did you spend enough time with your family? Is there anything we can turn into a regular practice, so we do not have to “manage” it on the calendar?

  • Was I effective at managing my time? Where did I succeed? Where did I fall short?

Did you waste time? If so, was there any pattern you can recognize? Having a healthy mix of colors on my calendar keeps me engaged. Putting focus blocks in the morning or after exercise yield the best results.


Carefully managing a calendar prevents our brain from subconsciously managing the same tasks and priorities. It prevents us from worrying about whether we have the time to get the essential things done in our lives. It allows us the freedom to focus and be fully engaged in tasks.

Why does managing time matter to us as developers?

Engineers are notoriously optimistic. When a developer tells you they can deliver a feature in 2 weeks, often times this is in a vacuum.

As software engineers, we are often optimistic about how long things will take. We share that optimism with the organization through timelines, and leaders bake those timelines into company goals. It is easy to blame missed deadlines on external factors, but we should be able to foresee and budget time for those distractions. That is part of the job.

Simple practices which engineers can follow to prevent delays: Spending time scoping, designing, reviewing, and planning solutions before responding to new requests. Take tasks to done-done. Often, we leave assignments mostly completed, meaning they stay on our minds and our subconscious to-do lists. Eventually, those mostly done tasks become emails, messages, and other distractions. Avoid this trap by defining done and seeing the task through to completion. If the scope of work changes do not silently struggle. Ask for help. Raise your hand and inform the organization early that the task is more demanding than previously estimated. This allows for leadership to evaluate priorities and reallocate resources if needed.

Hopefully, these pointers help someone manage their busy lives, as they have for me. Nothing is rigid; find what works for you and continue to tinker. But remember that habits take time to codify. Give yourself time to internalize new habits (my coach recommends 4 weeks).

Here is a link to where I found the career coach. I have found the process very helpful. I highly recommend investing in yourself for anyone who feels there is more within themselves.