5 Hacks to Build a World-Class Engineering Team
Why Mentoring > Micromanaging
In 2015, Martin Konicek was an engineer on Facebook’s React Native team. When his manager approached him about leading a project, he jumped at the chance. The challenge: open-source React Native for Android with a hard deadline—an engineering director would announce it at a conference keynote.
Three other engineers would join him. Martin had the technical skills. He knew the codebase. This should have been straightforward.
It wasn’t.
“Everyone was working on their bit and making progress,” Martin wrote later, “but I became increasingly unsure whether we were working towards a coherent product.”
One engineer grew visibly unhappy. Martin noticed but didn’t know what to do. He didn’t set up a 1:1. He didn’t ask what was wrong. He kept pushing forward without addressing it.
Finally, the engineer told Martin’s manager he wanted to see the project better organized. When they all sat down together, Martin said: “Look, I know I’m probably messing up here. I’m trying to help us ship this project together. What can I do better?”
The teammate simply said he needed a clearer picture of how everything fit together.
“The conversation was surprisingly easy,” Martin reflected. “Looking back at this story, it is hard to believe I struggled with something so simple.”
The hard part wasn’t the Android build. It was seeing that his real job had shifted—from “write code” to “create clarity.”
This is the trap most senior engineers fall into when they become tech leads. You get promoted because you’re exceptional at solving hard technical problems. Then you become tech lead and keep solving all the hard problems, while adding meetings, planning, and coordination on top.
You’re not multiplying your impact. You’re just adding more work to your plate.
Here’s what nobody tells you: tech lead isn’t about being the best engineer. It’s about making your team better engineers.
Across every team I’ve worked with, the same pattern repeats. The engineers who succeed aren’t the smartest or most technically skilled. They’re the ones who learn to multiply instead of add. Who build capability instead of hoarding problems.
That’s how you go from “strong senior” to “building a world-class team.”
Here are five habits that actually work.
Hack #1: The “Three Questions Before Answers” Rule
Your mid-level engineer asks: “Should we use Redis or Memcached for caching?”
Your instinct: “Use Redis because we need persistence.”
Don’t. You just made yourself the bottleneck for every architecture decision.
Instead, ask three questions:
“What have you considered so far?”
Forces them to show their thinking.
“What are the tradeoffs?”
Tests whether they’re thinking at the right level.
“Redis has more features” is shallow.
“Redis gives us persistence but costs 2x more and adds complexity” shows depth—cost, complexity, behavior.
“What would you choose and why?”
Makes them commit to a decision.
After they answer:
If their reasoning is solid: “Makes sense. Go with it.”
If there’s a gap: “What happens when we scale to 10x traffic? Does that change your answer?”
You’re still not giving the answer. You’re pointing at the gap and letting them fill it.
You don’t have to do this in emergencies. In an incident, just decide and move. But in normal work, use the questions.
First few times feel painful. Takes 10 minutes instead of 30 seconds. Push through.
After a month, they stop asking “What should I do?” and start saying “Here’s my thinking, any red flags?”
That’s what a world-class team looks like: decisions don’t wait on one brain.
Hack #2: Debug Out Loud (Especially When You’re Stuck)
You spend three hours fixing a deployment issue. Finally solve it. Post in Slack: “Deployment fixed.”
Your team learns nothing.
Better approach: debug out loud while stuck—on non-trivial issues.
Post in your team channel:
“Deployments failing. Checked logs—nothing. Thought it was Docker but that’s fine. Trying DNS next. Anyone seen this?”
Three things happen:
Someone might have the answer.
Your team sees your debugging process.
You normalize being stuck.
Use a simple template:
Working on: [problem]
Tried: [things that didn’t work]
Current hypothesis: [what you’re testing]
Known unknowns: [what you don’t understand]
That last part is key. Admitting what you don’t know shows that smart people ask for help.
Do this for real, non-trivial problems—not every typo. The goal is shared learning, not channel spam.
When you find the solution, post the full story:
“Found it—DNS pointing to old load balancer. Took 3 hours because I assumed Docker was the issue. Next time checking DNS earlier. Updated runbook: ‘Deployments failing, app healthy → check DNS before containers.’”
And then actually update the runbook or doc.
Everyone learns from your struggle. You just saved the next person three hours. Over time, this is how world-class teams build “team memory” instead of individual heroics.
Hack #3: Reverse Pairing (Let Them Drive, You Navigate)
Traditional pairing: you code, they watch. They nod. They remember nothing.
Better: reverse pairing. They drive. You only talk.
Pick a task at ~70% of their skill level. Before starting, set the frame:
“You’re driving. I’ll ask questions. I won’t touch the keyboard. We’re here to learn, not to judge speed. If you’re stuck for 5+ minutes, ask for a hint.”
Then watch them work. This is hard because:
They’ll make mistakes (let them).
They’ll take longer paths (let them).
They’ll miss edge cases (you point them out, you don’t fix them).
Your job is GPS, not driver.
Good navigation:
“What edge cases should we handle?”
“How will you test this?”
“What if that API call fails?”
Bad navigation:
“No, do it this way.”
Taking the keyboard.
Solving it for them.
After 60 minutes, debrief:
“What was hardest?”
“What would you do differently next time?”
“What questions remain?”
First time you’ll want to quit after 10 minutes. They’ll write something inefficient. You’ll think: “I could do this in 30 seconds.”
Push through.
After three sessions, they handle this class of work alone. After six, they’re the ones pairing with a junior and guiding them.
That’s how you grow future leads, not just faster ticket-closers.
Hack #4: The “Teach, Don’t Do” Delegation Framework
Bad delegation: “Implement retry logic for the API.”
They try. Get stuck. You rewrite it. Next time you just do it yourself.
Good delegation has four steps:
1. Explain the Why
“We need retry logic because our API fails randomly. Users see errors and drop off. We’re losing ~5% of conversions. Goal is resilience—if it fails after three retries, that’s fine. We just don’t want one random failure to kill the request.”
Now it’s not “random task”. It’s a business problem.
2. Share Your Mental Model
“When I build retry logic, I think about:
– backoff strategy
– idempotency
– circuit breakers
– observability
For this, focus on backoff and observability. We’ll add circuit breakers later if needed.”
You’re handing them the “checklist in your head”, not just a Jira ticket.
3. Offer Check-in Milestones
Step 1: get basic retry working. Show me before adding backoff.
Step 2: add exponential backoff.
Step 3: add logging/metrics.
Quick review after each step.
This prevents silent wandering for days.
4. Define “Good Enough”
“This doesn’t need every edge case. Retry on 5xx with exponential backoff up to 3 times. If you spend more than 4 hours, come talk—with a short list of what you tried and what’s confusing. We’re aiming for good enough, not perfect.”
Now they know the bar, the timebox, and their responsibility: own the problem and bring a clear summary if stuck.
It takes 10 minutes. Seems slow.
But next time they see a similar problem, they handle it without you. And a month later, when someone else is stuck on resiliency, they say: “I can help with that.”
At that point, you’ve cloned a capability into the team. That’s how world-class teams form: skills spread, they don’t sit in one head.
Hack #5: Have the Hard Conversation This Week (Not Next Quarter)
Your mid-level engineer’s code quality is dropping. PRs are sloppy. You notice but say nothing.
“They’re under pressure, it’ll get better.”
Three months later it’s worse. Now it’s a performance review problem.
New tech leads delay hard conversations. Experienced ones have them early.
Use the “SBI + Impact” model:
S – Situation:
“In yesterday’s PR review…”
B – Behavior:
“…you commented ‘this is terrible’ without explaining what needs to change…”
I – Impact:
“…and Max told me he’s now afraid to ask for your reviews.”
No judgment. Just observation and impact. Then stop talking.
Use a simple script:
“Hey, got 15 minutes? Want to talk about something I noticed.”
“In the last three PRs, I’ve seen [behavior]. I want to share the impact and hear your perspective.”
“The impact is [effect on team/project]. What’s your take?”
Then shut up and listen.
Go in assuming you might be missing context. The goal is clarity, not proving they’re wrong. Same approach works for missed deadlines, low ownership, or constant last-minute handoffs.
Timing rule:
If something bothers you twice, say something before the third time.
Early conversations are easy: “Noticed this pattern, wanted to flag it early.”
Late conversations are hard: “This has been a problem for months.”
Have these conversations even when you’re not sure it’s a big deal. Better to have one unnecessary conversation than let a real problem rot the team.
Great tech leads aren’t conflict-averse. They’re comfort-averse. They’re willing to feel awkward for 15 minutes to prevent months of dysfunction.
The Shift From Hero to Multiplier
Remember Martin? The Facebook engineer who struggled to coordinate his team on the React Native Android open source project?
His breakthrough came from one conversation. When he finally asked “What can I do better?” his teammate gave him a simple answer: people needed a clearer picture of how everything fit together.
The problem wasn’t technical. It was coordination. Helping people see the whole instead of just their piece. Creating shared understanding instead of hoarding context.
That’s the shift from senior engineer to tech lead.
You stop measuring your value by how many problems you personally solve. You start measuring it by how many problems your team can solve without you—and how often they do it without you in the room.
At first, it feels wrong. You feel slower. Less “productive”. Less in control.
You’re not. You’re just contributing differently. Instead of solving ten problems yourself, you’re building a team that can solve a hundred.
World-class engineering teams aren’t built on one hero. They’re built on leaders who teach, delegate, and spread their judgment into others.
That’s what mentorship actually is.
Not having all the answers.
Not being the smartest person.
Not solving every hard problem.
It’s making yourself less necessary. One engineer at a time.
Pick one habit. Try it this week. Not next sprint, not after the release. This week.
P.S. If you want my help with this transition, I’m opening up a private community for senior engineers becoming tech leads.
Join the 130+ senior engineers on the waitlist:
👉 https://www.techleadsacademy.com



