- Acknowledgments
- Introduction
- How to Read This Book
- O’Reilly Safari
- How to Contact Us
- 1. Management 101
- What to Expect from a Manager
- One-on-One Meetings
- Feedback and Workplace Guidance
- Training and Career Growth
- How to Be Managed
- Spend Time Thinking About What You Want
- You Are Responsible for Yourself
- Give Your Manager a Break
- Choose Your Managers Wisely
- Assessing Your Own Experience
- 2. Mentoring
- The Importance of Mentoring to Junior Team Members
- Being a Mentor
- Mentoring an Intern
- Mentoring a New Hire
- Technical or Career Mentoring
- Good Manager, Bad Manager: The Alpha Geek
- Tips for the Manager of a Mentor
- Key Takeaways for the Mentor
- Be Curious and Open-Minded
- Listen and Speak Their Language
- Make Connections
- Assessing Your Own Experience
- 3. Tech Lead
- All Great Tech Leads Know This One Weird Trick
- Being a Tech Lead 101
- The Main Roles of a Tech Lead
- Managing Projects
- Managing a Project
- Decision Point: Stay on the Technical Track or Become a Manager
- Imagined Life of a Senior Individual Contributor
- Real Life of a Senior Individual Contributor
- Imagined Life of a Manager
- Real Life of a Manager
- Good Manager, Bad Manager: The Process Czar
- How to Be a Great Tech Lead
- Understand the Architecture
- Be a Team Player
- Lead Technical Decisions
- Communicate
- Assessing Your Own Experience
- 4. Managing People
- Starting a New Reporting Relationship Off Right
- Build Trust and Rapport
- Create a 30/60/90-Day Plan
- Encourage Participation by Updating the New Hire Documentation
- Communicate Your Style and Expectations
- Get Feedback from Your New Hire
- Communicating with Your Team
- Have Regular 1-1s
- Scheduling 1-1s
- Adjusting 1-1s
- Different 1-1 Styles
- The To-Do List Meeting
- The Catch-up
- The Feedback Meeting
- The Progress Report
- Getting to Know You
- Mix It Up
- Good Manager, Bad Manager: Micromanager, Delegator
- Practical Advice for Delegating Effectively
- Use the Team’s Goals to Understand Which Details You Should Dig Into
- Gather Information from the Systems Before Going to the People
- Adjust Your Focus Depending on the Stage of Projects
- Establish Standards for Code and Systems
- Treat the Open Sharing of Information, Good or Bad, in a Neutral to Positive Way
- Creating a Culture of Continuous Feedback
- Performance Reviews
- Writing and Delivering a Performance Review
- Cultivating Careers
- Challenging Situations: Firing Underperformers
- Assessing Your Own Experience
- 5. Managing a Team
- Staying Technical
- Debugging Dysfunctional Teams: The Basics
- Not Shipping
- People Drama
- Unhappiness Due to Overwork
- Collaboration Problems
- The Shield
- How to Drive Good Decisions
- Create a Data-Driven Team Culture
- Flex Your Own Product Muscles
- Look into the Future
- Review the Outcome of Your Decisions and Projects
- Run Retrospectives for the Processes and Day-to-Day
- Good Manager, Bad Manager: Conflict Avoider, Conflict Tamer
- The Dos and Don’ts of Managing Conflict
- Challenging Situations: Team Cohesion Destroyers
- The Brilliant Jerk
- The Noncommunicator
- The Employee Who Lacks Respect
- Advanced Project Management
- Project Management Rules of Thumb
- Assessing Your Own Experience
- 6. Managing Multiple Teams
- Managing Your Time: What’s Important, Anyway?
- Decisions and Delegation
- Delegate Simple and Frequent Tasks
- Handle Simple and Infrequent Tasks Yourself
- Use Complex and Infrequent Tasks as Training Opportunities for Rising Leaders
- Delegate Complex and Frequent Tasks to Develop Your Team
- Challenging Situations: Strategies for Saying No
- “Yes, and”
- Create Policies
- “Help Me Say Yes”
- Appeal to Budget
- Work as a Team
- Don’t Prevaricate
- Technical Elements Beyond Code
- Measuring the Health of Your Development Team
- Frequency of Releases
- Frequency of Code Check-ins
- Frequency of Incidents
- Good Manager, Bad Manager: Us Versus Them, Team Player
- The Virtues of Laziness and Impatience
- Assessing Your Own Experience
- 7. Managing Managers
- Skip-Level Meetings
- Manager Accountability
- Good Manager, Bad Manager: The People Pleaser
- Managing New Managers
- Managing Experienced Managers
- Hiring Managers
- Debugging Dysfunctional Organizations
- Have a Hypothesis
- Check the Data
- Observe the Team
- Ask Questions
- Check the Team Dynamics
- Jump In to Help
- Be Curious
- Setting Expectations and Delivering on Schedule
- Challenging Situations: Roadmap Uncertainty
- Strategies for Handling Roadmap Uncertainty
- Staying Technically Relevant
- Oversee Technical Investment
- Ask Informed Questions
- Analyze and Explain Engineering and Business Tradeoffs
- Make Specific Requests
- Use Your Experience as a Gut Check
- Assessing Your Own Experience
- 8. The Big Leagues
- Models for Thinking About Tech Senior Leadership
- What’s a VP of Engineering?
- What’s a CTO?
- Changing Priorities
- Setting the Strategy
- Do a Lot of Research
- Combine Your Research and Your Ideas
- Draft a Strategy
- Consider Your Board’s Communication Style
- Challenging Situations: Delivering Bad News
- Senior Peers in Other Functions
- The Echo
- Ruling with Fear, Guiding with Trust
- Correcting a Culture of Fear
- True North
- Recommended Reading
- Assessing Your Own Experience
- 9. Bootstrapping Culture
- Assessing Your Role
- Creating Your Culture
- Applying Core Values
- Creating Cultural Policy
- Writing a Career Ladder
- Cross-Functional Teams
- Structuring Cross-Functional Teams
- Developing Engineering Processes
- Practical Advice: Depersonalize Decision Making
- Code Review
- The Outage Postmortem
- Architecture Review
- Assessing Your Own Experience
- 10. Conclusion
- Index