
Summary of The Manager's Path book
Chapter 1: Management 101
Key Expectations from a Manager
- Foundation of Management Philosophy: Your experience of being managed shapes your approach to management. Unfortunately, many people have never had a good manager.
- Types of Managers:
- Benign Neglect: Managers who leave you alone unless you ask for help.
- Neglectful: Managers who ignore your needs and give no feedback until it’s too late.
- Micromanagers: Managers who control every detail, leaving no room for autonomy.
- Abusive: Managers who neglect you until they need to criticize or yell.
- Ideal Managers: They care about your growth, provide feedback, help you navigate challenges, and encourage you to focus on what’s important.
One-on-One Meetings (1-1s)
- Purpose:
- Human Connection: Builds trust and makes it easier to discuss personal or stressful situations.
- Private Discussion: A regular opportunity to discuss work-related issues or concerns.
- How to Make 1-1s Effective:
- Schedule them predictably.
- Come prepared with an agenda.
- Share responsibility for the meeting’s success.
- Avoid using 1-1s solely for status updates; use email or chat for that.
Feedback and Workplace Guidance
- Feedback:
- Expect timely feedback, both positive and negative.
- Praise should be public, while criticism should be private.
- Use feedback to improve and document it for self-reviews.
- Career Guidance:
- Your manager should help you navigate promotions, conflicts, and stretch projects.
- They should also help you understand how your work contributes to the team’s goals.
- Senior Roles: As you advance, feedback shifts from personal to team- or strategy-related. You’ll need to drive your 1-1s and bring topics for discussion.
Training and Career Growth
- Manager’s Role:
- Help you find training resources (e.g., conferences, classes, books).
- Guide you through promotion processes and advocate for your advancement.
- Your Responsibility:
- Identify the training you need, especially in technical areas.
- Ask for specific guidance on how to achieve promotions.
How to Be Managed
- Own Your Career:
- Spend time reflecting on what you want from your career.
- Advocate for yourself by asking for projects, feedback, and promotions.
- Seek help when stuck and communicate when unhappy.
- Work-Life Balance: Set your own boundaries and manage your time effectively.
- Manager’s Imperfections: Understand that your manager is human and may make mistakes. Provide feedback, but don’t expect them to change.
Choosing the Right Manager
- Importance of a Strong Manager:
- A good manager can significantly impact your career growth.
- They can help you navigate company politics, get promoted, and expand your network.
- Evaluate Managers: When considering job opportunities, assess the manager’s ability to support your career, not just their technical skills or likability.
Advice for Aspiring CTOs
- Build a Strong Foundation:
- Focus on learning the basics of the job, including technical skills, project management, and collaboration.
- Seek mentorship and observe successful managers.
- Network: Build relationships with peers, as they may become future job opportunities.
- Consider Startups: Many CTOs are technical cofounders of small companies. Working at a company with a history of employees founding startups can provide valuable experience.
Summary
- A good manager supports your growth, provides feedback, and helps you navigate challenges.
- Effective 1-1s build trust and provide a space for meaningful discussions.
- Take ownership of your career by advocating for yourself and seeking feedback.
- Choose managers who can positively influence your career trajectory.
Chapter 2: Mentoring
The Importance of Mentoring to Junior Team Members
Mentoring is often the first step in people management for engineers. Junior team members, such as new hires or interns, are typically assigned mentors to help them acclimate. Mentors can be either junior engineers who recently went through the onboarding process themselves or senior engineers who provide technical guidance. This relationship benefits both parties: the mentor gains experience in managing others, while the mentee receives focused attention and support.
Being a Mentor
Mentoring offers a safe way to learn management skills and understand the responsibility of guiding another person. While poor mentoring can lead to negative outcomes, such as a mentee leaving the organization, effective mentoring can foster growth and retention. Key skills for mentors include listening, communicating clearly, and adjusting to the mentee’s needs.
Mentoring an Intern
Mentoring interns requires preparation and clear expectations. Interns often lack real-world experience, so providing a well-defined project is crucial. The project should be manageable within the internship period and allow the intern to learn and contribute. Regular check-ins and guidance are essential to ensure the intern feels supported and valued. At the end of the internship, having the intern present their work helps them feel accomplished and provides insight into their potential for future roles.
Mentoring a New Hire
Mentoring new hires involves helping them navigate the company’s culture, processes, and technical environment. Effective onboarding documents and introductions to key networks can accelerate their integration. Mentoring new hires also offers mentors a fresh perspective on the organization and helps build stronger internal networks.
Technical or Career Mentoring
Technical mentoring often occurs naturally within teams, where senior engineers guide junior members to improve productivity and code quality. Career mentoring, whether formal or informal, should have clear goals and expectations. Both mentors and mentees should be prepared and committed to the relationship for it to be effective.
The Alpha Geek
The “alpha geek” is a highly skilled but often intimidating engineer who values technical prowess above all else. While they can be inspiring, their tendency to dominate and belittle others can harm team dynamics. Mentoring can help alpha geeks develop empathy and leadership skills, but they should be carefully managed to avoid negative impacts on the team.
Tips for the Manager of a Mentor
Managers should set clear goals for mentoring relationships and recognize the time and effort required. Mentoring should be treated as a valuable responsibility, not just emotional labor. Avoid assumptions that mentors and mentees must be similar in background, and use mentoring as an opportunity to develop future leaders.
Hiring Interns
Internship programs are a strategic way to identify and attract talent. Companies should focus on hiring interns who are close to graduation, as they are more likely to return as full-time employees. Internships should be seen as an investment in future talent rather than a source of short-term labor.
Key Takeaways for the Mentor
- Be Curious and Open-Minded: Mentoring offers a chance to see the organization through fresh eyes and question assumptions.
- Listen and Speak Their Language: Effective mentoring requires strong communication skills and the ability to adapt to the mentee’s level of understanding.
- Make Connections: Mentoring helps build professional networks that can benefit both the mentor and mentee in the long term.
Mentoring is a valuable experience that fosters growth for both mentors and mentees, contributing to a stronger, more cohesive team.
Chapter 3: Tech Lead
1. What is a Tech Lead?
- The tech lead role is a leadership position that combines technical expertise with project management and team coordination.
- It is not necessarily tied to seniority or being the best coder. Instead, it requires strong communication, prioritization, and pragmatic decision-making.
- Key responsibilities include:
- Representing the team to management.
- Vetting plans for feature delivery.
- Handling project management details.
- Mentoring and guiding team members.
- The role is often temporary and can be passed between engineers as teams evolve.
2. Common Misconceptions
- Misconception: The best engineer should automatically become the tech lead.
- Reality: Tech leads need people skills and the ability to balance technical work with leadership. A tech lead who focuses solely on coding is not fulfilling the role.
- Example: A brilliant engineer who avoids communication and gets lost in technical details can derail a project by failing to coordinate the team or manage priorities.
3. Key Responsibilities of a Tech Lead
- Technical Project Management:
- Break down projects into manageable tasks.
- Identify dependencies and prioritize work.
- Coordinate with product managers, analysts, and other teams.
- Leadership Without Authority:
- Influence peers and managers to align on priorities.
- Advocate for the team’s needs and ensure progress.
- Mentorship:
- Provide guidance and feedback to team members.
- Help team members grow through project work and learning opportunities.
- Balancing Technical and Leadership Work:
- Spend ~30% of time coding with the team.
- Focus on delegation and team productivity rather than micromanaging.
4. Challenges of Being a Tech Lead
- Increased Responsibility:
- Tech leads often take on more work without a corresponding increase in salary or title.
- They must balance coding with project management, communication, and leadership.
- Influencing Without Authority:
- Tech leads must influence peers and managers without direct control over them.
- Example: Convincing a team to prioritize technical debt over new features requires aligning individual and team goals.
- Time Management:
- Balancing a maker’s schedule (coding) with a manager’s schedule (meetings, coordination) is a core challenge.
- Avoid getting pulled into too many meetings, which disrupts focus.
5. Skills Required for a Tech Lead
- Communication:
- Write clear documents, give presentations, and explain technical concepts to non-technical stakeholders.
- Listen actively and rephrase ideas to ensure understanding.
- Project Management:
- Break down complex projects into smaller tasks.
- Identify risks, dependencies, and unknowns.
- Adjust plans as the project progresses.
- Technical Expertise:
- Understand the system architecture and how it supports the product.
- Make informed technical decisions while involving the team.
- Delegation:
- Empower team members by assigning tasks and trusting them to deliver.
- Avoid micromanaging or taking on too much work yourself.
6. Transitioning to a Tech Lead Role
- Shift in Focus:
- Move from individual contributions to team empowerment.
- Focus on removing obstacles and increasing the team’s impact.
- Learning New Skills:
- Develop project management and leadership skills.
- Balance technical work with the needs of the team.
- Temporary Nature:
- The tech lead role is often a stepping stone for career growth, not a permanent title.
- It is common to move between technical and leadership roles throughout a career.
7. Advice for Aspiring Tech Leads
- Understand the Architecture:
- Deeply understand the systems you’re working on to lead projects effectively.
- Be a Team Player:
- Tackle both exciting and mundane tasks to unblock the team and improve processes.
- Communicate Clearly:
- Practice writing and speaking to convey ideas effectively.
- Listen actively and ensure alignment within the team.
- Avoid Over-Reliance on Process:
- Use processes as tools, but don’t rely on them to solve communication or leadership gaps.
- Focus on self-regulating processes that reduce the need for micromanagement.
8. Realities of the Tech Lead Role
- Increased Scope:
- Tech leads take on broader responsibilities, including project planning, team coordination, and stakeholder management.
- No Immediate Rewards:
- The role often comes with more work and stress without immediate recognition or compensation.
- Career Growth:
- Acting as a tech lead is often necessary to progress beyond senior engineer levels, even on the individual contributor track.
9. Balancing Technical and Leadership Work
- Time Management:
- Schedule focused blocks for coding and avoid unnecessary meetings.
- Help the team maintain focus by protecting their time.
- Delegation:
- Trust team members to handle tasks and avoid taking on too much yourself.
- Continuous Learning:
- Embrace the discomfort of learning new skills, such as project management, while maintaining technical expertise.
10. Final Thoughts
- The tech lead role is a challenging but rewarding opportunity to grow as a leader and technical expert.
- It requires a balance of technical skills, communication, and project management.
- While it may not come with immediate rewards, the experience gained as a tech lead is invaluable for career advancement.
Chapter 4: Managing People
-
New Managers: It’s an Entry-Level Job
- Becoming a manager isn’t a promotion; it’s a new role requiring different skills.
- New managers should approach the role with humility, as they’re starting fresh in leadership.
-
Managing Individuals
- A team’s health depends on the well-being of its individuals.
- Key tasks for managing people include:
- Onboarding new team members.
- Holding regular 1-on-1 meetings (1-1s).
- Providing feedback (both positive and constructive).
- Helping team members grow through learning opportunities.
-
Starting a New Reporting Relationship
- Build Trust and Rapport: Ask questions to understand your team member’s preferences, communication style, and goals. Examples:
- How do they like to receive praise (public or private)?
- What are their career goals?
- What puts them in a bad mood?
- Create a 30/60/90-Day Plan: Set clear goals for new hires to help them integrate and succeed.
- Encourage Participation in Onboarding: Have new hires update onboarding docs to improve the process for future team members.
- Communicate Your Style: Be clear about your expectations, meeting frequency, and how you’ll review their work.
- Get Feedback: Use the new hire’s fresh perspective to identify areas for improvement in the team.
- Build Trust and Rapport: Ask questions to understand your team member’s preferences, communication style, and goals. Examples:
-
Regular 1-on-1 Meetings
- Why They Matter: Regular 1-1s are essential for communication and building trust. Skipping them can lead to bigger problems.
- Scheduling: Weekly 1-1s are ideal. Avoid Mondays and Fridays; mornings work best for some.
- Adjusting Frequency: Consider how often you interact with the person, their coaching needs, and the stability of the team.
- Styles of 1-1s:
- To-Do List: Focus on tasks and updates.
- Catch-Up: Informal, driven by the team member’s concerns.
- Feedback: Provide coaching and career development advice.
- Progress Report: Focus on project updates (useful for managing managers).
- Get to Know Your Team: Show genuine interest in their personal lives and career aspirations.
- Mix It Up: Try walking meetings or coffee chats for variety.
- Take Notes: Keep shared notes to track feedback and progress.
-
Micromanagement vs. Effective Delegation
- Micromanagement: Over-controlling can demotivate your team and undermine their autonomy.
- Delegation: Trust your team, set clear goals, and provide support without taking over.
- Practical Tips:
- Use team goals to decide which details to focus on.
- Gather information from systems (e.g., version control, ticketing systems) before asking the team.
- Adjust your focus based on the project stage (e.g., more involvement during design or near deadlines).
- Establish standards for code and systems to depersonalize feedback.
- Encourage open communication and treat mistakes as learning opportunities.
-
Continuous Feedback
- Why It Matters: Regular feedback helps team members improve and feel valued.
- How to Give Feedback:
- Observe your team and identify strengths and areas for improvement.
- Provide lightweight, regular feedback, starting with positive reinforcement.
- Pair feedback with coaching to help team members grow.
- Performance Reviews:
- Use 360-degree feedback (from peers, managers, and self-reviews) to provide a comprehensive view.
- Write reviews with concrete examples and focus on accomplishments.
- Avoid surprises by setting expectations early.
- Schedule enough time to discuss reviews and celebrate strengths.
-
Identifying Potential and Cultivating Careers
- Potential: Look for team members who go the extra mile, offer insights, and help the team in unique ways.
- Promotions: Understand your company’s promotion process and help team members prepare by assigning stretch projects.
- Coaching Out: If a team member isn’t growing, be honest about their fit and help them transition to a new role or company.
-
Firing Underperformers
- No Surprises: Give clear, early feedback when someone isn’t meeting expectations.
- Performance Improvement Plans (PIPs): Use these to set clear goals and timelines for improvement.
- Document Everything: Keep records of feedback and performance issues to ensure fairness and legal protection.
- Coaching Out: If someone isn’t a good fit, help them find a new role elsewhere while maintaining goodwill.
Final Thoughts:
- Regular 1-1s and Feedback: These are the backbone of good management.
- Trust and Autonomy: Avoid micromanaging; trust your team to do their work.
- Career Growth: Help your team members grow by identifying their potential and providing opportunities for advancement.
- Handling Tough Situations: Be clear, fair, and supportive when addressing underperformance or coaching someone out.
Chapter 5: Moving from Individual to Team Management
Managing a team is a big step up from managing just one or two people. It’s not just about handling individuals anymore—your job changes completely. You’re not only responsible for the people but also for the bigger picture, like making sure the team works well together and gets things done. This shift can feel surprising because it’s not just a natural next step from being a great engineer. It requires new skills, like guiding the team’s focus and solving problems that slow them down. As an engineering lead, you won’t write as much code anymore, but you’ll still do small tasks like fixing bugs or adding small features. Your main job is to spot roadblocks—like slow processes or unclear goals—and clear them so your team can succeed. You’ll also work closely with others, like the product lead, to keep projects on track and figure out if you need more people on the team.
Becoming a People Manager
When you start managing people, it’s not about being the smartest or most technical person anymore. It’s about helping your team do their best work. For example, if you’re managing engineers who know more than you technically, focus on supporting them instead of trying to outshine them. Listen to what they need to succeed and give them clear feedback often—not just during reviews. This builds trust. Sometimes, people might not like you being their manager at first, especially if you used to be their peer. That’s okay—it takes time. Be patient, talk openly with them, and show you’re there to help. Good management is about supporting people, not proving you’re the best.
Staying Technical as a Manager
Even as a manager, you need to stay connected to the technical side of things. This doesn’t mean writing tons of code, but doing small tasks—like fixing bugs—helps you understand the team’s challenges. If the build process is slow or deployments are a mess, you’ll feel it yourself and know what to fix. Staying technical also earns you respect from your team. They need to see you as someone who gets the tech, not just a “boss.” Plus, it helps you guide projects better—like figuring out if a feature is doable or how to make it simpler. Balance is key: don’t get lost in meetings and lose touch with the code. If your company doesn’t let managers code at all, try to stay technical as long as possible before fully switching to management, or you might struggle later.
Fixing Team Problems
Teams can stop working well for a few reasons, and it’s your job to spot and fix these issues. If your team isn’t finishing work—like missing deadlines—it might be because the process is slow, like releases happening only once a week. Push for faster, easier releases to keep things moving and boost morale. Another problem is drama—like someone being negative or rude. Act fast: talk to them, give clear examples of the issue, and say it needs to change. If they’re really toxic, help them leave kindly. Overwork is easier to fix—slow down new projects and focus on stability, like reducing system crashes. If it’s a big deadline, support the team by helping out, cheering them on, and planning a break after. For teams that don’t get along with others—like the product team—meet regularly with peers, share feedback, and stay positive to improve teamwork.
Managing a Former Peer
If you’re now managing someone who used to be your equal, it can feel weird for both of you. Be honest about that awkwardness and ask for their help to make it work. Don’t boss them around or override their ideas just because you can—let them keep some control over technical work you used to do. Give them room to grow and share your old tasks with the team. Show you’re there to help everyone succeed, not to take anything away. They might test you or disagree more at first, so stay calm and pick your fights wisely. Over time, being fair and mature will win them over.
Protecting Your Team
As a manager, you should shield your team from distractions—like company drama that doesn’t affect them—so they can focus on work. But don’t hide everything. Share enough context, like why a project matters or what happens if it fails, so they can make smart choices. If big changes—like layoffs elsewhere—happen, tell them simply and honestly to avoid rumors. You’re not their parent, so don’t treat them like kids who can’t handle tough stuff. Give them respect and the info they need, and they’ll handle it like adults.
Making Good Decisions
You’re not the only one making choices—your product manager sets the roadmap, and your tech lead handles tech details—but you’re responsible for how it all turns out. Use data, like how long tasks take or how many bugs pop up, to guide decisions. Understand your customers—whoever uses your team’s work—and help your engineers see why their projects matter. Look ahead: ask about future plans and think about tech that could help. After projects, check if they worked as planned—did that rewrite speed things up? Finally, hold regular team talks to see how they feel about the process and fix what’s bothering them.
Handling Conflict
Don’t avoid tough talks or let the team vote on everything—it can backfire and hurt feelings. Instead, set clear rules for decisions, like who’s in charge and what to consider. Face problems early—don’t wait for reviews to bring up big issues. Keep it calm and focused, not dramatic. Be kind, not just nice: tell people the truth, even if it’s hard, like saying they’re not ready for a promotion but can get there with work. Don’t fear conflict—ask yourself if you’re dodging it because it’s uncomfortable. Being thoughtful stops you from overreacting or hiding.
Building a Strong Team
A good team feels safe to take risks and make mistakes together. Get to know them as people—ask about their lives outside work to build trust. Watch out for toxic people, like the “brilliant jerk” who’s smart but mean. Don’t keep them just because they’re good—call out bad behavior firmly and fairly, even in public if it harms the team. A “noncommunicator” who hides their work needs a nudge to share—check if the team’s culture makes them scared to open up. Someone who doesn’t respect you or others can’t stay—talk to them plainly and move them out if needed. Quick action keeps the team strong.
Planning Projects Well
You’ll help set your team’s schedule, guessing how long projects take and if you have enough people. Plan for about 10 solid work weeks per person each quarter—holidays and meetings eat up time. Save 20% of that for fixing old code or handling surprises—it keeps things smooth. Near deadlines, say no to extra stuff and cut features to hit the goal. For quick guesses, double your first thought, but for big tasks, take time to plan properly. Don’t bug your team with constant estimate requests—handle the uncertainty yourself and keep them focused.
Starting with a Small Team
If you’re new to a small team, learn the tech fast. Get a walkthrough of the systems, try the onboarding process, and watch code reviews. Work on a feature or two in your first 60 days—pair with someone to get the hang of it. This builds your cred and shows you understand their world. Management stuff might slow down while you learn, but it’s worth it to lead well later.
Checking Your Progress
Think about what’s new in your role and what you’ve let go of to make time. Do you know the team’s daily struggles with code? How often do they finish tasks? When did you last code with them? Are a few people causing trouble—how will you fix it? Do they seem happy together—joking or grabbing coffee? How do you decide things—who’s in charge of what? Have you checked if a project met its goals lately? Do they get why they’re doing their work? When did you last trim a project—what guided you? These questions help you see how you’re doing.