Tech Lead Tonight? Tech Lead Tonight, King??
I've been a tech lead for almost a year now. It was never something I strived for, but circumstances made it happen (find business problem -> pitch solution -> get funding to execute). I also thought that this would only be a one year thing, but my project has impressed the execs to keep it going into the next financial year. Going from being an IC to (I guess you could consider) leadership was an interesting but not difficult transition in terms of the change in my output. Honestly, I never considered myself to ever be put in a tech lead position, but this one I luckily had carved out for myself based on what I wanted to do.
I've had aspirations of reaching staff engineer output, not because staff engineer is a tier up from senior (that's not important), but I don't think I'd be satisfied being fed tickets (and sometimes scoping out some work) that impacts only a single team. A senior -> staff transition on its own is probably too big of a jump, so this has been a good 'taste' of work that is not focused on slinging (modern) Java (in neovim btw). Hopefully I can start working with staff engineers soon to see the world through their lenses too.
No one will prepare you for what being a tech lead means, and it will mean something different in a startup vs enterprise. A great engineer can be a tech lead, but not all tech leads are great engineers. To be a tech lead, you need to hold down quality soft skills, no one cares that you solved 3 leetcode hards today. Did you play Pokemon when you were younger? You probably arranged your six based on the problems (other team) you were going to face right? Same applies here, a great tech lead will understand their engineers, even to the point of knowing what work is best for them to work on. Even the best engineer in the room could be the tech lead, but the tech lead won't be have the same time as everyone else to output code (this is important to understand). If you are the 'best engineer' this is when you can focus on long term strategy: scale yourself by being the tide that raises all the boats.
The Good
- Having vague requirements that you breakdown into different quarters and then again break down into concrete pieces of work (that will get fed into sprints) is incredibly fun
- The freedom to build solutions (experiment!!)
- Holding an important role in deciding tech (this can backfire if the tech lead sucks and only sticks to what they know)
- If things go well, this will give you political ammo to use in the future to get buy-in (this is important)
- You dictate the culture
- Other engineers may start looking up to you
The Bad
- Time is spread insanely thin, sometimes I struggled to find time to write code
- If things go bad, it will reflect on you
- Meetings and catch ups all up in your calendar
- A company that does stuff like SAFe will force you to make decisions around shipping shit code (rip if situation applies)
- Funding will determine your flexibility and timelines
I don't want to get too much into my own work, but I've had to face some challenges that I was willing to face head on. Luckily for me, I came out successful. Unfortunately, this may not always be the case in the future. If you have juniors in the team, this is a great opportunity to give them a piece of work that is scoped clearly and yet gives them freedom to put their touch on it (I think this applies better with frontend than backend work). By doing this, those juniors will grow faster and with your influence, can reach senior-tier output eventually.
Utilising your team also requires getting their input too. Being tech lead doesn't mean you can have a houlier than thou attitude, others can have better solutions/thoughts so it's important to not have an ego. Remember, you set the direction, but if your team doesn't respect you, what's the point? No one likes working with a rude individual. If you have someone that gives pushback and thinks they have something better, then prove it (nicely).
I've never had a peaceful moment that I can sit back and breathe, it's a role that is quite demanding, and perhaps it's not what I want to do in the long run. We'll see how I feel in another 12 months, and whether pursuing staff eng is still what I want to reach. I got a lot more to get under my belt, so the grinding continues.