Engineering Leadership Antipatterns: 7 Mistakes That Kill Teams
Engineering Leadership Antipatterns: 7 Mistakes That Kill Teams
I've made every mistake on this list. Some of them more than once. I'm not writing this from a place of "I figured it all out." I'm writing it because these 7 antipatterns have a body count, and I've watched them destroy teams that had every reason to succeed.
Over the past decade, I've led or closely observed 23 engineering teams across 6 companies. The teams that failed rarely failed because of technical problems. They failed because of leadership patterns that looked reasonable on the surface but were quietly corroding trust, velocity, and retention underneath.
Here are the 7 antipatterns I see most often, with specific signals to watch for and the frameworks I use to correct them.
Antipattern 1: The Hero Dependency
What it looks like: One engineer (often the tech lead or a senior IC) handles all the critical work. Deploys go through them. Architecture decisions go through them. When they're on vacation, the team slows to a crawl.
Why leaders create it: It feels efficient. That person is the fastest, most knowledgeable, and produces the highest-quality work. Routing critical work to them seems like the obvious optimization.
Why it kills teams: I managed a team where our "hero" engineer handled 73% of production deploys over a 6-month period. When she left for a competitor (with 2 weeks' notice), we had a 5-week period where deploy frequency dropped by 60%. Two critical bugs sat unresolved for 9 days because nobody else understood the deployment pipeline.
The fix: Enforce a "bus factor of 3" rule. Every critical system, process, and piece of knowledge must be understood by at least 3 people. I track this in a simple spreadsheet with systems as rows and team members as columns. Any row with fewer than 3 checkmarks gets immediate attention through pairing sessions or documentation sprints.
Antipattern 2: Consensus Addiction
What it looks like: Every decision requires agreement from the entire team. Architecture choices, technology picks, even sprint priorities get discussed until everyone is comfortable.
Why leaders create it: It feels inclusive and democratic. Nobody can complain about a decision they agreed to. It reduces perceived conflict.
Why it kills teams: A team I advised spent 14 calendar days deciding on a state management library. Fourteen days. They held 6 meetings, created a comparison document with 47 criteria, and still had 2 holdouts when they finally picked one. Meanwhile, their competitor shipped the equivalent feature in a week using whatever their tech lead picked on day one.
The fix - the RAPID framework for engineering decisions:
- R (Recommend): The engineer closest to the problem proposes a solution with a written 1-pager.
- A (Agree): People who must live with the decision review and raise objections within 48 hours.
- P (Perform): The person who'll implement it confirms feasibility.
- I (Input): Stakeholders outside the team provide relevant context if asked.
- D (Decide): One person (usually tech lead for technical decisions, EM for process decisions) makes the final call.
The key constraint: the Decide step has a 72-hour deadline from when the recommendation is submitted. No exceptions. A decent decision made quickly beats a perfect decision made slowly.
Antipattern 3: Metric Theater
What it looks like: The team tracks velocity, cycle time, deployment frequency, and 15 other metrics. Dashboards everywhere. Weekly metric reviews that take 45 minutes. Leadership feels informed and data-driven.
Why leaders create it: Metrics feel objective and professional. They give the appearance of control and make it easy to report status upward.
Why it kills teams: At one company, we spent so much energy optimizing for story points that engineers started gaming the system. They'd inflate estimates, split work into artificially small tickets, and avoid taking on risky work that might blow a sprint's velocity number. Our velocity chart looked great. Our actual output was declining. It took me 4 months to realize the dashboard was a mirror showing me what I wanted to see instead of what was real.
The fix: Track exactly 3 metrics. I use: (1) time from PR opened to merged (target: <24 hours), (2) change failure rate (target: <5%), and (3) escaped bugs per sprint (target: <2). Three numbers. One dashboard. Takes 5 minutes to review weekly. Everything else is noise that creates perverse incentives.
Antipattern 4: The Shield That Becomes a Cage
What it looks like: The engineering manager protects the team from all outside interruptions. No stakeholder has direct access to engineers. Every request goes through the EM. The team is "focused."
Why leaders create it: Protecting flow state is legitimate. Context switching destroys productivity. The intention is good.
Why it kills teams: I over-rotated on shielding at my second company. My team had zero interruptions and zero context about the business. They built technically excellent features that users didn't want. They made architecture decisions that conflicted with business direction because they didn't know the business direction. When I finally let a product manager talk directly to engineers, 3 of them said something like "Why didn't anyone tell us this 6 months ago?"
The fix: Shield from chaos, not from context. Block ad-hoc Slack messages from sales at random hours, but create structured channels. I set up "Office Hours" where any stakeholder can talk to any engineer for 2 hours each Thursday. Engineers attend voluntarily. Attendance averages 70% because it turns out engineers want business context. They just don't want random interruptions.
Antipattern 5: Premature Process
What it looks like: A team of 6 engineers running SAFe with Program Increments, ARTs, and a full-time Scrum Master. Or a 4-person startup doing formal sprint planning with story points, retrospectives, and a burndown chart that nobody reads.
Why leaders create it: Process provides structure. It worked at their last (larger) company. It feels responsible and mature.
Why it kills teams: I've seen 3 teams under 10 people suffocating under process designed for teams of 50+. One team spent 31% of their working hours in ceremonies. I calculated it: 2 hours of standup per week, 3 hours of sprint planning, 1.5 hours of grooming, 1 hour of retro, 1.5 hours of demo, plus various sync meetings. That's 9 hours out of 40 before anyone writes a line of code.
The fix - process scaling framework:
- 2-4 engineers: Daily async standup (Slack), weekly 30-min sync, ship when ready.
- 5-10 engineers: Daily 10-min standup, weekly planning (1 hour), bi-weekly retro (30 min).
- 11-25 engineers: Lightweight scrum per squad, cross-team sync weekly.
- 25+ engineers: Formal process justified, but still question every ceremony's ROI.
If you can't explain how a specific ceremony directly improves your team's output, kill it for 2 sprints and see if anyone misses it. In my experience, 40% of ceremonies fail this test.
Antipattern 6: Technical Democracy
What it looks like: Every engineer gets equal say in architecture decisions regardless of experience. The team votes on technical choices. A junior engineer's opinion on database selection carries the same weight as the principal engineer's.
Why leaders create it: It feels fair. It promotes psychological safety. Nobody feels excluded.
Why it kills teams: This is the contrarian take that gets me the most pushback, but I'll say it anyway: technical decisions are not democratic decisions. A junior engineer with 8 months of experience doesn't have the pattern recognition to evaluate distributed systems trade-offs, and pretending otherwise doesn't empower them. It just produces worse architecture.
At one startup, the team voted to use MongoDB for a system that was clearly relational. The two senior engineers were outvoted 5-2 by mid and junior engineers who'd used Mongo on side projects and liked the DX. Eighteen months later, we migrated to Postgres at a cost of 11 engineering weeks. The seniors were right, but the process didn't weight their input correctly.
The fix: Input is democratic. Decisions are meritocratic. Everyone should share their perspective. Everyone's concerns should be heard and addressed. But the final call goes to the person with the most relevant experience, and that person is explicitly named for each decision domain. This isn't about titles; it's about demonstrated expertise in the specific area.
Antipattern 7: Avoiding Hard Conversations
What it looks like: An engineer has been underperforming for 3 months but their manager keeps saying "they're going through a rough patch" or "they just need the right project." The team knows. The underperformer may or may not know. Nothing changes.
Why leaders create it: Hard conversations are uncomfortable. Most engineering leaders were promoted from IC roles and never received training on delivering difficult feedback. Avoidance feels kinder than confrontation.
Why it kills teams: This is the most destructive antipattern because it compounds. Every week you avoid the conversation, the team's trust in your leadership erodes. High performers start wondering why they're working extra to cover for someone with no consequences. I've lost 4 strong engineers over my career because they left teams where underperformance was tolerated. That's the real cost: not the underperformer's output, but the high performers who quit.
The fix: The 2-week rule. If you notice a pattern of underperformance (not a single bad week, a pattern), you have 2 weeks to have a direct conversation. Not a vague "let's check in," but a specific conversation: "Here are the 3 things I've observed, here's the gap between where you are and where I need you to be, and here's my plan to support you in closing that gap. Let's check in again in 2 weeks."
The Self-Assessment Checklist
Score yourself honestly on each antipattern (1 = I do this constantly, 5 = I've actively eliminated this):
- Hero Dependency: ___
- Consensus Addiction: ___
- Metric Theater: ___
- Shield Cage: ___
- Premature Process: ___
- Technical Democracy: ___
- Conversation Avoidance: ___
If any score is below 3, that's your focus for the next quarter. Don't try to fix all of them at once. Pick the lowest-scoring one and work on it for 90 days.
The hardest part of engineering leadership isn't knowing the right technical answer. It's recognizing the patterns in your own behavior that are holding your team back. These 7 antipatterns are the ones I see most, and the ones I've personally had to unlearn the hard way.
$ ls ./related
Explore by topic