“Oof! What did I even do this week besides meetings?!
You are not alone. I’ve spent months feeling this way. Here’s how I worked to re-wire my thoughts, increase my impact and productivity, and surface that to leadership.
First off, huge welcome to our 950 new readers since last issue 🎉 I hope these articles provide massive value as you look to level up in your software engineering skills and career – Caleb 🚀
Do you ever end your weeks thinking: “oof! What did I even do this week…?!”
“It’s been a week since my last pull request, and I’ve been trying to knock out that bug for the entire last sprint…” 😫
“I signed up to code – not to sit in endless meetings…”
I’m nodding along as I remember all the times I’ve felt this way.
Why do we feel that way?
As engineers we tend to measure our productivity by how much code we wrote, or how many Jira tickets we moved to done.
But as we move into more senior, staff, tech lead, principal and team lead positions, we start writing less and less code.
Less coding / tickets leaves us feeling like we didn’t get anything done. 🤪
Our workload shifts from mostly coding, to mostly…. meetings?
Are tickets/coding the only value we contribute to our team?
Is that what’s expected of us by our managers? Is that what we expect of ourselves?
I’ve wrestled with these questions a lot as I transitioned into a senior+ engineer, then a tech lead, and now a team lead.
So what’s the solution?
Slowly but surely a new way of looking at it has become clear to me.
Coding isn’t the only way we contribute value.
The more senior we become, the more important it is that we become force-multipliers on our team. 🚀
Before you close the article – thinking Caleb has been paid off by all the managers trying to get their team to sit in endless sprint ceremonies and zoom meetings… 😉
Think about it for a minute…
If I focus really hard this year and improve my coding by 10%, the team gets a little better overall.
If I instead lean into becoming a force-multiplier and help 3-5 others level up, the whole team just got massively more productive and effective.
My influence grows, my efforts are compounded, and my impact grows. 🚀🚀🚀
And these are all massive parts of how the success of a staff engineer are measured.
How to think about productivity
I’ve always tried to reserve 30% of my time for coding. Coding is always an important part of our job – there’s no question about that. It’s just not the only or even the main way we can have impact.
We have to start thinking bigger picture than just ourselves, and not just focus on being the best coder on the team.
Being a hero-dev and cranking to crush out a project feels good at the time, but ultimately can harm our teams by creating knowledge silos, single-points-of-failure, hard to support systems, slow team growth, etc.
As a senior+ engineer and tech lead on my team, my job is to impact and influence in a bigger way than just building a lot of cool shit.
You are uniquely positioned on the team to make an outsized impact based on your experience, systems knowledge, relationships, expertise, etc.
Here are some unique ways I’ve personally leaned in to make an outsized impact on our success as a team.
Force-multiplying ways to increase your impact
1/ Break down knowledge silos
Find areas of missing or outdated documentation and build them out so that others don’t have to rely on your as a single-point-of-failure for knowledge.
Brain dump what you know so you aren’t irreplaceable.
2/ Give through, timely and helpful code reviews
You can have and outsized impact by giving really through, thoughtful, and helpful code reviews for projects your team is working on.
Use your scaling, architecture, design-systems, and testing knowledge to help others write code that will be performant and maintainable for the long run.
3/ Mentor junior engineers in our patterns, and systems
One of the best ways to grow as a team is to help others level up. Mentor eager juniors in your patterns and systems so they can become more effective contributors.
Soon they will be out-coding you!
4/ Tackle bugs or pain points that are plaguing the team
If there’s a bug or local development issue plaguing your team, diving in deep to fix it can really improve the productivity and output of your team.
Focus on areas you can uniquely unblock projects/teams/processes.
5/ Write and review technical specs to ensure good design
There’s nothing worse than a new project launching and it immediately becoming hard to maintain due to bad architecture, scaling issues, or poor data structures.
Writing and reviewing technical specs for new projects is a great way to help level up the quality of products you ship, and have a massive impact with only a few hrs of effort.
6/ Help estimate effort in roadmapping and planning meetings
How many times have you been given a project and told you have 6 wks to build it, when in reality it’s a 3 month project?
Yep – me too. (the worst was a 12 month project, sales had told a client we’d have finished in 3 months)
By partnering with business and engineering leaders, you can help get ahead of “pull numbers out of a hat” and provide more thoughtful estimations for level-of-effort to build a new project or feature.
You’ll develop valuable estimation skills, and learn how the lifecycle of projects / products are built.
…
These six force-multiplying activities have helped me influence and impact people and projects forward on a whole different level than only coding.
For you they may differ based on your skills and your teams unique needs.
But the end result is the same.
If we measure our productivity by value contributed to the team and the business goals – it’s actually improved vs. if we focus on being a solo hero-dev.
How can I measure my non-coding impact?
The reality is: A lot of our force-multiplying impacts are harder to measure. We can’t necessarily just throw everything into sprint tickets to track. This is another thing that leads us to feeling unproductive.
One practice that’s really helped me is keeping a daily + weekly summary journal.
Daily: I write 3-5 bullet points of ways I helped the team move forward.
Weekly: I roll these up into a short summary of wins/learnings.
Monthly: I summarize larger team and project impacts into a separate brag doc of my accomplishments and areas of growth and impact.
I then take that weekly journal and send it to my manager and product partners.
Doing that has had so many wins for me:
It highlighted problem spots in processes and projects
It started great conversations on where I should focus my time
It gave my manager a way to lean in and help mentor me more effectively
It helped give me a renewed sense of impact, productivity, and see the more abstract wins I was having
Sharing a weekly journal of your learnings/wins/team-impact with your manager is a great way to build trust and manage up to give visibility into your work.
If you’d like a template to start your daily/weekly journal, paid subscribers can grab a template with examples at the bottom of this post. 👇🏼
Conclusion
Days with hrs of back-to-back meetings are still hard. That hasn’t changed.
I think there are real things we could do to reduce some of those – but that’s for another article.
There are still many days I struggle to find enough time to code. But my feeling of getting nothing done is slowly going away.
I’m on a journey re-wiring my brain to realize I’m still contributing huge value even without coding as much.
Days where I don’t code can still be massively successful and impactful if I’ve been a force-multiplier. 🚀
How about you? How do you think about contributing as a senior IC / manager when you aren’t coding as much?
Reply to this email! I’d love to hear from you. 🙋♀️🙋♂️
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. The paid newsletter option includes access to my entire archive of posts, templates (like the Weekly Journal Template + Examples in today’s newsletter), and access to our new monthly book club (more details here) 📚.
Subscribe today to get even more resources to help for your engineering journey 🚀
Keep reading with a 7-day free trial
Subscribe to Level Up Software Engineering 🚀 to keep reading this post and get 7 days of free access to the full post archives.