The Manager's Path - Book summary

Dec 24, 2022

The Manager's Path is a book by Camille Fournier, a guide for tech leaders navigating growth and change.

This post summarizes the following sections.

  1. How to be managed
  2. Mentoring
  3. Role of a tech lead
  4. Managing people

How to be managed.

If you want to be managed right at your workplace, you should have some level of expectations in place.

One-on-One meetings

It's a good practice to have a call regularly to talk about your suggestions, feedback, and any other concerns. If your company does not have this system in place, talk to your manager and explain the benefits of One-on-One meetings.

One-on-One meetings can be a great place to discuss,

  1. Feedback you have for your manager, and your expectations from the manager. If you think certain items are overlooked, this might be the right time to point them out.
  2. Ask for feedback, and grow from it. If the feedback is positive or negative, learn to take it gracefully, understand how that can be improved, and learn from it.
  3. Like it or not, you might have to work with your managers for a long time. So, it is important to build a good relationship. Both of you should be in a comfortable place for you to share the tough things you might be going through. Being open about challenges will help your manager to understand your struggle and help you in the workplace, maybe with leaves, or adjusting the work allocations.
  4. Share your plans for your career, and ask your manager for suggestions. Understand their point of view on how to achieve that, what to look for and what to learn.
  5. If you have any concerns about your team or teammates, let your manager know. If your co-worker is lacking in teamwork or skills, your manager should handle that. Managers might not have noticed some things your teammate is going through, but bringing some light to it on this One-on-One will not only help your teammate but benefit your entire team.

Sometimes One-on-One can feel forceful, boring, or redundant. But you must practice and perfect it. Prepare your points before going on one-on-ones, and update your notes after each One-on-One. Make sure you are making progress after each One-on-One, both career-wise and relationship-wise with your manager.


Mentoring

A lot of companies have a mentoring program, especially if they are hiring interns or students right after graduation, as freshers. A good system for mentoring plays a key role for the mentor, mentee as well as the company.

For the Company

When an intern/fresher joins a company for real-world experience, they have a lot of expectations. They will be excited and motivated to start a new journey and show the company what they are capable of. The company needs to keep in mind,

  1. Interns should not be hired to do jobs for less pay. Goal should be to train them, and give them a good experience so that, they'll be impressed with your company and be willing to work for a longer time.
  2. A good internship program can reflect well on the company as that will improve the relationship with the college, and thus open a window to hire talented graduates.

For the mentor

Mentors are usually people with greater than 2 years of experience in the company, who have an understanding of how things work and looking to climb up their career ladder. An efficient mentoring system is essential for the mentor as much as it is for the mentee.

  1. Mentoring helps mentors to develop new skills, in their communication, networking, and overall technical understanding.
  2. Manager/company has trusted the mentor to do the right set of training and shape up the interns for a career within the company. Doing well on the expectations can bode well for the mentor in the upcoming appraisal cycle.
  3. Mentoring is a chance for the mentor to come out of the daily engineering tasks and bond with interns and be a role model for them.

To do the job well,

  1. Mentors should have a system for training. By the time an intern joins, the mentor should be well prepared with the set of learning materials and projects to build. Without a proper curriculum, the internship could be disoriented and it'll end up unfruitful for the intern and the company.
  2. Listening to mentees is crucial. While in college, students are not trained well enough to work within a job environment. A good mentor should listen to the challenges of mentees adjusting to the system and extend a helping hand. It is important for the interns to feel comfortable and welcomed within the company.
  3. Spoon feeding will hurt in the long run. Empower interns by letting them explore task-related things. Instead of asking questions without any research, educate them to explore and find their answers. You'll have to listen to those answers and correct them if needed.
  4. Mentoring will help mentors develop communication skills and networking skills, which is helpful if they are looking for management roles in the future.

Role of a tech lead

A tech lead is often one with strong technical skills and good managerial skills. A tech lead doesn't have to be the senior person within the team but managed to show potential beyond technical areas. Tech lead is a position with a lot of responsibilities and a lot of expertise.

As a tech lead, you are expected to,

  1. Manage a team, deliver features and enhancements, and take care of the technical debut.
  2. Break down given product roadmaps, understand the architectural implementation and challenges, bring solutions and lead the development.
  3. Listen to your teammates, value their opinions, and make sure they are recognized in their roles.
  4. Often acts like a product manager, even when you have a product manager. Go in-depth about the technical implementation and educate your managers and peers about the challenges and solutions.
  5. Be part of standup calls and update meetings, so that your team can focus on the development part and you represent them in various meetings.
  6. Empower your teammates to get things done. When shit goes wrong, instead of doing things on your own, guide your team in the right direction and help them to get things done.
  7. Share your time between coding and managing projects. Even though you might be a talented developer, you will end up spending less time on coding than you usually do.

With all of this going on, it is important that you find time to improve your technical skills and encourage your team to do the same.


Managing People

New hires

  1. When you have new people join your team, have an open conversation with them. What do they like, why did they decide to join the company, and what ticks them off? All of these could help build trust between both of you and build a strong relationship.
  2. Have a clear training plan for the new joiners. Create a 30/60/90 days training plan. Put forth realistic expectations and see if the new hires live up to them. If the new hire doesn't meet those expectations, it is possible that you have misfired.
  3. Prepare an onboarding/training guide and keep them up-to-date. Setting clear expectations for training can make sure everyone is on board. And with changing tech stacks and systems, keep updating those guides.
  4. Get feedback from new hires, after their training period. New to the system, they'll have a fresh take on the system and raise points like an outsider.
  5. Do regular 1-on-1. Use this meeting to understand your team member's career goals and ambitions. Don't make this meeting a status update, Use this platform to understand their concerns, and feedback, find out if they need assistance, etc.
  6. Create a culture of continuous feedback. Be it positive or negative, don't wait for performance time for these discussions. Make sure you appreciate your team members when they do something right, and guide them if things are not going the planned way.
  7. When companies do performance reviews put genuine effort into doing the assessments. When you have to assess your team members, instead of trying to Irish through it, allocate time and provide genuine feedback. Vague statements in the review will help your peers to grow, it'll just confuse and throw them off. Keep your feedback clear and back it up with examples.
  8. It is necessary to have a clear plan for your team members, on how they can grow. What can they do to climb up the career ladder or reach their dream job? If they are not performing well, have a conversation with them about what are your expectations and how to get those levels.

Managing teams

Managing a team is a bit different than managing individuals. You have to focus on the collective output rather than the individual outcome.

  1. For an engineering manager, it is very important to stay updated with technical skills. Even though they'll be writing less code, they are responsible for taking decisions, assessing the feasibility of certain implementations, understanding bottlenecks, and code review. This does not mean that you have to be smarter than all of your team members in technical skills. Having the right balance of technical skills and management skill is necessary for an engineering manager. As an engineering manager, if you don't stay updated with your technical skills, you'll become obsolete.
  2. It is important to keep up the team's mental health. If the team is not doing well and is down, take them out for lunch or dinner, and let some pressure out. If there are too many deliverables that are stressing your team out, it is important to break them down and take a look at task vs resource allocation. If it's not possible to shop certain things within the given timeline due to acceptable reasons, talk to your product manager, identify priority items and ship them.

The book has 3 more sections.

  1. Manging multiple teams
  2. Managing managers
  3. Bootstrapping culture.

I'm not summarizing them here, as I don't want this post to get lengthy. But I recommend giving this book a read if you are a tech lead, engineering manager, or aspiring to be one.