Pt.1: How to get more done when things are crazy
As an early senior, life was a bit simpler… Plan one project, and deliver it on time. It quickly became endless meetings, 3 projects at once, and lots of mentoring. I struggled to get work done...
As an early senior, life was a bit simpler…
I had one core project I was the project lead on. My main job was to plan one project, and deliver it successfully.
As I grew into a Senior+ engineer, and then Tech Lead, things became a bit more challenging. I had 3-4 projects I was giving technical guidance on. I couldn’t just go heads down on one priority.
I spent 6+ months of feeling like things were crazy before I started to get the hang of it.
If you’ve been a senior on multiple projects, a tech lead for a team, or a staff engineer working cross-functionally, you’ve felt this craziness.
Here’s what I’m learning… you can’t wish it all away… But there is a path forward that helps you cut through some of the craziness.
Here are three tips to help you. Let’s dive in 👇
1. Prioritize ruthlessly
The work we have is endless. So it’s not a matter of getting more done so you are ahead. I’m sure you’ve felt this, that “getting ahead” never actually comes.
The more impactful thing you can focus on is to get better at prioritization.
A friend of mine,
, reminded me that the main thing to figure out while juggling priorities is which balls I’m juggling are glass and which balls are rubber.Glass balls = cannot afford to drop
Rubber balls = can be picked up another time
One thing that’s really helped me way to prioritize effectively is to write a daily + weekly summary of all the competing priorities I’m working on.
Next, I’ll “manage up” in my communication by sharing them with my manager. We try to take that list of 25 things I’m juggling, and outline the 2-3 “must dos”, and what are some key things I can drop.
Once we are aligned I move forward and intentionally choose to drop some things that are not priorities.
Dropping something might look like reaching out to a stakeholder with a quick message of: “Hey currently my top focus is x/y/z, once I wrap that up next week I circle back and focus on this. If it can’t wait, let me know and we can chat.”
Proactively choosing the high and low priorities helps me stay productive on on what really matters, and earn trust by keeping my manager and stakeholders in the loop.
2. Learn how to delegate
I didn’t grow up knowing how to delegate.
If there was something to be done I was the first volunteer, and if someone needed help, that meant they wanted me to step in and help own the thing.
That mindset is not sustainable.
As a senior engineer, you can crush out a lot of work, but you can’t do everything.
I like to ask myself this question: where can I uniquely make the most impact?
Sure adding a new index to a db table is quick and easy, and has impact… but anyone on my team can do that. In fact, it would be a great learning opportunity for a junior engineer to do it, learn a lot, and see the satisfaction of improved metrics!
Rather than adding the index, your time might be better spent reviewing that new RFC another team sent over for review as they are suggesting a big change to the system.
Delegation goes hand-in-hand with prioritization.
Focus on moving the needle where you can make a big impact, and delegate or de-prioritize anything that others could easily do.
3. Set aside regular focus time
As coders we really need focus time in order to think through and solve hard problems. I think we can all agree it’s simply a must.
However what often happens is we begin the day with the intention of getting a big task done, and then code reviews, DM requests, pairing, company meetings, etc. all distract us. We end the day without making progress on our main goal.
I’ve often gone days or weeks without making real progress on a ticket that was my main focus. 😩
One thing that’s helped is to block off time on your calendar for “focus coding time.” Sounds way too simple, but it works.
I like to set aside a 90 min calendar block in the morning, and at least 60 mins late in the day for my deep focus work.
It seems too simple, but if I consistently do this, it really makes an impact.
Next week we’ll continue this mini-series on getting more done when things are crazy. We’ll dive into topics like time-saving automation, how to say no, and why continued learning is important.
What was your favorite tip from this list? Did I miss anything? I’d love to hear from you in the comments 🙋♀️🙋♂️
Until next week 👇🏼
Catch me daily on LinkedIn where I talk about everything software engineering, startups, and growing in your engineering soft skills.
– Caleb
P.S. Don’t forget to like, comment, and share with others if you found this helpful!
Scheduling focus time is a great skills! Lately I've been trying to implement time blocking and, although I don't follow it by heart because life happens, it helps me get things done
Learn how to Prioritize ruthlessly is one of the best skill SWEs can have.