A book by Camille Fournier
Always Remember to Choose Your Manager
What is the purpose of the 1on1 meeting?
- Personal connection with your direct report.
- Have a private discussion with your direct report.
You can always ask your manager for:
- Resolve conflict
Communication skills and building a good network is a very important step to growing into CTO position
Managing an Intern
- Create a project for them to work on.
- Set with them as much as possible at first.
- Break down the project with them.
- Ask them to present the project results to the team at the end.
Listen carefully as a manager.
Are you doing anything rather than listening to your team when they speak?
Communicate what do you need clearly
Managing a New Hire
- Prepare their onboarding plans.
- Help them adjust to the new company culture and processes.
- Build a connection with them.
- Use their feedback "See the company and the team with fresh eyes."
- Share spoken and unspoken rules. (documented and not documented).
The effective teams have a well-written documentation.
The team documentation must evolve. The new hire should be responsible for changing and evolving it as they find any gaps and its part of their commitment to the team.
Network building is worth your time
Don't feel obligated to be a mentor. You can say no. Your time is valuable
Speak complex topics in multiple ways to make your mentee understand what you want.
Alpha geek believes that they are the most intelligent person on the team
- Be curious and open-minded
- Make connections
Is a set of characteristics that any engineer can take on at any point on the career ladder, and it's not connected to a new career level.
- Be a solid technical project manager.
- Focus on the whole team's productivity.
- Handle different management problems.
- Partner effectively with other areas such as product or analytics.
Once you are in the lead
- Focus on the team and how to empower them, and stop focusing on yourself.
- Balance your technical commitment with the work the whole team needs.
- Start taking a broad view rather than focusing on an individual task.
The art of balance: Find what the team lack and bring it either with hiring or by yourself
Responsibilities as a New Team Lead
- System architect.
- Business analyst.
- Project planner.
- Software developer and team leader - write code and delegate.
Don't do all of them at once
Questions to ask your people:
- What are your career goals?
- How do you like to receive feedback? Written or Verbal?
- Create a 30/60/90 plan (Very helpful for finding any miss-hire)
- Create feedback documentation where new hires keep adding to it.
- Get so much feedback from the fresh eyes and the people in the 90 days.
- Don't criticize the current processes.
- Gather information from the system before talking to the team.
- Don't ask for information that you can quickly get it.
- What are you holding your team accountable for? If you don't have one, ask them.
- Put standards for the team to help have a common understanding while creating technology.
- Focus on the more significant tasks and not the tiny issues. Your time is valuable.
- Run retro after introducing a new process or completing a new project.
What You Measure, You Improve
Keep collecting feedback to:
- Know your people.
- Know Their goals and strengths.
- Know what improvements they require for the next step?
Writing Performance Review
- Start writing a summary after every one-on-one.
- Use examples as much as possible.
- Be specific to avoid bias.
- Talk a lot about good feedback and recognize them.
- Share before the meeting to give them time to read before the meeting.
Types of hard team members:
- The brilliant jerk: Avoid promotion and wait for them to resign.
- The non-commutator: Create a safe place in the team where peer accountability is promoted and mistakes are okay.
- The employee who lacks respect: No solution; they are toxic.
Voting and giving the same decision-making power to the whole team is not always a good practice becuase some members may lack the same level of experience or context.
Don't be a conflict avoided.
Be kind, not nice.
Create a process to help the team make decisions (To avoid personal bias)
You are not the team therapist. You are the team manager, and you should take responsibility for the team.
Managers tend to protect their team from the outside and act like bullies to the outside. At the same time, avoid conflict or constructive feedback on the inside.
Understand the code, team process, and dynamics before boosting your management skills.
How to stay technically relevant?
- Pairing days with the team.
- Fix more minor code issues and bugs.
- Identify the process's bottleneck and processes to solve them.
- Spend 20% of the time focusing on the team's technical dept and sustainable technical solutions.
- Doubling estimation rule to get estimates with no investigation (quick estimation tip)
- Limit the amount of uncertainty of estimation coming to the engineers.
- Write down the tasks that only you know how to do and cluster them based on complexity and recurring (What is essential and what is urgent?)
Studies shows that each engineer will have up to 10 productive engineering work weeks per year.
Q1 is the most effective, and Q4 is the least.
Make sure that the team operates without you being there.
Saying NO strategies
- Yes and ....: use that for your boss, a positive no.
- Create a policy for the team to get a yes.
- Help me say yes approach.
- Not right now: Appeal to time and budget.
- Say quick yes, and no for low-risk decisions.
To debug a process in the team, start following the logs, Check PRs, and view the team calendar and any metrics to help verify your hypothesis.