Engineering Manager First 90 Days
Navigate the transition to engineering management successfully. Covers listening tours, relationship building, team assessment, establishing credibility, avoiding common pitfalls, and the patterns that set new managers up for long-term effectiveness.
Engineering Manager First 90 Days
TL;DR
The first 90 days as an engineering manager are critical for setting the foundation of trust, understanding the team’s dynamics, and identifying key areas for improvement. By listening, diagnosing, and acting thoughtfully, you can build a high-performing team that drives real value for your organization.
Why This Matters
In the first 90 days, you have the unique opportunity to set the tone for your leadership style and influence the culture of the engineering team. According to a study by McKinsey, 80% of new hires leave within the first 18 months, and a significant portion of this turnover is due to poor management. By focusing on the first 90 days, you can reduce turnover, improve productivity, and enhance overall team performance. For example, a well-managed team can deliver 20% more value to the company within the first year.
Core Concepts
1. Understanding the Current State
The first 30 days are crucial for gaining a deep understanding of the team’s current state. This involves multiple 1:1s with team members and stakeholders, as well as active observation of team dynamics and processes.
2. Identifying the Highest-Leverage Changes
During the next 30 days, you should synthesize the information gathered and identify the highest-leverage changes that can be made. This often involves making quick wins and addressing systemic issues.
3. Making Meaningful Changes
The final 30 days are about implementing the changes you have identified. This requires clear communication, planning, and execution to ensure that the changes stick and have a lasting impact.
4. Building Trust and Credibility
Throughout the 90 days, you must build trust and credibility with your team. This involves being transparent, accountable, and consistent in your actions.
Implementation Guide
Days 1-30: Listen
1.1: One-on-One Meetings (1:1s)
-
Objective: Understand each team member’s perspectives and concerns.
-
Steps:
for team_member in team_members: meet(team_member, duration=30) record_notes() -
Questions to Ask:
[What's working well?] [What's frustrating?] [What would you change if you could?] [How do you prefer to work with your manager?] [What are your career goals?]
1.2: Stakeholder Meetings
-
Objective: Gain insights from other key stakeholders within the organization.
-
Steps:
stakeholders = [product_manager, design, other_eng_manager, manager] for stakeholder in stakeholders: meet(stakeholder, duration=15) record_notes() -
Questions to Ask:
[What are the team's biggest delivery risks?] [Where does the team struggle with design handoff?] [What should I know about this team?] [What does success look like in 90 days?]
1.3: Active Observation
- Objective: Observe the team’s dynamics and processes without interfering.
- Steps:
attend(standups, duration=10) review(retrospectives, duration=30) read(incident_reports, duration=15) codebase_review(high_level, duration=30) map_dependencies()
Days 31-60: Diagnose
3.1: Synthesize Patterns
- Objective: Identify common themes and areas for improvement.
- Steps:
themes = synthesize_themes() for theme in themes: print("Theme:", theme) print("Occurrences:", count_occurrences(theme))
3.2: Quick Wins
- Objective: Address low-hanging fruits that can improve team morale and productivity.
- Steps:
quick_wins = [ "Fix the meeting that everyone hates", "Unblock the thing that's been stuck for weeks", "Remove one unnecessary process", "Get the team a tool they've been asking for" ] for quick_win in quick_wins: implement(quick_win)
Days 61-90: Act
6.1: Select Key Changes
- Objective: Choose one process and one technical improvement to focus on.
- Steps:
process_improvements = [ "Streamline the code review process", "Improve the onboarding process", "Enhance the sprint planning meeting" ] technical_improvements = [ "Implement a CI/CD pipeline", "Refactor a critical module", "Improve the data pipeline" ] selected_improvements = select_improvements(process_improvements, technical_improvements) for improvement in selected_improvements: implement(improvement)
6.2: Communicate Clearly
- Objective: Clearly communicate your plans and reasoning to the team.
- Steps:
communicate_clearly( "Here's what I heard...", "Here's what I'm going to change and why..." )
Anti-Patterns
1. Moving Too Quickly Without Understanding
- Description: Jumping into changes without a thorough understanding of the team can lead to resistance and failure.
- Why It’s Wrong: It’s crucial to gather enough data and insights before making any changes. Rushing can break trust and credibility.
2. Failing to Build Relationships
- Description: Ignoring the personal connections and relationships within the team can lead to a lack of buy-in and support.
- Why It’s Wrong: Building relationships is key to gaining the trust and support of your team. Personal connections can make the difference between success and failure.
3. Over-Promising and Under-Performing
- Description: Making grand promises without a clear plan to deliver can lead to disappointment and frustration.
- Why It’s Wrong: It’s better to set realistic expectations and deliver on them than to overpromise and underdeliver. This can damage your credibility and the team’s morale.
Decision Framework
| Criteria | Option A | Option B | Option C |
|---|---|---|---|
| Impact on Productivity | High | Medium | Low |
| Resource Intensity | Low | Medium | High |
| Timeline | Short | Medium | Long |
| Risk | Low | Medium | High |
| Employee Satisfaction | High | Medium | Low |
| Option A | Streamline the code review process | Enhance the onboarding process | Implement a CI/CD pipeline |
| Option B | Improve the sprint planning meeting | Refactor a critical module | Improve the data pipeline |
| Option C |
Summary
- Listen: Understand the current state through 1:1s and observations.
- Diagnose: Identify patterns and quick wins to address immediate issues.
- Act: Make meaningful changes and communicate clearly.
- Build Trust: Be transparent, accountable, and consistent in your actions.
- Avoid Anti-Patterns: Don’t move too quickly, ignore relationships, or overpromise without delivering.
By following this framework, you can set a strong foundation for your role as an engineering manager and drive meaningful improvements in your team.