Engineering Leadership at Scale
From IC to VP: Building and Leading World-Class Engineering Organizations
A battle-tested guide to leading engineering organizations from dozens to thousands of engineers. This is not management theory from a professor who never shipped software — it is hard-won wisdom from the trenches of scaling teams, navigating reorgs, surviving layoffs, and building engineering cultures that attract and retain world-class talent. Opinionated, practical, occasionally uncomfortable.
Your Org Chart Is Your Architecture
Conway's Law is not a suggestion — it is a force of nature. The systems your teams build will inevitably mirror the communication structures of your organization. If you have three teams working on a compiler, you will get a three-pass compiler. If your backend and frontend teams sit in different buildings and barely talk, your API will be a mess of impedance mismatches. This is not a failure of engineering discipline. It is physics.
The Inverse Conway Maneuver is the most powerful tool in an engineering leader's arsenal: instead of letting your org chart passively shape your architecture, you deliberately design your org chart to produce the architecture you want. Want a well-integrated platform with clean APIs? Create a platform team with strong ties to product teams. Want independent, fast-moving product squads? Structure teams around business domains, not technical layers.
The problem is that most leaders treat org design as an HR exercise — boxes on a chart, reporting lines, spans of control. In reality, org design is an architecture decision that happens to involve humans instead of services. And just like system architecture, there is no single right answer. There are only trade-offs.
The Major Models, Honestly Assessed
| Model | Structure | Best For | Fails When | Real Example |
|---|---|---|---|---|
| Functional (Frontend/Backend/Infra) | Teams organized by skill | Deep expertise, early-stage companies | Cross-functional work slows to a crawl, handoffs everywhere | Early Google, most startups |
| Product/Mission Squads | Cross-functional teams own a product area | Speed of execution, product-market fit | Duplication of effort, platform neglect, "not my problem" mentality | Spotify (original model), Shopify |
| Spotify Model (Squads/Tribes/Chapters/Guilds) | Matrix with squads in tribes, chapters for skill | Balancing autonomy with alignment at 200-1000 engineers | Chapters become toothless, guilds die, matrix confusion | Spotify (in theory), ING Bank |
| Platform + Product | Dedicated platform team serves product squads | Organizations with shared infrastructure needs | Platform team becomes a bottleneck, roadmap fights | Stripe, Airbnb, Netflix |
| Team Topologies | Four fundamental team types with defined interaction modes | Reducing cognitive load, clear team APIs | Over-engineering for small orgs, interaction modes need discipline | Various (framework, not one company) |
Team Topologies: The Framework That Actually Scales
Matthew Skelton and Manuel Pais introduced Team Topologies in 2019, and it has rapidly become the most useful framework for org design in engineering. The core idea is that there are exactly four fundamental team types, and teams interact in exactly three modes.
The Four Team Types
- Stream-Aligned Teams — These are your product teams. They are aligned to a stream of work (a product, a business domain, a user journey). They own their area end-to-end, from ideation through deployment. Most of your engineers should be on stream-aligned teams. Target: 70-80% of your org.
- Enabling Teams — These teams exist to help stream-aligned teams adopt new capabilities. They do not build features — they help others build features better. Examples: a team that helps product teams adopt observability tooling, or a team that helps teams migrate to a new deployment pipeline. They work themselves out of a job. Target: 5-10% of your org.
- Complicated Subsystem Teams — When a component requires deep specialist knowledge that would be unreasonable to expect from a stream-aligned team, you carve it out. Examples: video encoding, ML model training infrastructure, payment processing. These teams exist because the cognitive load would crush a generalist team. Target: 5-15% of your org.
- Platform Teams — These teams provide internal services that stream-aligned teams consume as self-service. The platform team's "product" is the developer experience. They succeed when stream-aligned teams can move fast without needing to understand the underlying infrastructure. Target: 15-25% of your org.
Optimal Team Size: The Two-Pizza Reality Check
Amazon's "two-pizza team" rule (a team should be small enough to be fed by two pizzas) gets cited constantly. The reality is more nuanced. The right team size depends on what the team owns and where it is in its lifecycle.
- 3-5 engineers: A new team exploring a problem space, or a complicated-subsystem team with deep specialization. Small enough for tight communication, but fragile — one person leaving is catastrophic.
- 5-8 engineers: The sweet spot for most stream-aligned teams. Enough capacity for meaningful throughput, small enough for a single manager to know everyone well. This is your default.
- 8-12 engineers: Acceptable for mature teams with well-established processes and senior ICs. Beyond this, communication overhead starts to kill productivity. Consider splitting.
- 12+ engineers: You have a team that needs to be two teams. The exception: a platform team that is really a group of sub-teams sharing a manager temporarily.
When to Split Teams, When to Merge
Split when: The team has two distinct areas of ownership with different stakeholders, deployment cadence has slowed because of coordination overhead, the cognitive load is visibly crushing people (ask in skip-levels), or the team is above 10 people and growing.
Merge when: Two teams have a heavy collaboration load that creates more overhead than the separation saves, a team is below 4 people and struggling with on-call and bus factor, or a product area is being sunset and the remaining work can be absorbed.
I need to be direct about this: the "Spotify Model" as described in blog posts and conference talks has caused enormous organizational damage across the industry. Spotify themselves have said publicly that what people call the "Spotify Model" was never a model — it was a snapshot of how they were organized at one moment in time, and they moved away from much of it. The chapter/guild/tribe/squad matrix sounds elegant on a whiteboard, but in practice, chapters become toothless advisory groups, guilds die from neglect within six months, and the matrix creates confusion about who actually makes decisions. If you are implementing the Spotify Model because you read a blog post, stop. Think about what problem you are actually trying to solve and design for that problem specifically.
The Reorg Playbook
Reorgs are inevitable. If you are a director or VP, you will run or participate in multiple reorgs during your tenure. Most reorgs fail not because the new structure is wrong, but because the execution is botched. Here is the playbook:
WEEK -6 to -4: DESIGN PHASE
- Define the problem the reorg solves (write it down)
- Draft 2-3 structural options
- Pressure-test with trusted advisors (not your reports)
- Select the structure
- Identify who goes where
WEEK -4 to -2: ALIGNMENT PHASE
- Brief your manager / CPO / CTO
- Get HR/People team involved (title changes, comp)
- Brief affected managers (1:1, confidential)
- Incorporate feedback, adjust if needed
- Prepare communication materials
WEEK -1: PREPARATION
- Finalize all people decisions
- Write the announcement email/doc
- Prepare FAQ document
- Schedule announcement meetings
- Prepare 1:1 talking points for managers
DAY 0: ANNOUNCEMENT
- All-hands announcement (you, not your managers)
- Immediately followed by team-level breakouts
- Managers hold 1:1s with each of their reports
- Email/doc goes out same day
WEEK +1 to +2: STABILIZATION
- Daily check-ins with managers
- Open office hours for questions
- Watch for flight risks
- Start new team rituals immediately
WEEK +4: RETROSPECTIVE
- Is the reorg achieving its goals?
- What needs adjustment?
- What did we learn for next time?Org Design at Companies That Do It Well
Stripe organizes around "product areas" with dedicated platform teams. Each product area (Payments, Billing, Connect, Terminal) has its own engineering team with full autonomy. Platform teams (infrastructure, developer tools, data) serve all product areas. The key to Stripe's success: extremely high hiring bar means teams can be given real autonomy without heavy process overhead.
Shopify uses a "pods" model where small, cross-functional teams own specific parts of the merchant experience. They have been through multiple reorgs (including a significant one in 2023) and have learned that the structure matters less than the clarity of ownership. Their principle: every system, every metric, every customer problem has exactly one team that owns it.
Meta operates a hybrid model with large product groups (Family of Apps, Reality Labs) containing relatively autonomous teams. What Meta does well: very clear leveling and career ladders within the engineering org, which makes the matrix somewhat navigable. What they struggle with: the sheer size creates coordination overhead that no org structure can fully solve at 30,000+ engineers.
Building a Hiring Machine, Not Just Filling Reqs
Most engineering leaders think about hiring as filling open positions. This is like thinking about sales as closing individual deals — it misses the system. At scale, hiring is a machine that needs to be designed, instrumented, and continuously improved. The difference between a company that hires well and one that does not is not the quality of individual interviewers — it is the quality of the system.
The real cost of getting hiring wrong is staggering. A bad senior hire costs at minimum $500,000 when you add up: their salary for 6-12 months before you realize the mistake ($200-400K), the productivity drain on their team (another $100-200K in lost output), the cost of managing them out ($50-100K in management time and HR), the recruiting cost to replace them ($30-50K), and the morale damage that is impossible to quantify but absolutely real.
The Structured Interviewing System
Unstructured interviews are slightly better than coin flips at predicting job performance. The research on this is clear and has been for decades. Yet most engineering organizations still run interviews where each interviewer asks whatever they feel like and then gives a thumbs up or thumbs down based on vibes. This is malpractice.
STAGE 1: RECRUITER SCREEN (30 min)
Assess: Role fit, compensation alignment, timeline
Decision: Advance / Reject / Redirect to different role
STAGE 2: TECHNICAL PHONE SCREEN (60 min)
Assess: Core coding ability, problem decomposition
Format: Live coding on shared editor
Rubric: Problem solving (1-4), Code quality (1-4),
Communication (1-4)
Decision: Advance if avg >= 2.5
STAGE 3: ONSITE (4-5 hours, virtual or in-person)
┌─────────────────────────────────────────────┐
│ Session 1: System Design (60 min) │
│ Assess: Architecture thinking, trade-offs │
│ Rubric: Scope (1-4), Depth (1-4), │
│ Trade-off awareness (1-4) │
├─────────────────────────────────────────────┤
│ Session 2: Coding Deep-Dive (60 min) │
│ Assess: Implementation skill, edge cases │
│ Rubric: Correctness (1-4), Efficiency (1-4│
│ Testing mindset (1-4) │
├─────────────────────────────────────────────┤
│ Session 3: Behavioral / Leadership (45 min) │
│ Assess: Collaboration, conflict, growth │
│ Rubric: Communication (1-4), │
│ Self-awareness (1-4), Impact (1-4)│
├─────────────────────────────────────────────┤
│ Session 4: Team Fit / Hiring Manager (45min)│
│ Assess: Motivation, team dynamics, growth │
│ Rubric: Alignment (1-4), Curiosity (1-4) │
└─────────────────────────────────────────────┘
STAGE 4: DEBRIEF + CALIBRATION (45 min)
All interviewers submit written feedback BEFORE debrief.
Hiring manager facilitates, does NOT share opinion first.
Discuss, calibrate, decide: Strong Hire / Hire /
No Hire / Strong No HireThe Leveling Framework
A clear, well-calibrated leveling framework is the foundation of fair hiring, equitable compensation, and meaningful career development. Without one, you get chaos: engineers at the same level with wildly different scopes, compensation inequities that become retention crises, and promotions that feel arbitrary.
| Level | Title | Scope | Autonomy | Influence | Typical YOE |
|---|---|---|---|---|---|
| IC1 | Junior Engineer | Tasks within a well-defined project | Works with guidance | Self | 0-1 |
| IC2 | Engineer | Features end-to-end | Mostly independent on known problems | Team | 1-3 |
| IC3 | Senior Engineer | Projects, significant features | Independent, defines approach | Team + adjacent teams | 3-7 |
| IC4 | Staff Engineer | Multi-team technical initiatives | Sets direction for a domain | Org-wide | 7-12 |
| IC5 | Senior Staff Engineer | Org-wide technical strategy | Defines the roadmap for a pillar | Company-wide | 10-15+ |
| IC6 | Principal Engineer | Company-wide technical vision | Shapes the company's technical future | Industry | 15+ |
| IC7 | Distinguished Engineer | Industry-defining contributions | Sets industry direction | Industry-wide | 20+ |
| M1 | Engineering Manager | One team (5-10 ICs) | Team execution and people | Team + stakeholders | 5+ |
| M2 | Senior EM / Director | Multiple teams (15-40 ICs) | Org design, strategy | Org + cross-functional | 8+ |
| M3 | VP Engineering | Department (40-200+ ICs) | Department strategy | Company-wide | 12+ |
Diversity Hiring: Beyond Lip Service
Let me be direct: most "diversity hiring initiatives" fail because they focus on the wrong part of the funnel. Companies invest in diverse candidate sourcing but do not fix the biased evaluation process. They set diversity goals but do not address the hostile culture that causes diverse hires to leave within 18 months.
What actually works:
- Fix your interview process first. Structured interviews with rubrics and blind resume screening reduce bias more than any sourcing initiative. Research from Google's People Operations team showed structured interviews had a 0.65 correlation with job performance vs. 0.38 for unstructured.
- Audit your job descriptions. Words like "rockstar," "ninja," and "aggressive" demonstrably reduce applications from women and underrepresented minorities. Use tools like Textio or Gender Decoder to audit postings.
- Invest in retention, not just recruiting. If your attrition rate for underrepresented minorities is 2x your overall attrition, you do not have a recruiting problem — you have a culture problem.
- Sponsor, don't just mentor. Mentorship is advice. Sponsorship is using your political capital to advocate for someone's promotion, to put them on high-visibility projects, to recommend them for leadership roles. Underrepresented groups are over-mentored and under-sponsored.
- Track and publish the data. What gets measured gets managed. Publish your diversity numbers (even if they are bad), set goals, and report on progress quarterly.
Stripe's hiring process is legendarily rigorous. Their key insight: they optimized for reducing false positives (hiring someone who should not have been hired) rather than false negatives (rejecting someone who would have been great). This means their process is slower and rejects more good candidates, but the people who do get through are almost always excellent. The trade-off: they are slower to hire, which means they need to start recruiting earlier and maintain a deeper pipeline. For most companies operating at scale, this trade-off is worth it.
Closing Candidates and Competing with FAANG
The most common failure mode in hiring at scale is not evaluating candidates poorly — it is losing the candidates you want to hire. You run a great interview process, identify an exceptional candidate, extend an offer, and they go to Google instead. This happens because most companies treat the "close" as a transactional step rather than a relationship-building process.
The closing playbook that works:
- Start selling during the interview, not after. Every interviewer should leave the candidate more excited about the company, not just evaluated. Allocate the last 10 minutes of every session for the candidate's questions.
- Speed kills (in a good way). The #1 predictor of offer acceptance is time-to-offer. If you can go from final interview to offer in 48 hours instead of two weeks, your acceptance rate will jump 15-20%. This requires having a pre-authorized compensation band and a streamlined approval process.
- Personalize the close. The hiring manager should call the candidate within hours of the debrief decision. Not email — call. Explain specifically why the team is excited about them, what they would work on in their first 90 days, and how this role fits their stated career goals.
- Address the FAANG gap honestly. If your base salary is lower than Google's offer, do not pretend it is not. Instead, reframe: "Our base is $20K lower, but here is what you get — faster promotion velocity, more ownership earlier, equity upside in a growing company, and you won't be working on a project that gets cancelled next quarter."
- Deploy your team. Have 2-3 engineers on the team reach out informally to the candidate. Peer conversations during the decision window are more influential than manager conversations.
Building an Onboarding Program That Actually Works
Onboarding is where most companies throw away the investment they just made in hiring. You spent $30K in recruiting costs and 20 hours of interviewer time to hire someone, and then you sit them down with a laptop and a wiki link and say "good luck." The first 90 days determine whether a new hire becomes a high performer or starts looking for their next job.
WEEK 1: ORIENTATION
- Day 1: Laptop, accounts, welcome lunch with team
- Day 2-3: Codebase walkthrough with assigned buddy
- Day 3-5: Ship a small PR (fix a bug, update docs)
- End of week: 1:1 with manager, set 30/60/90 day goals
WEEK 2-4: LEARNING
- Pair programming on real features (not toy projects)
- Shadow on-call rotation (observe, don't carry pager)
- Meet key stakeholders (PM, Design, adjacent teams)
- Weekly 1:1s with manager (30 min, focused on ramp)
MONTH 2: CONTRIBUTING
- Own a medium-sized feature end-to-end
- Participate in code reviews (both directions)
- Join on-call rotation (with backup)
- Present at team show-and-tell
MONTH 3: INDEPENDENT
- Lead a project with minimal guidance
- Provide feedback on onboarding process (improve it!)
- 90-day review with manager
- Transition to regular cadence
SUCCESS METRICS:
- Time to first PR merged: < 5 business days
- Time to first feature shipped: < 30 days
- New hire satisfaction survey (30/60/90 day): > 4/5
- 6-month retention rate for new hires: > 95%Why Traditional Performance Reviews Are Broken
Let me say something that every engineering leader knows but few will say out loud: annual performance reviews are theater. A process where a manager spends 30 minutes writing a review that summarizes 12 months of work, assigns a number from 1-5, and then the employee reads it six weeks later is not "performance management." It is a compliance exercise that makes HR feel productive while providing almost zero value to engineers or their managers.
The research backs this up. Deloitte found that their own performance review process consumed 2 million hours per year across the company, and managers rated the output as "not useful" for making talent decisions. Adobe eliminated stack ranking and saw voluntary turnover drop by 30%. Microsoft abandoned stack ranking in 2013 after it was widely blamed for creating internal competition that killed collaboration.
So what actually works? A system that emphasizes continuous feedback, clear expectations, and calibrated evaluation — without the bureaucratic overhead that makes everyone hate the process.
The Continuous Feedback Framework
The goal is to make feedback so routine that performance reviews contain zero surprises. If an engineer learns something new about their performance during a review, something has gone wrong in the feedback loop.
THEIR AGENDA (15 min) — They drive. You listen.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- What's on your mind this week?
- What's blocking you?
- What do you need from me?
YOUR AGENDA (10 min) — Feedback + context.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Specific feedback (positive or constructive)
Format: "I noticed [behavior] in [context].
The impact was [impact]. Going forward, I'd
like to see [expectation]."
- Context sharing (company/org updates they need)
- Upcoming opportunities or risks
CAREER (5 min, monthly rotation) — Growth focus.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Progress toward current growth goals
- Skill development check-in
- Career direction alignment
ANTI-PATTERNS TO AVOID:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✗ Using 1:1s as status updates (that's standup)
✗ Cancelling 1:1s when things are "fine"
✗ Only giving feedback during 1:1s (do it in the
moment too)
✗ Making every 1:1 about career growth (sometimes
people just need to vent about a frustrating PR
review)PIPs: Performance Improvement Plans That Aren't Just Firing Rituals
In most companies, a PIP is a legal document that HR requires before you can fire someone. Everyone — the manager, the employee, HR — knows this. The PIP is a 30-day or 60-day paper trail designed to protect the company from wrongful termination lawsuits. This is dishonest and it is unfair to the employee.
A PIP should be what its name says: a plan for improving performance. This means that when you put someone on a PIP, you should genuinely believe they can succeed. If you have already decided to fire them, do not insult them with a fake improvement plan — start the separation process directly (with appropriate severance and dignity).
When a PIP is genuine, it needs three things:
- Crystal-clear expectations. Not "improve code quality" but "every PR must include unit tests with >80% coverage for new code, reviewed and approved by a senior engineer, and must pass CI before merge. I will audit 5 random PRs each week."
- Specific support. What are you going to do differently as a manager to help them succeed? More frequent 1:1s, pairing sessions, reduced scope, a mentor — whatever it takes. If your PIP does not include your commitments, it is just a termination countdown.
- A realistic timeline. 30 days is too short for most improvement plans. 90 days is reasonable for significant behavioral changes. 60 days is the sweet spot for most situations — long enough to show real change, short enough to maintain urgency.
Even with genuine, well-designed PIPs, the success rate is roughly 25-30%. That means 70-75% of people on PIPs will ultimately leave or be terminated. This is not a reason to make PIPs dishonest — it is a reason to intervene earlier. By the time someone is on a PIP, you have usually missed 6-12 months of smaller feedback opportunities that could have prevented the situation. The best performance management is the feedback that prevents PIPs from being necessary.
Calibration Sessions
Calibration is where performance management becomes fair (or doesn't). Without calibration, you get manager bias: easy graders whose entire team is "exceeding expectations" and tough graders whose equally strong team is "meeting expectations." The result is inequitable compensation, unfair promotions, and erosion of trust in the system.
CALIBRATION SESSION (2-3 hours, quarterly or semi-annually)
PARTICIPANTS: All managers at the same level + their skip-level
FACILITATOR: Skip-level leader (VP or Director)
PRE-WORK (required):
- Each manager submits ratings + brief justification
- Facilitator reviews for obvious outliers
- Facilitator pre-groups for discussion efficiency
FORMAT:
Round 1: "Exceeds" nominations (15 min per case)
- Manager presents: what did this person accomplish?
- Group challenge: is this truly above-level work?
- Calibrate against examples from other teams
Round 2: "Needs Improvement" cases (15 min per case)
- Manager presents: what specifically is falling short?
- Group input: is this a performance issue or a
role-fit issue?
- Ensure consistency across teams
Round 3: Promotion candidates (20 min per case)
- Manager presents the case for next-level readiness
- Group evaluates: would we be comfortable giving
this person next-level work today?
- The test is NOT "have they been here long enough?"
It IS "are they already operating at the next level?"
RULES:
- No pre-negotiated ratings between managers
- Recency bias check: look at the full period, not just
last month
- Diversity lens: are patterns emerging by demographic?
- Document decisions and reasoningThe Forced Curve Debate
Should you enforce a distribution curve on performance ratings? This is one of the most contentious topics in engineering leadership. Here is the honest answer: it depends on your organizational maturity.
In a young organization with new managers and no calibration culture, a soft guideline (e.g., "we expect roughly 15% exceeds, 70% meets, 15% below") prevents rating inflation. Without this, within two years every engineer in the company will be rated "exceeds expectations" and the rating system will be meaningless.
In a mature organization with experienced managers and strong calibration, rigid curves become counterproductive. If you genuinely have a team of eight engineers who are all performing at "meets expectations," forcing a curve requires you to either unfairly downgrade someone or dishonestly upgrade someone. Neither outcome serves the organization.
The Netflix approach is worth noting: they do not have formal performance ratings at all. Instead, they use the "Keeper Test" — would you fight to keep this person? If yes, they stay and are paid top of market. If no, they get a generous severance package. This is radical transparency that most organizations are not culturally equipped to adopt, but it is philosophically coherent.
Compensation Philosophy
Your compensation philosophy needs to be explicit, documented, and communicated to every manager who makes comp decisions. Ambiguity in comp philosophy leads to inequity, and inequity leads to attrition of exactly the people you cannot afford to lose.
| Element | What to Define | Example Policy |
|---|---|---|
| Market positioning | Where do you target? | 75th percentile total comp for target market (FAANG-adjacent) |
| Salary bands | Min/mid/max per level | New hires: 80-100% of band. Promote: reset to 85-95%. |
| Equity refresh | How/when to grant additional equity | Annual refresh grants based on performance + retention risk |
| Retention packages | When to deploy one-time retention | Only for flight-risk critical talent with competing offers |
| Geo-adjustments | Remote/location-based pay | Zone-based: Tier 1 (SF/NYC) = 100%, Tier 2 = 90%, Tier 3 = 80% |
Skip-Level Reviews
Semi-annual skip-level reviews supplement your regular skip-level 1:1s by providing structured, documented feedback from two levels down. The format is different from a regular 1:1 — it is explicitly a "how is this organization working for you?" conversation.
OPENING (5 min)
"This is not a performance review. I want to understand
how things are going from your perspective — what's
working, what's not, and what I can do better."
QUESTIONS (20 min, pick 4-5)
Team Health:
- Do you feel like your team is set up to succeed?
- What's the biggest obstacle your team faces?
- Do you feel recognized for your contributions?
Manager Effectiveness:
- Do you get the feedback you need to grow?
- Do you feel supported when things are hard?
- Is there anything your manager could do differently?
Organization:
- Do you understand why we're working on what
we're working on?
- Do you feel like you can influence decisions
that affect your work?
- What would you change about how this org operates?
CLOSING (5 min)
- "What's the one thing I should take away from
this conversation?"
- Thank them. Mean it.What Culture Actually Is (And What It Is Not)
Culture is not your values poster. Culture is not your company handbook. Culture is not what your CEO says in the all-hands. Culture is what happens when nobody is watching. It is the behavior that gets rewarded, the behavior that gets tolerated, and the behavior that gets punished. If your values poster says "move fast" but your promotion committee rewards people who never break anything, your culture is risk-aversion — regardless of what the poster says.
Engineering culture specifically is the set of unwritten rules that determine how engineers in your organization make decisions, resolve conflicts, and collaborate. Does an engineer feel safe pushing back on a VP's technical opinion? That is culture. Does a team voluntarily help another team meet a deadline even though it was not their problem? That is culture. Does a senior engineer take the time to write a thoughtful RFC instead of just building it? That is culture.
Culture is a competitive advantage when it attracts people who do their best work in your environment and repels people who would not. Netflix's radical transparency culture attracts high-performers who thrive on directness and repels people who need more psychological safety. Neither is objectively "better" — but Netflix's culture is a deliberate strategic choice that shapes who joins, who stays, and how work gets done.
Building Psychological Safety (The Edmondson Framework)
Amy Edmondson's research on psychological safety is the most important management research of the last 20 years for engineering leaders. Google's Project Aristotle confirmed it: psychological safety is the single strongest predictor of team performance. Not individual talent, not technical skill, not resources — safety.
Psychological safety means that team members believe they can take interpersonal risks without fear of punishment or humiliation. It does not mean everyone is nice all the time. It means people can disagree, admit mistakes, ask "dumb" questions, and challenge the status quo without worrying about career consequences.
Building it requires concrete behaviors from leaders:
- Model vulnerability. When you make a mistake, say so publicly. "I made a bad call on the architecture decision last sprint, and here is what I learned." If the VP admits mistakes, it is safe for everyone to do so.
- Respond to mistakes with curiosity, not blame. When a deploy goes bad, your first words matter enormously. "What happened?" (curious) vs. "Who did this?" (blaming) sets the tone for your entire incident culture.
- Reward the messenger. When someone surfaces a problem early — even if it is uncomfortable — thank them publicly. "Thanks for flagging this risk. It is much better to deal with it now than to find out in production."
- Create structured opportunities for dissent. Amazon's "disagree and commit" only works if the "disagree" part is genuinely welcomed. Pre-mortems ("imagine this project failed — why?") and designated devil's advocates make dissent part of the process rather than a career risk.
Blameless Postmortems
The blameless postmortem is the single most important cultural practice in software engineering. It is the practice that separates organizations that learn from failure from organizations that repeat failure. And most companies get it wrong.
A blameless postmortem is not about being nice. It is about being effective. When people fear punishment for causing incidents, they hide mistakes, work around processes, and resist transparency. The result is that the organization learns nothing and the same failures repeat. When people know they will be treated fairly regardless of what happened, they are honest about root causes, and the organization gets smarter.
INCIDENT POSTMORTEM: [Title]
Date: [Date] Severity: [SEV-1/2/3] Duration: [X hours]
Author: [Name] Reviewed by: [Names]
1. SUMMARY (2-3 sentences)
What happened, who was affected, how long it lasted.
2. TIMELINE (detailed, UTC timestamps)
HH:MM - First alert fires
HH:MM - Engineer X acknowledges, begins investigation
HH:MM - Root cause identified
HH:MM - Fix deployed
HH:MM - Service fully recovered
3. ROOT CAUSE ANALYSIS
Proximate cause: What directly caused the failure?
Contributing factors: What made it worse or delayed
detection/recovery?
Systemic factors: What organizational/process gaps
allowed this to happen?
4. IMPACT
- Users affected: [number]
- Revenue impact: [estimate]
- SLA impact: [minutes of downtime]
5. WHAT WENT WELL
(This section is mandatory. Something always goes well.)
- Alert fired within 2 minutes of issue
- Runbook was accurate and up-to-date
- Cross-team collaboration was smooth
6. WHAT WENT POORLY
- Deployment lacked canary stage
- Monitoring gap on [specific metric]
- Escalation path was unclear
7. ACTION ITEMS (each with owner + deadline)
[ ] Add canary deployment to pipeline — @alice, 2 weeks
[ ] Add alerting for [metric] — @bob, 1 week
[ ] Update escalation docs — @carol, 3 days
8. LESSONS LEARNED
What did we learn that applies beyond this incident?
RULES FOR POSTMORTEM MEETINGS:
- No finger-pointing. Replace "Bob broke the deploy" with
"The deploy process allowed a config error to reach
production."
- Focus on systems, not individuals.
- Assume good intent. Everyone was trying to do their job.
- The goal is to make the SYSTEM safer, not to find someone
to blame.Innovation Time: What Works and What Doesn't
Google's 20% Time: The canonical example. In practice, it was always more like "120% time" — engineers were expected to do their regular work AND their 20% project. Gmail and AdSense famously came from 20% time, but countless other projects died because engineers could not actually carve out the time. Google has largely moved away from this model in favor of more structured innovation (Area 120, internal incubation programs).
Atlassian ShipIt Days: 24-hour hackathons every quarter where teams build whatever they want, then present to the company. This works better than 20% time because it is time-boxed, social, and has built-in accountability (the demo). Many Atlassian features (including some core JIRA features) originated from ShipIt days. The constraint of 24 hours forces focus.
What actually works at scale: Dedicated innovation sprints (one week per quarter where the team works on whatever they think matters most), combined with a culture that genuinely accepts the output of those sprints into the product roadmap. If innovation time output never ships, engineers stop participating. The feedback loop must be real.
Writing Culture
The companies that scale best are the companies that write well. This is not a coincidence. Writing forces clarity of thought in a way that conversation does not. You can hand-wave through a meeting, but you cannot hand-wave through a document that will be read and critiqued by dozens of people.
Amazon's 6-page memo: Before any significant decision, someone writes a 6-page narrative memo (not bullet points, not slides — narrative prose). The meeting starts with 20 minutes of silent reading. Then discussion. This ensures everyone is working from the same understanding and forces the author to think through their argument rigorously.
Stripe's document culture: Stripe is legendary for the quality of their internal documentation. Every significant technical decision gets an RFC. Every project gets a design doc. Every postmortem gets a write-up. The result: institutional knowledge is preserved, onboarding is faster, and decisions are traceable. The investment in writing pays enormous dividends in organizational learning.
Decision-Making Frameworks
| Framework | What It Is | When to Use | Pitfall |
|---|---|---|---|
| RACI | Responsible, Accountable, Consulted, Informed | Clarifying roles on cross-functional projects | Becomes bureaucratic if applied to everything |
| DACI | Driver, Approver, Contributor, Informed | Decisions that need a clear owner and approval | "Approver" can become a bottleneck |
| RFC Process | Request for Comments — written proposal, open feedback period, decision | Technical decisions with broad impact | Can slow decisions if feedback period is too long |
| Disagree and Commit | Anyone can disagree; once decided, everyone commits | Decisions where consensus is unlikely but speed matters | Only works if disagreement is genuinely safe |
| Type 1 / Type 2 | Irreversible (slow, careful) vs. reversible (fast, iterate) | Calibrating decision speed to decision stakes | Treating Type 2 decisions as Type 1 (common in big orgs) |
The companies with the best engineering cultures treat technical debt like financial debt: a known liability that accrues interest, requires conscious decisions about when to take on and when to pay down, and gets tracked visibly. When tech debt is invisible — when it only exists in engineers' heads — it becomes a source of constant friction and resentment. Make it visible. Put it on the roadmap. Allocate explicit capacity for it. And celebrate the teams that pay it down, not just the teams that ship new features.
The Art of Technical Strategy
A technical strategy is not a list of technologies you plan to adopt. It is not a migration plan. It is not "we are going to move to microservices." A technical strategy is a coherent set of choices about how technology will create competitive advantage for the business, backed by a clear diagnosis of the current situation and a plan for bridging the gap.
Most engineering organizations do not have a technical strategy. They have a to-do list of migrations and upgrades that someone compiled during a planning cycle. The difference matters enormously. Without a strategy, every technology decision is ad hoc — team A picks Kafka, team B picks RabbitMQ, team C builds a custom message bus, and within two years you have three messaging systems that nobody fully understands.
Richard Rumelt's definition of strategy applies perfectly to engineering: a strategy has three parts — a diagnosis (what is the challenge?), a guiding policy (what is our approach?), and coherent actions (what specifically are we doing?). If your "strategy" does not have all three, it is a wish list.
ENGINEERING TECHNICAL STRATEGY — [Year/Period]
1. DIAGNOSIS: WHERE ARE WE TODAY?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Current architecture overview (include a diagram)
Key metrics: deployment frequency, lead time, MTTR,
change failure rate
Known pain points (ranked by business impact):
1. [Pain point with data]
2. [Pain point with data]
3. [Pain point with data]
Technical debt inventory (top 10 items with cost)
Team capability assessment: where are we strong/weak?
2. GUIDING POLICY: WHAT IS OUR APPROACH?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3-5 principles that will guide ALL technical decisions
for the strategy period. These should be OPINIONATED.
Example principles (not a template — write your own):
- "We will optimize for developer velocity over
infrastructure cost."
- "Every team owns their service end-to-end,
including operations."
- "We will use boring technology by default and
only adopt new tech with a written justification."
3. COHERENT ACTIONS: WHAT ARE WE DOING?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Initiative 1: [Name]
- Why: connects to diagnosis point [X]
- What: specific, measurable outcome
- Timeline: Q1-Q2 [Year]
- Investment: [N] engineers for [M] months
- Success metric: [specific number]
Initiative 2: [Name]
(same format)
Initiative 3: [Name]
(same format)
4. WHAT WE ARE NOT DOING (equally important)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Explicit list of things we considered and rejected,
with reasoning. This prevents re-litigation.
5. RISKS AND MITIGATIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What could go wrong? How will we know? What will
we do about it?
6. REVIEW CADENCE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
When will we revisit this strategy?
What would cause us to revise it sooner?Roadmap Formats That Work
The format of your roadmap communicates as much as its content. A detailed Gantt chart with specific dates says "we know exactly what we are building and when." A Now/Next/Later board says "we know what matters, but timing is approximate." Choose the format that matches your actual level of certainty — using a format that implies more certainty than you have is a recipe for missed expectations.
Now/Next/Later
This is the format I recommend for most engineering organizations. It communicates priorities without committing to specific dates, which is honest given the uncertainty inherent in software development.
- Now: In active development this quarter. High confidence these will ship. 2-4 items max.
- Next: Planned for next quarter. Good confidence but subject to change based on what we learn. 3-5 items.
- Later: On the radar for the next 6-12 months. Low confidence on timing, but directionally committed. 5-10 items.
The 70/20/10 Rule
How much capacity should you allocate to feature work vs. platform work vs. tech debt? The 70/20/10 rule is a solid starting point:
- 70% on product/feature work — this is what the business is paying for. Revenue-driving, customer-facing work.
- 20% on platform and infrastructure — internal developer tooling, scalability, reliability improvements. This is your investment in future velocity.
- 10% on tech debt paydown — targeted cleanup of the codebase. Not refactoring for fun, but addressing specific debt items that are causing measurable pain.
These numbers are a starting point, not dogma. A startup might be 90/5/5. A company recovering from years of neglect might need 50/25/25 for a quarter. The point is to make the allocation explicit and visible, rather than pretending all capacity goes to features while engineers silently steal time for cleanup.
Every legacy system imposes a "strategy tax" on the organization — a percentage of your capacity that goes to maintaining systems you wish did not exist. If you have a monolith that requires 3 engineers' full-time attention just to keep running, that is a 3-engineer tax on everything else you want to do. The strategy tax is invisible in most organizations because it is never named or measured. Name it. Quantify it. Then you can make rational decisions about when to pay it down versus accepting it as a cost of doing business.
OKRs for Engineering: Good vs. Bad
OKRs are supposed to align teams around outcomes rather than outputs. In practice, most engineering OKRs are terrible because they measure outputs (number of features shipped) rather than outcomes (impact on users or business). Here is the difference:
| Bad OKR (Output) | Good OKR (Outcome) | Why It Matters |
|---|---|---|
| Ship search redesign by end of Q2 | Reduce search-to-purchase time from 45s to 30s | What if the redesign doesn't improve the metric? With the output OKR, you "succeed" even when you fail. |
| Migrate 5 services to Kubernetes | Reduce deployment lead time from 4 hours to 30 minutes | Kubernetes is a means, not an end. If you could achieve the same result differently, you should. |
| Achieve 99.99% uptime | Reduce customer-impacting incidents from 12/quarter to 3/quarter | Uptime can be gamed. Incident count + severity is harder to game and more meaningful. |
| Hire 15 engineers | Staff all critical teams to planned capacity (currently 3 teams understaffed) | Hiring 15 people who are wrong for the roles is worse than hiring 10 who are right. |
Communicating Trade-offs to Executives
The most important skill in technical leadership is translating engineering reality into business language. When you say "we need to reduce tech debt," executives hear "the engineers want to play with their code instead of building features." When you say "we need to invest in platform reliability because our current architecture will cost us $2M in lost revenue from downtime over the next year, and a $500K investment in redundancy eliminates 90% of that risk," executives hear a compelling business case.
Every technical decision you present to executives should include three things: the business impact of doing nothing, the cost of the proposed investment, and the return expressed in terms the business cares about (revenue, customer retention, velocity, risk reduction). If you cannot articulate these three things, you are not ready to make the case.
Capacity Planning
Capacity planning is the process of translating your roadmap into people-hours and ensuring you have (or can hire) the people to execute it. Most organizations do this badly because they treat every engineer as fungible, when in reality your ML infrastructure expert is not interchangeable with your frontend engineer.
A practical approach: for each roadmap item, identify the skill profile required (not just "3 engineers" but "2 backend engineers with payments experience + 1 data engineer"), then map that against your current team's skills and availability. The delta is your hiring plan or your re-prioritization signal.
The Triad Model: EM + PM + Design Lead
The most effective cross-functional operating model I have seen at scale is the triad: an Engineering Manager, a Product Manager, and a Design Lead who jointly own a product area. Not "engineering builds what product specifies" — jointly own. They share accountability for outcomes, make decisions together, and present a unified front to their respective organizations.
This model works because it eliminates the most toxic dynamic in software companies: the "throw it over the wall" handoff. When product writes a spec, throws it to engineering, and then argues about why it is taking so long, everyone loses. When engineering, product, and design are in the room together from day one — understanding constraints, debating trade-offs, and aligning on outcomes — the result is better and faster.
The triad model has specific operating norms that make it work:
- Weekly triad sync (60 minutes): Roadmap review, upcoming decisions, blockers. This is the most important meeting each week.
- Shared OKRs: The triad shares a single set of OKRs. If the OKR fails, all three fail. No finger-pointing.
- Decision rights are explicit: PM owns "what and why." Engineering owns "how and when." Design owns "how it looks and feels." Overlap zones (scope, timeline, UX trade-offs) are decided jointly.
- Disagreements escalate together: If the triad cannot agree, they escalate together to their respective leaders, presenting the disagreement honestly. They do not go behind each other's backs.
Who Owns What: The Eternal Debate
| Decision Domain | Primary Owner | Consulted | Why |
|---|---|---|---|
| What problem to solve | Product | Engineering, Design | Product is closest to customer needs and business strategy |
| How the solution looks/feels | Design | Engineering, Product | Design owns the user experience |
| How to build it technically | Engineering | Product, Design | Engineering owns technical architecture and implementation |
| When it ships | Engineering | Product | Only engineering can credibly estimate effort |
| Scope trade-offs | Triad (jointly) | — | Scope involves all three disciplines |
| Priority/sequencing | Product | Engineering, Design | Product owns the roadmap, informed by engineering capacity |
| Technical debt decisions | Engineering | Product | Engineering quantifies impact, product agrees on allocation |
| Launch criteria | Triad (jointly) | — | Quality is everyone's responsibility |
Resolving Product-Engineering Conflicts
Every healthy product-engineering relationship has conflicts. The absence of conflict means someone is not doing their job — either product is not pushing for ambitious outcomes or engineering is not pushing back on unrealistic timelines. The goal is not to eliminate conflict but to resolve it productively.
The most common conflicts and how to resolve them:
- "Engineering is too slow." This is almost always a scope problem, not a speed problem. When product says "this should only take a week," they are usually imagining a simpler version than what engineering is building. Resolution: get the PM to draw the UI on a whiteboard, then have the engineer point out every edge case, data migration, and backward-compatibility concern. Usually the PM's response is "oh, I didn't realize that was involved."
- "Product keeps changing requirements." This is a process problem. Requirements change because the feedback loop between product and engineering is too slow or nonexistent. Resolution: shorter cycles, more frequent demos, and a rule that spec changes after engineering starts require a scope trade-off conversation.
- "We never get to work on tech debt." This is a visibility problem. Engineers know the debt exists but product cannot see it. Resolution: quantify the debt in business terms. "This legacy auth system caused 3 incidents last quarter, each costing $50K in lost revenue and 40 hours of engineering time. Replacing it costs $200K but eliminates $600K/year of risk."
- "Engineering is building what they want, not what customers need." This happens when engineers have been burned by too many product pivots and start going rogue. Resolution: re-establish trust by involving engineering in customer conversations. When engineers hear customers describe their pain directly, they stop arguing about what to build.
Managing Up: Working with CPO/CTO/CEO
Managing up is not sucking up. It is the practice of ensuring your leadership has the information they need to support you, the context to make good decisions, and the confidence to give you the autonomy you need. The VP of Engineering who manages up effectively gets more budget, more headcount, and more runway than the VP who does not — because their leadership trusts them.
Principles of effective upward management:
- No surprises. The worst thing you can do to your boss is surprise them — especially with bad news. If a project is at risk, say so early. "I want to flag that the Q3 migration is running two weeks behind. Here is my plan to recover" is infinitely better than "the Q3 migration missed its deadline."
- Come with solutions, not just problems. "We have a retention problem on the platform team" is a problem. "We have a retention problem on the platform team. I am proposing a retention package for 3 key engineers and a recruiting plan to bring in 2 additional platform engineers by Q2" is a solution.
- Understand their priorities. Your CEO probably does not care about Kubernetes vs. ECS. They care about speed to market, reliability, and cost. Frame every ask in terms of their priorities.
- Send weekly updates. A brief (5-bullet) weekly update to your manager keeps them informed without requiring a meeting. Include: what shipped, what is at risk, what you need, key metrics, and one thing they should know about.
Board-Level Reporting for Engineering
If you are a VP or CTO, you will eventually present to the board. Board members are smart people who are not engineers. They want to know three things: is the engineering organization executing effectively, is the technology a competitive advantage or a liability, and are we investing appropriately?
ENGINEERING UPDATE — [Quarter] [Year]
EXECUTIVE SUMMARY (2-3 sentences)
Engineering velocity is [up/down/flat] QoQ. Key
highlights: [major launch], [key metric improvement].
Primary risk: [one thing they need to know].
KEY METRICS (5 max, trended over 4 quarters)
┌────────────────────────────────────────────┐
│ Deployment Frequency: 12/day → 18/day (+50%)│
│ Change Failure Rate: 8% → 4% (improved) │
│ MTTR (incidents): 4h → 1.5h (improved) │
│ Engineering Efficiency: $X revenue per eng │
│ Team Health Score: 4.2/5 (from survey) │
└────────────────────────────────────────────┘
MAJOR ACCOMPLISHMENTS (3-4 bullets)
- Launched [feature], impact: [metric change]
- Completed [migration], result: [cost savings]
- Hired [N] engineers, [N] offer acceptance rate
STRATEGIC INITIATIVES STATUS
[Initiative 1]: On track / At risk / Behind
[Initiative 2]: On track / At risk / Behind
KEY RISKS AND MITIGATIONS
Risk: [description]
Mitigation: [what you're doing about it]
ASK (if any)
- Headcount: requesting [N] additional for [reason]
- Investment: requesting $[X] for [infrastructure]Working with Finance on Headcount and Budgets
Engineering is usually the largest cost center in a technology company. This makes your relationship with Finance critically important and often adversarial. Finance sees engineering headcount as a cost to be controlled. You see it as an investment in future capability. Both are true.
The key to a productive relationship with Finance is speaking their language: ROI, payback periods, and cost per unit of output. Instead of "we need 5 more engineers," try "adding 5 engineers to the platform team will reduce our infrastructure costs by $2M/year through automated scaling, paying for itself in 8 months." Instead of "we need to upgrade our database," try "the current database architecture limits our transaction throughput to 10K TPS; at current growth, we hit that ceiling in Q3, which would cap revenue growth. Upgrading costs $500K and supports 100K TPS."
Build a quarterly engineering cost model that shows: total engineering spend (salaries + infrastructure + tooling), revenue per engineer, cost per feature shipped, and infrastructure cost per customer. Trending these numbers over time lets you have informed conversations about efficiency rather than emotional arguments about headcount.
The Reality of Organizational Change
If you are in engineering leadership long enough, you will go through a reorg, a layoff, or both. Between 2022 and 2025, the tech industry experienced the most significant wave of layoffs since the dot-com bust — Meta laid off 21,000 people (25% of its workforce), Google laid off 12,000, Amazon cut 27,000, and hundreds of smaller companies followed suit. Many of these layoffs were accompanied by reorgs that fundamentally reshaped engineering organizations.
These events are traumatic for everyone involved — the people who leave, the people who stay, and the leaders who must navigate it all. Most leadership advice about organizational change is sanitized nonsense: "communicate transparently," "show empathy," "maintain focus." These platitudes are not wrong, but they are so vague as to be useless. What follows is the practical, sometimes uncomfortable playbook for leading through organizational upheaval.
When and Why to Reorg
Reorgs should be rare and purposeful. If you are reorging more than once a year, you are either bad at org design or your business is changing so rapidly that stability is impossible (the latter is rare; the former is common). Valid reasons to reorg:
- Product strategy has changed fundamentally. If the company has decided to pivot from B2C to B2B, the engineering org structure needs to follow.
- The current structure is creating systematic coordination failures. If teams cannot ship because they are constantly blocked by dependencies on other teams, the team boundaries are wrong.
- The organization has outgrown its structure. A structure that worked at 30 engineers will not work at 100. Spans of control, decision-making authority, and communication paths all need to change.
- Key leaders have left and the org needs to reconsolidate. Sometimes a departure creates an opportunity to restructure in a way that was not possible before.
Invalid reasons to reorg: A new leader wants to "put their stamp" on the org (this is ego, not strategy). You want to address one manager's performance by reorganizing around them (fix the manager problem directly). You read a blog post about a cool org model (stop it).
The 72-Hour Rule After Announcement
The first 72 hours after a reorg or layoff announcement are the most critical period. This is when narratives form, trust is gained or lost, and the difference between "we handled this well" and "this was a disaster" is determined.
HOUR 0: THE ANNOUNCEMENT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- You (the senior leader) deliver the news directly.
Not an email. Not your HR partner. You.
- Be direct. "We are reorganizing/reducing our team.
Here is what is changing and why."
- Do NOT bury the lede. Bad: "As we continue our
journey of transformation..." Good: "Today we are
eliminating 40 positions across the engineering
organization."
- Acknowledge the human impact. "This is hard.
People you care about are affected."
- Explain the WHY honestly. Business reasons, not
euphemisms.
HOURS 0-4: INDIVIDUAL CONVERSATIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Every affected person gets a 1:1 with their manager
SAME DAY as the announcement.
- For layoffs: clear information about severance,
benefits, references, and timeline.
- For reorgs: clear information about new manager,
new team, new scope.
HOURS 4-24: MANAGER SUPPORT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Debrief with all managers. "How did it go? What
questions came up that you couldn't answer?"
- Provide written FAQ for managers to reference.
- Identify flight risks and plan retention conversations.
HOURS 24-72: STABILIZATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Open office hours for questions.
- Manager 1:1s with every remaining team member.
- Address rumors directly — if you hear a wrong
narrative forming, correct it immediately.
- Start forward-looking conversations: "Here is
what we are building next."
THE CARDINAL RULE:
Over-communicate in the first 72 hours.
When in doubt, say more, not less.
Silence is interpreted as hiding something.Supporting Your Team Through Layoffs You Did Not Choose
This is one of the hardest situations in leadership: your company is doing layoffs, the list has been decided by people above you, and some of your people are on it. You may disagree with the decision. You may have fought against it. But it is happening, and your team needs you to lead through it.
What your team needs from you in this moment:
- Honesty about what you know and don't know. "I don't know if there will be more layoffs. I can tell you what I've been told, which is that this is a one-time reduction." If you do not know, say you do not know. Do not make promises you cannot keep.
- Emotional acknowledgment without toxic positivity. "This sucks, and it's okay to feel angry and sad about it" is more helpful than "This is an opportunity for us to focus on what matters." People are mourning the loss of colleagues. Let them.
- Practical support for departing colleagues. Write LinkedIn recommendations. Make introductions. Review resumes. Being seen as someone who takes care of people — even after they leave — builds more trust than any team-building exercise.
- A return to purpose. Within a week (not a day, a week — give people time to process), start talking about what the team is building next. People need to believe their work matters, especially when they have just watched colleagues lose theirs.
Survivor Guilt and Rebuilding Morale
The people who survive a layoff often struggle as much as the people who leave — they just do it quietly. Survivor guilt manifests as: reduced engagement, excessive caution (fear of being next), resentment toward leadership, and quiet job searching. Research from the Harvard Business Review found that layoff survivors experience a 20% drop in job performance and a 41% decline in job satisfaction.
Rebuilding morale after a layoff is a multi-month process, not a one-time event:
- Acknowledge survivor guilt directly. In your all-hands after the layoff, say: "Some of you may feel guilty that you're still here while your friends are not. That's a normal reaction. I want you to know that your being here is not accidental — you are critical to what we're building next."
- Rebuild the team identity. The team you had before the layoff no longer exists. You need to build a new team identity. New rituals, new goals, new victories. Do not try to pretend nothing happened.
- Demonstrate investment in the remaining team. Promotions, development opportunities, interesting projects — anything that signals "we are investing in you, not just cutting costs."
- Be visible and available. The weeks after a layoff are not the time to be heads-down on strategy. Walk the floor (or be active in Slack). Have open-door hours. Be human.
Elisabeth Kubler-Ross's grief model — denial, anger, bargaining, depression, acceptance — applies to organizational change as well as personal loss. After a reorg or layoff, you will see all five stages in your team, often simultaneously. Someone in denial ("this won't actually change anything") sitting next to someone in anger ("this is a terrible decision") next to someone already in acceptance ("let's figure out how to make this work"). Your job is not to rush people through these stages. Your job is to create a safe space for them to process while maintaining organizational momentum. People move through change at different speeds. Push too hard and you get resistance. Push too little and you get stagnation.
Your Own Career During Turmoil
Let me be honest about something that leadership books rarely address: organizational upheaval is also a threat to your career. Reorgs change reporting lines — you might end up reporting to someone who was your peer, or your role might be eliminated and folded into another. Layoffs can include leaders too.
How to navigate your own career during turbulent times:
- Document your impact. Keep a running record of decisions you made, problems you solved, and results you achieved. In uncertain times, having a clear record of your value is insurance.
- Maintain your external network. The best time to build relationships outside your company is when you don't need them. Regular coffee chats with peers at other companies, speaking at conferences, and staying active in your professional community are not disloyal — they are professionally responsible.
- Do the hard things. Leaders who step up during crises — who lead the difficult communication, who make the tough calls, who support their team through the worst of it — are the ones who get promoted when things stabilize. Organizational change is an opportunity to demonstrate leadership that cannot be demonstrated in stable times.
- Know your line. There are situations where the right move is to leave. If you are asked to do something that violates your values, if the company's direction is fundamentally misaligned with your goals, or if the toxicity is affecting your health — those are signals to start looking, not signals to dig in.
Beyond "Remote-First" Platitudes
Every company claims to be "remote-first" or "hybrid-flexible" but most are neither. They are "headquarters-first with guilt about it." The tell is simple: where are the decisions made? If the important conversations happen in the hallway between offices, in the lunch room, or in the post-meeting huddle that only the in-office people attend, you are not remote-first — you are remote-tolerated.
Being genuinely remote-first means that remote is the default, and in-office is the accommodation. It means that every meeting has a video link, every decision is documented in writing, every important conversation happens in a channel where remote people can participate, and being in the office provides zero informational advantage over being at home.
Very few companies actually achieve this. GitLab is the gold standard. Shopify made significant strides. Most companies that say "remote-first" are lying to their job candidates. If you are leading an engineering organization, your job is not to adopt a label — it is to honestly assess where you are on the spectrum and design your practices accordingly.
Async Communication Frameworks
The fundamental challenge of distributed teams is not technology — it is communication. Specifically, the challenge is shifting from synchronous communication (meetings, hallway conversations, tapping someone on the shoulder) to asynchronous communication (documents, messages, recorded videos) without losing the richness and speed that synchronous communication provides.
USE SYNCHRONOUS (meeting/call) WHEN:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Brainstorming or creative ideation
- Sensitive conversations (performance, conflict)
- Complex decision-making with multiple stakeholders
- Team bonding / social connection
- Urgent incidents requiring real-time coordination
USE ASYNCHRONOUS (written/recorded) WHEN:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Status updates (write it, don't meet about it)
- Technical proposals / RFCs
- Decision announcements (after the decision is made)
- Code reviews
- Anything that benefits from thoughtful, considered
responses rather than off-the-cuff reactions
- Cross-timezone coordination
USE RECORDED VIDEO (Loom, etc.) WHEN:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Walking through a design or demo
- Explaining complex context that would take 2 pages
to write but 5 minutes to show
- Providing feedback that needs tone/nuance
- Onboarding walkthroughs
THE GOLDEN RULE:
If a meeting could have been an email, make it an
email. If an email thread has more than 5 replies,
make it a meeting. Match the medium to the message.Meeting Hygiene for Distributed Teams
Meetings in distributed teams are harder than in-office meetings because you lose all the informal signals — body language, side conversations, the ability to read the room. This means your meetings need to be more structured, not less. The bar for having a meeting should be higher, and the quality of each meeting should be better.
The rules that work:
- Every meeting has an agenda shared 24 hours in advance. No agenda, no meeting. This is not optional. An agenda forces the organizer to think about why they need this meeting and gives attendees time to prepare.
- Every meeting has a designated note-taker. Notes are posted in a shared channel within 1 hour of the meeting ending. This ensures remote team members who could not attend (timezone, conflict, intentional absence) are not disadvantaged.
- Cameras on by default for small meetings (under 8 people). This is debatable, and I know many people disagree. My position: in small meetings where discussion is the point, being able to see faces dramatically improves communication quality. In large meetings (all-hands, presentations), cameras off is fine.
- 25-minute and 50-minute meetings. Not 30 and 60. The 5-10 minute buffer between meetings is essential for bio breaks, context switching, and mental health. Back-to-back video calls are unsustainable.
- No-meeting days. At least one day per week where no internal meetings are scheduled. This protects focused work time and is especially important for engineers whose productivity depends on uninterrupted blocks.
Timezone Management
If your team spans more than 4 timezones, you have a timezone problem. If it spans more than 8, you have a severe timezone problem. The math is simple: 4 timezone hours means roughly 4-5 hours of overlap for synchronous work. 8 timezone hours means roughly 1-2 hours. Beyond 8, you have essentially zero overlap for a significant portion of your team.
Strategies that work for timezone-distributed teams:
- Define "core hours" — and keep them short. For a team spanning US Pacific to Central European, core hours might be 9am-12pm Pacific / 6pm-9pm CET. Protect these hours for meetings that need everyone. Everything else is async.
- Rotate the pain. If there is a weekly all-hands that has to be synchronous, alternate the time so the burden of inconvenient hours is shared. The fastest way to lose remote employees in distant timezones is to always make them attend 10pm meetings.
- Design for timezone independence. The best distributed teams are structured so that no decision requires synchronous participation from all timezones. Each timezone has the context and authority to make progress independently, with async handoffs between zones.
- Record everything. Every synchronous meeting that includes important information or decisions should be recorded. This is not surveillance — it is inclusion. The engineer in Singapore should not miss the architecture discussion just because it happened during their night.
Building Connection Without Co-location
The biggest challenge of remote work is not productivity — research consistently shows remote workers are as productive or more productive than in-office workers. The challenge is connection. The informal bonds that form over lunch, coffee, and hallway conversations do not happen naturally in a remote environment. You have to create them deliberately.
What works:
- Virtual coffee roulette. A bot that randomly pairs people for 15-minute social calls once a week. No agenda, no work topics — just getting to know each other. This is the single most effective remote connection practice I have seen.
- Team offsites (quarterly or semi-annual). Bring the whole team together in person 2-4 times per year. These are not for working (you can work remotely). They are for building relationships. Plan social activities, team dinners, and unstructured time. The ROI on offsites is enormous — the relationship capital built in one week sustains remote collaboration for months.
- Slack channels for non-work topics. #pets, #cooking, #gaming, #parenting, #books — whatever your team cares about. These channels create the social fabric that office water coolers provide. Some leaders dismiss this as noise. They are wrong. It is infrastructure.
- Celebrate together. Birthdays, work anniversaries, project launches, personal milestones. In an office, these happen naturally. Remotely, you have to make them happen. A two-minute Slack post recognizing someone's promotion is small but meaningful.
Remote work loneliness is real and it disproportionately affects junior engineers and new hires. A senior engineer with 10 years of professional relationships can work remotely and feel connected. A new grad joining their first job remotely often feels isolated, unsupported, and uncertain about whether they are performing well. As a leader, you must be proactive about checking in with your most isolated team members. Ask directly: "How are you doing, really?" And listen to the answer.
Remote Performance Assessment Pitfalls
The biggest pitfall in remote performance management is proximity bias — the unconscious tendency to rate people you see more often more favorably. In a hybrid environment, this means in-office employees get better ratings, more promotions, and more visibility than remote employees, even when their work is equivalent.
Counter this by:
- Evaluating output, not presence. "Did they ship the feature on time and with quality?" not "Were they always online when I checked?"
- Auditing ratings for location bias. During calibration, explicitly ask: "Are we rating remote employees differently than in-office employees? If so, why?"
- Ensuring equal access to high-visibility projects. If all the high-visibility, promotion-worthy projects go to in-office employees because they are "easier to collaborate with," you have a systemic bias problem.
- Documenting contributions rigorously. In a remote world, work that is not documented does not exist. Encourage engineers to write weekly updates, demo their work, and keep a brag document.
Hybrid Meeting Equity
Hybrid meetings — where some people are in a conference room and others are on video — are the hardest meeting format to get right. The in-room participants naturally dominate: they can see each other, they can use body language, they form a sub-conversation that excludes remote participants. The remote participants become an audience rather than participants.
The only reliable solution I have found: if one person is remote, everyone is remote. Even the in-office people join from their individual laptops. This equalizes the experience. It sounds extreme, and many leaders resist it, but it is the single most effective practice for hybrid meeting equity. Companies like Dropbox and Atlassian adopted this policy and saw dramatic improvement in remote employee satisfaction.
Why DevEx Is a Leadership Problem, Not a Tools Problem
Developer experience is not about having a cool CI/CD tool or a fancy internal developer portal. It is about the total experience of being a developer in your organization — from the moment they open their laptop in the morning to the moment they close it at night. How long does it take to go from idea to deployed code? How many meetings interrupt their focus? How often does the build break? How painful is on-call? These are leadership problems, not tools problems.
The business case for investing in DevEx is overwhelming. Research from the DORA team (now part of Google Cloud) shows that elite-performing engineering organizations deploy 973x more frequently than low performers, with 6,570x faster lead times and 3x lower change failure rates. McKinsey's research found that top-quartile developer experience organizations see 4-5x better developer productivity. Stripe's research estimated that poor developer experience costs the global economy $85 billion per year in wasted developer time.
Despite this evidence, most engineering organizations chronically underinvest in DevEx because the returns are indirect and hard to attribute. The VP who ships a new feature gets credit for the revenue it generates. The VP who reduces build times from 30 minutes to 3 minutes generates far more value (multiplied across every developer, every day) but gets no credit because the benefit is diffuse. This is a leadership failure, not a market failure.
DevEx Metrics: What to Measure
| Framework | Metrics | What It Tells You | Pitfalls |
|---|---|---|---|
| DORA | Deployment frequency, Lead time for changes, Change failure rate, Time to restore service | How well your delivery pipeline works | Can be gamed if targets are set without context |
| SPACE | Satisfaction, Performance, Activity, Communication, Efficiency | Holistic view of developer experience | Satisfaction is subjective; needs qualitative context |
| DX Core 4 | Speed, Effectiveness, Quality, Impact | Developer-centric view of productivity | Requires self-reported data (surveys) |
| Custom (recommended) | Time to first deploy (new hire), Build time (P50/P95), Deploy-to-production time, Developer satisfaction (quarterly survey), % time on toil vs. creative work | Your specific bottlenecks | Must be tailored to your context |
Do NOT measure lines of code, number of commits, or number of PRs as productivity metrics. These are activity metrics, not impact metrics. An engineer who deletes 1,000 lines of code while simplifying a system is more productive than an engineer who adds 1,000 lines of unnecessary complexity. An engineer who writes a thoughtful RFC that prevents a bad architecture decision has more impact than one who ships three features that nobody uses. The moment you tie incentives to activity metrics, you get exactly what you measured — lots of activity, little impact.
Internal Developer Platform Strategy
An Internal Developer Platform (IDP) is the set of tools, services, and processes that your engineers use to build, test, deploy, and operate software. At small scale, this is just "the tools we use." At large scale (100+ engineers), it becomes a product that needs a product strategy, a team, and a roadmap.
The key concept is golden paths — opinionated, well-supported paths for common tasks. A golden path for "deploy a new microservice" might include: a service template, pre-configured CI/CD pipeline, standard observability setup, auto-configured service mesh entry, and documentation. An engineer following the golden path can go from "I want a new service" to "it is running in production with monitoring" in under a day.
Golden paths are not mandates. They are defaults. An engineer who needs something different can deviate from the golden path, but they take on the support burden for their deviation. This is the "guardrails, not gates" philosophy — make the right thing easy, not the wrong thing impossible.
LEVEL 1: AD HOC (most startups)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Each team manages their own tooling
- No standardization
- Tribal knowledge for deployment
- Works until ~30 engineers
LEVEL 2: STANDARDIZED (growth stage)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Shared CI/CD pipeline
- Common deployment process
- Centralized logging/monitoring
- Service templates exist but are optional
- Works until ~100 engineers
LEVEL 3: SELF-SERVICE (scale stage)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Internal developer portal (Backstage, etc.)
- Golden paths for common tasks
- Service catalog with ownership
- Automated environment provisioning
- Dedicated platform team
- Works until ~500 engineers
LEVEL 4: PRODUCT-MANAGED (large scale)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Platform team has a PM and treats devs as customers
- Internal SLAs for platform services
- Developer satisfaction tracked as a KPI
- Regular "customer research" with developer teams
- Platform roadmap driven by developer feedback
- Required at ~500+ engineers
LEVEL 5: ECOSYSTEM (mega-scale)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Multiple platform teams (compute, data, ML, etc.)
- Internal marketplace for tools and services
- Developer experience as a P&L line item
- Industry-leading practices
- Google, Meta, Netflix territoryBuild Times Matter: The Real ROI Calculation
If your build takes 20 minutes and you have 200 engineers who each trigger 5 builds per day, that is 200 * 5 * 20 = 20,000 minutes = 333 hours of waiting time per day. At $100/hour fully-loaded cost, that is $33,300 per day, or roughly $8.7 million per year in waiting time alone.
Now consider that during those 20 minutes, the engineer's context is disrupted. Research from Microsoft and the University of British Columbia shows that it takes an average of 23 minutes to regain deep focus after an interruption. So each 20-minute build is actually costing you 43 minutes of productive time. The annual cost just doubled to $17.4 million.
If you can reduce that build time from 20 minutes to 5 minutes (through better caching, parallelization, or architecture changes), you save roughly $6.5 million per year in direct waiting time and likely double that in restored focus time. This is a $500K investment with a 25x return. And yet, at most companies, this investment would lose the roadmap prioritization battle to a feature that generates $1M in annual revenue. This is a leadership failure.
Shopify reduced their core commerce build time from 25 minutes to 4 minutes by migrating to a modular architecture with aggressive caching. The investment was 6 engineers for 3 months. The return: every one of their 1,000+ engineers saved roughly 45 minutes per day. That is 750 engineer-hours per day returned to productive work. Airbnb invested heavily in build infrastructure and reduced their CI time from 40 minutes to 8 minutes, crediting the initiative with a measurable improvement in developer satisfaction scores and deployment frequency.
On-Call Burden Management
Nothing destroys developer satisfaction faster than a broken on-call experience. An engineer who gets paged 5 times a night, every third week, will burn out and leave within a year. On-call burden is a leading indicator of attrition, and most organizations track it poorly or not at all.
A healthy on-call rotation looks like this:
- Page frequency: fewer than 2 pages per on-call shift outside business hours. If you are consistently exceeding this, your system is not reliable enough or your alerts are too noisy.
- Rotation size: at least 5-6 people, so each person is on call roughly once every 5-6 weeks. Smaller rotations lead to burnout.
- Compensation: on-call should be compensated, either through additional pay, comp time, or both. Asking engineers to carry a pager for free nights and weekends is disrespectful of their time.
- Post-incident follow-through: every page that wakes someone up should result in an action item to prevent that page from happening again. If the same alert fires repeatedly without improvement, you have a culture problem.
- Manager accountability: engineering managers should review on-call burden monthly. If one team is getting paged 10x more than another, that is a signal that needs attention.
Developer Satisfaction Surveys
You cannot improve what you do not measure, and you cannot measure developer experience without asking developers. A quarterly developer satisfaction survey is the single most important instrument for understanding what is working and what is not.
QUARTERLY DEVEX SURVEY (15 questions, 10 min to complete)
Scale: 1 (Strongly Disagree) to 5 (Strongly Agree)
TOOLING & INFRASTRUCTURE
1. Our CI/CD pipeline is fast and reliable.
2. I can set up a local dev environment quickly.
3. Our internal tools help me be productive.
4. I spend an acceptable amount of time on toil
(manual, repetitive tasks).
PROCESS & FLOW
5. I have enough uninterrupted time to do deep work.
6. Our code review process is efficient and helpful.
7. I understand the deployment process clearly.
8. I feel confident deploying to production.
TEAM & CULTURE
9. I feel safe raising concerns or disagreeing
with decisions.
10. I get timely, actionable feedback on my work.
11. On-call is manageable and well-supported.
OVERALL
12. I would recommend this org as a great place
for engineers to work.
13. I feel productive in my day-to-day work.
OPEN-ENDED (required to complete)
14. What is the single biggest thing we could do
to improve your experience as a developer?
15. What is working well that we should keep doing?
TRACKING:
- Survey quarterly, trend over time
- Share results org-wide within 2 weeks
- Commit to addressing top 3 issues before
next survey
- Report back on what was doneConnecting DevEx to Business Outcomes
The ultimate justification for investing in developer experience is that it drives business outcomes. The connection is real but indirect, which makes it hard to sell to executives who want direct attribution. Here is the chain of logic:
- Better DevEx leads to faster cycle times. When builds are fast, deployments are easy, and tooling works, engineers ship faster.
- Faster cycle times lead to faster experimentation. When shipping is cheap and safe, teams run more experiments, learn faster, and find product-market fit more efficiently.
- Faster experimentation leads to better products. Teams that can test 10 hypotheses in the time it takes a competitor to test 2 will find winning features faster.
- Better DevEx leads to better retention. Engineers who enjoy their work environment stay longer. Lower attrition means lower recruiting costs, preserved institutional knowledge, and more experienced teams.
- Better retention leads to higher productivity. A team of engineers with 3+ years at the company outperforms a team of engineers with 6 months by 2-3x, because institutional knowledge compounds.
The total ROI of DevEx investment, when you account for all these effects, is typically 5-10x. The challenge is that the benefits accrue gradually over 6-18 months, while the costs are immediate. This is why DevEx investment requires leadership conviction — it is a bet on the medium-term future of your engineering organization's effectiveness. And it is a bet that, in my experience, always pays off.
At the end of the day, engineering leadership comes down to a simple question: are you making your engineers' lives better or worse? Every decision you make — every process you introduce, every tool you adopt, every meeting you schedule, every reorg you execute — either adds to or subtracts from the developer experience. The best engineering leaders I know ask themselves this question constantly. They measure it. They obsess over it. Not because happy developers are an end in themselves (though they are), but because developers who love their work and their tools and their team produce extraordinary results. Developer experience is not a nice-to-have. It is the foundation on which everything else is built.
Need this for a date?
Turn this course into a ramp-up pack sized to your minutes per day, or build an interview or certification pack for the day you need it.