Managing your to-do-list as a staff+ engineer

With great agency comes responsibility – to yourself. Learn how to triage your projects and tasks into a structured to-do list.

When you first started out as a software engineer, your to-do list was influenced by outside factors. Perhaps you were assigned tickets, or maybe you had post-it notes on a wall, but one way or another, tasks would end up assigned to you by your manager. Your manager was the keeper of your to-do list, so you didn’t have to worry about it. As a staff+ engineer1, however, the responsibility for your to-do list shifts from your manager to yourself. And in all likelihood, no one informed you that this change would take place.

What comprises a to-do list?

To avoid any confusion with to-do list keywords, I’ve outlined some definitions below.

  • A task is a unit of work that takes time to complete. You spend most of your day working on tasks.
  • A project is a group of tasks that are related to one another. When you finish one task, you often move on to another task in the same project.
  • A ticket is a means of tracking a task. This is often done in an issue tracker or project planning software, and it’s typical to have one ticket per task.
  • An assignment is a task or project on which you are assigned to spend time during a particular cycle (i.e., sprint, month, or quarter).

How a to-do list evolves with seniority

As a junior or senior engineer, your to-do list is typically made up of tasks. You were assigned specific things to do and timeframes in which to do them. As a staff+ engineer2, your to-do list is often made up of a mix of tasks and projects.3 You may be asked to lead or consult on multiple different projects at the same time and may not be assigned tasks directly, instead being available to the task owners on an as-needed or regular basis.

Prior to staff+ level, your role was to take what others had decided was important and figure out how to implement it; as a staff+ engineer, your role is to help define what is important and either also implement it or, more likely, oversee its implementation. As a staff+ engineer, there is some expectation from your manager that you “do the right thing” in this regard. A lot of the time, they will leave you with the bandwidth to do so independently.

As a result, your to-do list as a staff+ engineer is made up of manager-defined tasks and projects in addition to self-defined tasks and projects. Self-defined tasks aren’t visible to your manager, and if your manager-defined tasks include projects, your manager won’t have any visibility into those either due to a project’s often amorphous nature.

How do you manage all of this work? The answer is to arrange your to-do list into three tiers: a priority, a consultation, and hobbies.

Tier 1: Outline what project is your biggest priority

The word priority itself has an interesting history. It began as a singular noun and only hundreds of years later became plural. So the idea of having multiple priorities is quite new to civilization and, I would argue, objectively impossible. This is where your agency as a staff+ engineer comes in.4 Instead of allowing your manager to specify multiple priorities, your job is to get them to define just one.

Your priority is the assignment on which you’ll:

  • Spend 55% or more of your time. If you aren’t spending more than half of your time on something, it’s not your priority.
  • What you dedicate your time to if there’s a conflict with other work. Your priority holds the tiebreaker in every situation without question.
  • Exert the most effort. Not every assignment needs your 100% attention and focus, but your priority does. Your priority is where you are on top of every detail and put forth the most effort.

While you’d like to help with everything your manager wants you to do, you need a clearly defined priority in order to do your job effectively. You’ll probably need to explain this to your manager – perhaps even multiple times.

However, your priority isn’t the only assignment you can handle. Staff+ engineers are regularly expected to work on multiple projects at once. What you can’t do is make more than one project a priority. You need another level in your to-do list that can account for the lower importance, but still significant, amount of time that another project will take.

Tier 2: Allow time for projects you’re consulting on

The second most important assignment on your to-do list is your consultation. Because your assignments are most often projects, anything you’re consulting on is typically5 a project you’re helping with or overseeing. It’s quite common for staff+ engineers to be leading one project while consulting on another, so assigning tasks to your consultation slot creates room for this.

Your consultation is the assignment on which you’ll:

  • Spend 35% of your time. You’ll spend significantly less time on this than your priority, but it will still take up a decent amount of space in your calendar.
  • Advise rather than lead. You are there primarily as an advisor to help answer questions and unblock people.6
  • Give secondary effort. Your priority is where you dedicate most of your effort; all secondary effort is reserved for consultation.

You cannot effectively have two priorities, but you can absolutely have a priority and a consultation going simultaneously. It’s important to make this distinction clear, so you know where you should be spending your time and effort.

Tier 3: Your hobbies

All other remaining tasks you have on your plate can be labeled as hobbies. You can think of the term “hobbies” as a single, ad hoc project that is comprised of all the random, small, one-off, and miscellaneous assignments you have. For example, maybe you’re serving on a committee that meets for one hour each week. That’s a small amount of time, but it’s something you’re still expected to do, so you can put it in your hobbies.

Your hobbies, as a single project, are where you’ll:

  • Spend 10% of your time. Just like in your personal life, hobbies happen in between other things and aren’t a focus. This is the total amount of time you can spend across all of your hobbies.
  • Dip in and out. You don’t have a lot of time to work on your hobbies, so progress may be slow, and you won’t get sustained time to focus on them.
  • Assign personal projects. From time to time, you’ll discover small things that you want to work on for fun. You can make those into hobbies to create time for them without sacrificing other work.
  • Skip occasionally. If your priority and your consultation take longer than expected, something has to give. Hobbies can be skipped.

Your hobbies are generally self-defined – only occasionally assigned to you by someone else. Don’t skip defining your hobbies! You deserve a little bit of time to work on things you are passionate about, whether that be small coding projects, reading up on new technology, watching a tutorial, learning a new programming language, or anything else that makes you happy. By making time for these things on a regular basis, you prevent burnout7 and give yourself a side quest that keeps things interesting.

Working with your manager to order your to-do list

Managing your to-do list is your job and not your manager’s job; however, your manager still needs visibility into what’s on your to-do list.8 That’s why, every time you meet in your 1:1s, you need to review it with them. This helps stop your manager from handing you a “top priority”9 or emergency project that has come up in their line of sight. Having your to-do list ready in this scenario allows you to outline your current priority to them and get their input on which ranks higher.

It is your manager’s job to tell you the relative priority of everything that you’re working on because they’re the one who has enough context to make that call. Your job is to help them remember the last guidance they gave you on the relative importance of your assignments so this new assignment can be planned accordingly.

When your manager talks about a new project, you can explain, “My current priority is project A, and I’m also consulting on project B. Which of those should be bumped for this new project?” Or if it’s a small task, you could say, “I can do that, but I’ll only be able to devote 10% of my time to it based on my other assignments. That means it will take a while to complete. Is that okay or should we re-rank my other assignments?” Don’t be afraid to press the topic of prioritization during these conversations. You cannot do your job effectively without that information. Conclusion

Managing your assignments as a staff+ engineer is complicated enough that it requires a system. There is no one-size-fits-all approach to managing your to-do list but divvying up your time between high priorities, consultations, and hobbies is a good place to start. It’s a lot easier to manage the dizzying array of requests on your time when you explicitly ask your manager to prioritize them for you, and more so when you impress upon them that your time is finite and you need a clear priority to focus on.

Footnotes

  1. What do we mean by Staff+?

  2. Who are staff, principal, and distinguished engineers?

  3. How leaders an better prioritize personal to-dos

  4. The Importance of Developer Agency in Thriving Software Teams

  5. Embedding a team as a staff engineer

  6. Getting credit for invisible work at the staff level

  7. Four ways to protect yourself from burnout

  8. LeadDev Advent Calendar

  9. Becoming more self-directing as a staff individual contributor

Managing Your Interrupt Rate as a Tech Lead E-book Cover

Take control of your calendar to get more done! The popular blog post series plus frequently asked questions all in one convenient PDF.

Download the Free E-book!

Managing Your Interrupt Rate as a Tech Lead is a free download that arrives in minutes.