
Who Is (Not) a Tech Leader
Things I wish I knew when I started leading a team
Do I fully understand what it means to be a great leader? Probably not yet. Hopefully one day. But today, I can say with confidence who a great leader is not.
Not the technical expert of everything
Leading a tech team doesn’t mean you know everything about the technologies your team uses. Often, it means you know just enough to keep things moving forward—and that’s okay. The more diverse your team is, the more often you’ll find yourself leaning on people who know much more than you do in certain areas.
My team spans Android and iOS, including engineers and QA for both. I can code in Swift, but I still second-guess how to safely unwrap optionals. I like RxJava, but my merge requests often come back with cleaner, shorter solutions. I’ve worked with Espresso and XCTest, but I still wonder if I’ve really understood Page Objects the right way.
I can write code, add features, build tests, automate CI/CD—but my team? They’re better at much of it. That’s not a weakness. It’s a strength. Because we deliver as a team, not as individuals.
Not a boss
You don’t tell people what to do. You figure things out with them. You ask questions, challenge assumptions, and share the big picture. You propose solutions just like everyone else. And yes, sometimes your ideas get rejected—just like anyone’s.
When you give orders without context, you take away autonomy. You also risk missing better solutions. Explain the “why” behind a decision—even if that decision is a quick workaround or a short-term compromise.
I’ve seen “pointless” tasks turn into clever, strategic solutions—just because the team had the full story.
Not a judge
Praise matters. But there’s a difference between appreciation and assessment. Some leaders see their role as evaluating everyone else: were they “good enough”? Did they meet expectations?
It took me a while to realize how backwards that is. Most people show up and genuinely want to do their best. Your job isn’t to constantly judge their performance. It’s to create clarity:
- What does “doing a good job” mean here?
- What are the goals and expectations?
- How can each person grow?
Invite self-assessment. Share your perspective, but first—listen.
Not the most important person in the room
There is no “most important person” on the team. If your team can’t function without you being hands-on every day, that’s not a sign of your importance—it’s a sign that something’s wrong.
A leader doesn’t exist without a team. And the team is what matters.
Individuals matter, of course. But it’s the combination of skills, experiences, and ideas that really makes things work.
“None of us is as smart as all of us.”
Not the next step after being a senior engineer
Leadership isn’t the “natural promotion” from Senior Engineer. It’s a different track altogether.
Good developers aren’t always good leaders, and that’s okay. Leading a team means your focus shifts—from code to people. From shipping features to unblocking others. From solving technical problems to solving human ones.
So if you’ve been offered a “Tech Lead” role, take time to consider it. It’s not a level-up in engineering. It’s a fork in the road—one built on your technical foundation, but leading somewhere else entirely.
Not a full-time coder (anymore)
I still write code. I’m happy about that. But priorities change.
First: the team. Are we unblocked? Clear on what’s next?
Then: individuals. Are they happy? Supported? Growing?
Then: the longer-term—technical debt, onboarding, scalability, observability.
Then—and only then—comes your code.
Is a Tech Lead the same as a Team Lead?
It depends. In some orgs, yes. In others, not at all.
For me, being a Tech Lead means leading the team—not just the tech. But every company structures this differently. A 100-person company looks nothing like a 5,000-person one.
That said, there’s one constant:
As a leader, you care about your people.
Together, you care about the product.
That’s the work. That’s the goal.