How I plan my day as a Senior Software Engineer - A Simple Scalable System for getting the most important thing done every day

Date: 2024-03-11 | create | tech | business | reflect | productivity | software-engineering | creation-cycle |

Over the years I've tried dozens of different planning techniques in an attempt to maximize my daily productivity. These iterations have led me to my current daily planning technique which is both simple and effective.

In this post I'll share my Simple Scalable System for planning my day as a software engineer.

How I plan my life

First off - days are not isolated events. They are part of the time continuum so we need to take a step back to show how this planning happens in context. These higher level plans dictate what makes it in to my daily plan so understanding this is key to understanding the daily plan.

You can find many of these higher level plans in my monthly reflections.

I have several overarching plans based on timeline. In general the further the timeline the less concrete and more aspirational they are. As the plans get closer they become more targeted and precise as I have more context with which to solidify on targets and commit to them.

  • Life aspirations - set every 1-5 years
  • High level goals / aspirations - Set each year, half, and quarter
  • Concrete goals - Set every month and week
  • Individual tasks / goals - Set each day

The items that I plan each day are a combination of action items that have been filtered down through the higher level plans and those that have popped up through the unpredictability of life.

Note: I have a version of these plans for my personal life and a second set for my job. I find this helps me compartmentalize and it makes it a lot easier to share my goals with my leadership chain which I find makes them more effective.

How I plan my day

I have a template I use to plan every day. It's broken down into 3 buckets that parallel the Creation Cycle which is how I organize my life. Each section has a targeted and limited amount of tasks it can hold - I find this helps me prioritize actually important tasks by eliminating less important ones (aka distractions).

I also have mini sections to start my day off well and finish off by planning for the next day. I find this provides a step-change improvement to the quality of the day - similar to a % buff - and sets up the next for success so is very worth it.

- Morning Ritual
    - [ ]  [Health] Exercise, abs, posture:
    - [ ]  Schedule day
- [ ]  Most Important:
- **[Observe]**
    - [ ]  [Adventure] Outside in sun 30+ mins:
    - [ ]  [Community] 1 active connection:
- **[Create] 3** Milestones:
    - [ ]  1
    - [ ]  [TECH]:
- **[Reflect]** Top 2:
    - [ ]  1
- Nightly Ritual (sleep -2hours)
    - [ ]  Triage + schedule outstanding tasks
    - Top 3 for tomorrow:

I have a recurring automation in Notion that copies my daily plan template every night. This means every day I have a blank slate to fill out my plans.

I typically fill these out in the mornings while I'm at the gym / eating breakfast then I schedule them into my calendar when I get to my desk.

Scheduling my day

How I plan my day

Once I have my day plan consisting of only the most important things, I need to schedule these in my calendar. I've found that if something is not scheduled in my calendar then I haven't actually committed to doing it - everything costs time so if you haven't set aside time to do it you won't do it.

My current calendar is focused on time blocks. Each block is categorized by what type of work I expect to do here. This is something I've iterated on as I've learned more about my own chronological rhythms.

In general my rhythm is:

  • Morning - Smart things (problem solving, creating)
  • Afternoon - Mundane things (research, messaging, organizing)
  • Evening - Rest, entertainment

These blocks are not hard categories and I leave breathing room as life will inevitably throw curveballs. But they are strong suggestions and most days things fit in these general blocks.

"OMG you work so little! How lucky!"

This is the most common negative reaction I get when I share my daily calendar. While true on the surface, it's most often misguided and originates from a core misconception our society holds ab work.

First off - I've compacted my schedule down through years of intentional experimentation and reflection on what's impactful at work and how I function as a human. What I've found is:

  • 1 hour of focused work beats 8 hours of unfocused work every time
  • Most people cannot do more than 6 hours of deep work a day
  • In order to do deep work regularly, you must follow your body clock and allow ample time for rest / slack to recover and prepare

My deal with myself is if I work in highly focused blocks of time that complete all of my daily goals then I can finish whenever I'm finished. Sometimes this means I work far more than I planned each day but over time I've improved my focus and efficiency such that I can usually complete the work within my time blocks.

For knowledge work like software engineering, this tends to align incentives such that the business gets more of what it wants faster and with higher quality while I get more of what I want - working on important things, producing high quality software, and minimizing the time I spend on busy / dumb work.

IMO the focus on "hustle" culture is not just misguided but also a net negative to all parties involved. Businesses get worse outcomes and people lead worse lives.

I could write books ab the inefficiencies of modern work but that's out of scope of this post so I'll end the rant here.

Next

That's how I've planned my days for about the last 4 years. I still tend to tweak some things like the wording or the amount of tasks in a bucket to account for inefficiencies or changes in my value systems but generally this framework has worked well and stood the test of time.

I've got other secondary and tertiary systems for idea capture and prioritization but those are out of scope for this post. Let me know if you'd like to hear about these and I'll add it to my list.

If you liked this post you might also like:

Want more like this?

The best / easiest way to support my work is by subscribing for future updates and sharing with your network.