October 24, 2019 // By Jeff Nordquist
As developers, we love writing code and solving puzzles. It’s in our DNA. To some of us, the idea of moving into a leadership role isn’t very appealing at first. Why would I want to spend less time coding, and more time dealing with burndown charts and coding standards?
I’ve served in many different roles over my career, and I can honestly say that the role of tech lead is my favorite. I love heads-down coding as much as the next person, but I’ve found that the challenges and growth that come from a tech lead role are really my “sweet spot”.
Here’s why I like it so much:
You’re still very close to the code
Tech leads have to understand what’s going on at every level. You still write code, you still do code reviews, and you still hold yourself to high standards. But you get to work with every part of the code - front-end, middleware, back-end, architecture, and more. You’ll never be far from the code, you just get to work with more of it.
You’re still solving problems, but at a different level
Your focus will change. Your main concern isn’t always “Why won’t this compile?” or “Why is this crashing?” anymore. It’s more like, “John is struggling - how can I help him?” or “Maria is blocked because she’s waiting to hear from the services team - how can I move that along?” You’re still solving problems, but the scope is wider. John might just need some coaching and pair programming, and Maria might need help escalating her issue. It’s like moving from a 100-piece jigsaw puzzle to a 5,000-piece puzzle - but it’s still a fun puzzle!
You learn and grow in unexpected ways
On one project, our service developer left the company and we had a release coming up. No one else was in a position to do it, so I got a Windows machine, pulled the code, and dove in. It was way outside my comfort zone, but with some creativity, help from friends, and Stack Overflow, I got the job done. I might not be chasing down a service developer role any time soon, but that experience has definitely helped me grow all around.
You get to help your team
There’s no better feeling than helping someone work through a problem and seeing their relief when it gets solved. Helping the team is at the core of everything a tech lead does.
You get to keep the project moving
There are two things that drive me absolutely bonkers in software development. One of them is “process discussions” (How many columns should our Jira board have? Should QA test on the branch, or wait until it’s merged to master?). I have a LOT of thoughts on this - in fact, I think I just found my next article topic… :)
But I get really twitchy when a project is stuck. Whether it’s because a developer is in over their head, or because we’re waiting for another team to do something, or because we just need to make a decision, I hate being blocked. The tech lead is the person who keeps the project moving by resolving those issues. We get to collaborate with developers, communicate with other teams, and make decisions (or “manage up” to get answers). I’m much happier when I can take action to solve a problem instead of waiting for the problem to be solved by someone else.
When you think of leadership roles you’ve taken on in the past (official or otherwise), what has appealed to you? Do you get the same kind of joy that I do out of unblocking teams and keeping them on the right track? I’d love to hear your thoughts! You can find me on Twitter @jeffnordquist.
If you want to see what positions Magenic has open, check out our Careers page!