Over the past several months, I have been leading a UI engineering team at work on a large product area. It has been going well, but I have also been experiencing more stress and burnout than I probably should.
I decided it would be a good idea to do a more formal exploration of technical leadership. I found some great resources: I’m making my way through staffeng.com, joined Rands Leadership Slack, and found some good reddit threads (particularly on r/ExperiencedDevs).
I quickly found that burnout is common amongst new technical leads. In particular, new leads find themselves doing two jobs: their old job primarily as an individual contributor (IC) and their new job as a lead. This resonated with me a lot, so I decided it would be worth exploring how I can do this lead thing in a more sustainable way.
After consuming quite a bit of the aforementioned materials, I created the following tech lead self-assessment to give myself an honest grade of where I stand. Importantly, this assessment is based on what I understand of the role right now. I’m sure it’s not right, but it’s probably not entirely wrong either. I hope to revisit this self-assessment at some point in the future to see if it holds up and if I have improved.
The assessment #
The following assessment contains five high-level categories, each with a number of criteria. All scores are on a scale of 1 (opportunity for growth) to 5 (strength).
Prioritization and time management #
| Criteria | My Score |
|---|---|
| Estimate bandwidth, understand priorities, and say no to lower priority tasks. | 3 |
| Skip or delegate meetings that are not necessary. | 3 |
| Be realistic about workload and avoid working on two jobs simultaneously. | 1 |
| Avoid “snacking” on low priorty tasks that feel safe. | 2 |
| Be realistic about estimates and let product, management, and other stakeholders know when dates will slip. | 2 |
Empower and support your team #
| Criteria | My Score |
|---|---|
| Delegate to your team and allow them to succeed or fail. | 2 |
| Foster a collaborative environment. | 5 |
| When you delegate, don’t micromanaging every detail. | 4 |
| Focus on the team supporting itself; let juniors work with each other before approaching the tech lead. | 2 |
| Recognize your team members publically for their successes. | 4 |
Deliver but also think strategically #
| Criteria | My Score |
|---|---|
| Deliver what you promise. | 5 |
| Balance short-term and long-term priorities, such as delivering features versus reducing tech debt. | 2 |
| Balance team growth versus just doing the work yourself. | 3 |
Continuous improvement and growth #
| Criteria | My Score |
|---|---|
| Seek continuous feedback on your performance as a lead. | 2 |
| Provide feedback to your team on tasks they perform well and areas they could improve. | 3 |
Set clear boundaries #
| Criteria | My Score |
|---|---|
| Clearly communicate what tasks you won’t be handling. | 4 |
| Push for asynchronous reviews to save time and assess if more work is needed outside of meetings. | 3 |
| Set boundaries to prevent burnout and distinguish new responsibilities from previous ones. | 2 |
| Set boundaries for your team members to protect them from burnout. | 4 |
Reflection #
Overall, I gave myself a middle-of-the-road score. But this seems pretty good considering I’m new to this. It also gives me some clear areas for improvement.
The high points: I care deeply about creating a positive work environment, I am driven to deliver high-quality work, and I communicate well. The low points: I do too much IC work because I like having the control, have trouble investing in long-term priorities because I want to deliver the short-term wins, and I need to set boundaries to protect myself from burnout.
If you enjoyed this article, consider subscribing on Feedly or your favorite RSS consumer.