Hello everyone,
As a senior engineer L5 in my company for 1 year, I recently found myself in a new team with a new direct manager but report to the same Director in the same Org due to the recent company restructure/company reorganization as part of layoff changes. My Director and I are the direct responsible individuals for the Backend Platform System for the last 1 year. However, I am finding that a significant portion of my time is being taken up by "glue work," such as onboarding new teammates, updating the Wiki, documenting On-call Runbook, mentoring cross-functional team members, providing code reviews for new developers, and unblocking people in their code development. While these tasks seem important, they are making it difficult for me to focus on my own projects.
In my first one-on-one, my new manager expressed a desire for me to take on new initiatives. I am eager to do so, but I need to be able to focus on my own work to make this possible. My manager understood that the frequent on-call support was a blocker for me and asked me to train and onboard a new teammate to take over the on-call support, as well as field requests from users and help others with their work. However, I have still found myself doing a lot of training and providing support even two weeks since my last meeting.
I would like to hear from others who have found a way to balance these responsibilities effectively. How can I prioritize my own work while still contributing to the team's success? I know this will be a difficult decision, and I'm not sure how to approach it. I'm worried that if I stop doing some of these tasks, it may impact my relationship with my manager and team.
If anyone has faced a similar challenge, I would appreciate hearing about how you approached it. Did you stop doing certain tasks and responsibilities, and if so, how did it affect your relationship with your team? Any advice would be greatly appreciated.
Thank you.
Rahul already hit on most of the high points I’d suggest myself. One thing I’d state slightly differently, which is: If you take on the “personal projects” or “initiatives” and devote X% of your time (whatever you and your manager decide) and shrink enough glue work to do that, what gets dropped and who is going to pick up that slack?
Ideally you’re working your way out of a job in as many ways as possible. Don’t do anything for an extended period of time that no one else can do, be partnering and passing things over. Run one book club, then pass MCing/organizing to someone more junior for whom this team impact actually moves the needle. Run a knowledge transfer then have it recorded and good documentation, and let someone else take on being the point of contact for this. Whatever you are good at that others aren’t, it is your job to teach and transfer.
From there, recognize that you are growing and evolving, and as Rahul recommended, make sure that growth is in a direction you actually like. You shouldn’t be coding more, but coding critical things very efficiently. You shouldn’t be designing all of your teams modules, you should have best practices and a review process that puts guardrails on everyone else doing that. Eventually you should be working to spread this to other orgs if it’s effective, or find how to adapt your process into a common framework. It’s a scaling game now, and you don’t scale by coding 10x as much.
First, I want to acknowledge that this is actually very common! I personally faced this when I was transitioning into a TLM (tech lead manager) role at Meta. The classic story arc is:
There is actually a healthy tension where you feel like you're doing multiple jobs -- that's the point where it's valuable to re-assess your job and ask for help. I have a few thoughts:
Once you have this buy-in from your manager, you hopefully have a strong ally in empowering the others on the team. Also, keep in mind that the benefit is not simply your ability to do higher-leverage work, but also that it creates a more resilient team.
Here's some related content:
Lots of great stuff here - Thank you so much for such a detailed question with thorough context! I have a lot of resources in mind that are hopefully helpful.
As a senior engineer, it is crucial that you work through others, but you have to be ultra-efficient about it. A failure mode that you seem to be dipping into is that you're spending too much time training mentees, and the "gains" aren't landing fast enough.
Oncall is one of the most important processes on any engineering team, and its quality will play a huge factor in whether the team's tech leads like yourself will be able to scale themselves. If you haven't already, you should add my upcoming event to your calendar: Revamping Oncall For 20 Instagram Engineers - Senior to Staff Project
This is going to be covered in the linked resources, but something I want to make crystal clear is that as a tech lead, you need to be 100% okay with dropping things. It sounds counterintuitive, but you will need to drop things a lot in order to maximize your impact and contribution to the team.
Appreciate the detailed response and sharing your perspective, Rahul, Lee, and Alex. I agree with the points made above and have personally witnessed several ways to apply this in the recent month(s) working with the new engineering manager in a new team.
Will keep you posted on this thread.