I’ve been having a hard time at work. Ending every day feeling like I haven’t had a chance to catch my breath, and also like I haven’t accomplished anything.
And yeah, there’s a global pandemic and the uncertainty that comes with that, not to mention the sudden shift to remote. But that didn’t feel like the whole story. I went for a long walk today. And as so often happens, movement and nature brought some clarity.
And I realized that a big part of why work has felt so draining lately is that I feel like I’m not doing my work well. And that it’s because I’m prioritizing wrong.
There are three big “buckets” of work that make up my job, from the urgent to the important:
Unplanned work: Answering the team’s questions, helping with incidents
Prioritized work: writing code, building features, doing code review, writing documentation
Thinking: Systems design and architecture, research
I like doing all of these things. I like enabling the rest of my team and helping them level up. I like writing code. I like designing systems. But when I don’t distribute my time effectively between the three of them, I end up tired and not moving things forward as well as I could. I’m still thinking through this, and plan on talking about it more with people I trust and who know my work and career, but wanted to get down some thoughts on where I’m currently putting my time and how I can do better, and would welcome other thoughts and perspectives on this!
This work is what I’m calling “urgent.” That’s not to say that it’s not important - it is. But it’s not making progress toward long term goals. It needs attention in the very immediate future.
I’m doing way too much of this. It probably doesn’t actually add up to more than an hour or so every day, but 1) that adds up, and 2) There’s a lot of context switching involved in it that means the impact adds up to even more than that.
I’m going to step back from this a little. I’m onboarding a new engineer to my project, and I will of course continue to prioritize her needs, and I’ll answer questions about which I’m the obvious subject matter expert. But the rest of them? I’m going to leave a little more space, and let the team fill in those gaps. I have a strong and thoughtful team, they’ve got this.
This work is obvious. It’s the work that’s the most visible, rewarded, tracked - there’s something tangible to show for it at the end of the day - a new feature, code. And I’m good at this. I’m good and efficient at writing code. But as a senior-level engineer currently responsible for designing a whole new system, this is no longer the only (or even most important) metric for success. And to be clear, no one on my team or leadership is trying to convince me that it is - it’s entirely self-imposed.
I’m going to keep doing this work. Of course I am. I love it, and yeah, it’s the end result. But I’m going to push a little less hard. I typically pull a couple unplanned things into each sprint, because I have some capacity. I’m going to stop doing that, and see what happens. Finish the things I said I would at the beginning of the sprint, and put extra time towards other things.
This is interesting, because ideally the “extra things” would be the thinking work I talk about below, but if I finish my sprint 3 days early, I can’t actually spend 3 full days doing the thinking work - that’s not how my brain works. A few hours at a time, definitely. Thrilled. 3 days straight? No, it’s too abstract for my brain to focus on for that long. So this needs to be more intentionally spread out. More on that below.
This work is not visible on a sprint-to-sprint basis to the vast majority of the team. I have nothing to show for it until a month or quarter or two down the line when an implementation is more straightforward because of it, or we thought ahead about something we might otherwise have missed. But because no one can see it today, and there are other things that people could see today, it’s easy to put it on the back burner. But it is so, so important.
I’m not doing nearly enough of this, especially over the last month or so. I think this is where a lot of my feeling so drained is coming from. I’m showing up to design sessions with my CTO less prepared than I’d like to be. I’m not thinking ahead about the system I’m designing in the way I need to be to make sure the upcoming prioritized work is the right work. Other things are more urgent, and so I’m doing them instead.
This work is also way harder to fit in between all the context switching I’m doing because of the unplanned work - I need big, heads down chunks of time for this work, and I haven’t had space for that.
I’m going to schedule time for this, every week. Like, put recurring blocks of a couple hours at a time on my calendar where that’s the thing I’m “supposed” to be doing, so I can’t convince myself there’s something else more urgent. Put on some headphones, turn off notifications. I’m going to hold myself to it. It’s important.