Personal Review
There are three things that are very accurate from the subtitle as to what you might expect from this book:
- The book is really targeted at Software Engineering Managers; however, that doesn't mean that 100% of the book only works for people in that role. A lot of the content is applicable to every manager out there, but some of the stories will be more relatable when you are actually in that role, or if your current manager is.
- This book is not a typical management book where you could expect to be lectured in a structured way. The content feels basically like a compilation of blog posts, or tales, that are mostly self-contained and unrelated to each other, so you could just jump into whichever chapter you want.
- The content has its humor; the content is told in a very light way, and sometimes the author uses names to characterize the people you typically encounter as a manager; e.g.: "Laptop Larry", or "Translator Tim". However, not everything in the book is a story, and not everything is told in a humorous way. I think if you consider yourself a very serious person, you will still find valuable content in this book.
Summary
The book covers a lot of topics, and I found it impossible to mention every topic in a summary. I mention here only the points that I personally found more relevant.
Understanding your own manager
- Many people don't trust their managers, and the root cause for this lack of trust is that there is a disconnect between employees and managers, where employees many times don't understand their manager's job.
- Most employees think their own job is more important than anyone else's; because everyone understands their job better than any other job.
- The relationship is bidirectional: a manager must understand the job of those he manages to be able to relate to them, and employees should have at least a minimum understanding of their manager's job.
- 7 questions to understand who is your manager
- What is his background?
- Is he an engineer?
- Does he know how to code?
- What are his blind spots and how does he compensate for them?
- Some have flaws that are so big that they don't talk about them
- Some don't even know what their flaws are
- Does he speak management language?
- How does he communicate with you?
- A manager should constantly be acquiring information about what's going on in the team.
- Managers who don't talk with their team are regularly misled.
- How much action does he make per decision?
- Does he do what he says he's going to do?
- How much does he delegate?
- Where does he stand in the political food chain?
- How does he act with his superiors? (This can be difficult to see if you're not involved in those meetings)
- How does he behave in cross-functional meetings? How do they treat him?
- Does he drive his own meetings?
- Does he actively contribute to other people's meetings?
- How does he behave in difficult moments?
Some tips to work with your manager
- Don't accept processes blindly
- Ask why we are doing what we are doing in the way we are doing it.
- Ask in a way that illuminates, without accusing anyone of anything.
- Don't always allow your manager to charge forward unchecked when you don't agree with what's being done.
- Every time you allow it, you are reinforcing their perception that they're never wrong.
General tips for managers
- Building a team
- Build a team that accentuates your strengths
- Build a team that reinforces your weaknesses. Find the right person to fill your deficiencies, and then trust them to do the job
- If you want to learn and grow as a manager: schedule one-on-one meetings
- You will always learn something
- Do them weekly
- 30 minutes
- Always on the same day and time
- Never cancel
- Be prepared with 3 talking points about things you have observed over the week
- Learn to delegate properly
- You need to figure out how not to be a bottleneck.
- You need to figure out how to scale.
- DO NOT become a pure delegator.
- You must continue getting your hands dirty in order for your team to feel they can rely on you.
- Pure delegators are becoming irrelevant.
- Listen to your people and learn from them
- Assume they always have something to teach you.
- Involve as much of the team as possible in the decision-making process.
- Accept when you don't know enough about something
- Don't try to appear like you know. Those who really have the knowledge will see through you, and you look stupid to them. They will not say anything if you are their boss.
- It's not your job to be knowledgeable. Be aware and stay tuned in.
- Put yourself in information acquisition mode, and ask every question you can, even those dumb questions you might be afraid to ask.
- Don't exhibit power and knowledge all the time.
- Sometimes you need to start humble, from a place where you admit that you don't have all the answers.
- Be always open to learning all the time, from everyone.
- Intimately understand the job of those you manage.
- Don't ask the team for status reports. The information is out there, and it's your job to gather that information.
- Prepare automated reports.
- Let people have time to invest in their growth, as part of their work.
- Trust your instincts
- Your experience is one of your most valuable assets.
- Your brain is very good at processing your current situation against your experiences at a subconscious level, and the result of that analysis comes out as part of your instincts.
- Rely heavily on clarification
- When you feel you might have said something ambiguous, ask "What did you get from what I said?"
- When you are listening and you feel the topic is not absolutely clear, say: "This is what I heard... is that what you meant?"
- Don't rely on your brain for To-Do lists
- Write everything down.
- Also use that notebook to write anything that sounds interesting.
- Maintain the Engineering mindset
- Use a development environment to build the product yourself.
- Be able to draw a detailed architectural diagram describing your product on any whiteboard at any time.
- Own a small feature
- It forces you to actively participate in the development process
- It switches your context from "manager responsible for everything" to "person who owns a thing".
- It helps you to be closer to your team.
- Fix bugs
- If it's not possible to own a feature, then at least try to fix some bugs once every once in a while.
- This should at least give you some understanding of the construction of the product, that you’ll never get in any other way.
- Learn to recover from your bad decisions with dignity, and more importantly, with help from the team.
- Learn better ways to deal with dull tasks. There will always be some dull tasks to do.
- Start them as soon as possible. Once your brain starts seeing some progress, it will start finding some ways to finish it faster.
- Mix them up.
- Once you begin to feel extremely bored, switch to something else, and come back to it later.
- Your brain is still able to keep background processing the other task, and once you come back to it you might feel enlightened.
- Be careful: this is not the same as multi-tasking, and if you switch too often, or too quickly, then you have the penalty of context switching.
- Keep in mind the 4 quadrants of "Skill vs Will"
- Definitions
- Skill
- How much skilled is the person to do the job?
- Is he overqualified?
- How quickly does he handle tasks compared to his peers?
- Will
- The employee's desire
- Does he like the job?
- Is he viewed as energetic by his peers?
- 4 quadrants
- Low Skill / Low Will
- They don't have the skill to do the job.
- They don't want to do the job.
- As the manager, you screwed up. You ignored them for too long.
- Low Skill / High Will
- They are going to start wanting your job.
- They need training and mentorship
- High Skill / Low Will
- Boredom is imminent
- They need a change of scenery and responsibility
- High Skill / High Will
- No one can maintain at this quadrant forever.
- You must constantly and consistently push your employees to the High Skill / High Will quadrant.
- Care and feed the highly productive employees ("free electrons")
- Keep them engaged
- If you leave a "free electron" doing the same for too long, they will vanish because they're bored
- Their value in the organization is research, not development.
- Direct their intensity to the right things. A misdirected intensity will produce unexpected results.
- Example: a free electron might prefer to redo something from scratch, instead of repairing it, when you don't have the resources to re-test everything.
- If you ask them to do something they don't believe in, they're not going to do it. You have to understand the reason why they are not believing in what you are proposing; usually, there is a good reason for it. You will have to find convincing arguments to bring him on board.
- Improve your odds when hiring new people / interviewing beyond technical
- The success of the interview depends on how much information you retrieve.
- Ideally everyone on the team should participate in the interviews of every candidate. You want everyone's perspective.
- 3 key interviewers
- Technical
- It doesn't have to be the best engineer.
- Find someone that technically scares you.
- If you can't properly assess the technical ability, you are screwed.
- Cultural
- Their job is to assess if the person would be a cultural fit within the team and the company.
- You don't want to hire someone that might piss off the rest of the team.
- Vision
- Their job is to figure out properly the trajectory of the candidate
- Is the candidate strategical or tactical?
- A strategic hire
- They will push their opinion
- They engage in what they are doing
- They network to accomplish what they want
- You probably don't move fast enough for them
- A tactical hire
- They fill a well-defined need
- They want to get their job done in relative silence
- It's easier to keep them happy with constant work
- Consensus
- Get everyone's feedback on the interview, in a meeting, not by e-mail.
- Some people might change their opinion after listening to other's feedback.
- Make sure everyone has a vote.
- The choice is yours as the manager of the team, but you don't have to make the decision alone.
Recommendations for running meetings
- Agenda clearly expressed
- Let people know what needs to be done in order to get out of the meeting quickly.
- Invite only the necessary people
- Don't invite people just to make them feel relevant.
- Actively demonstrate control of the meeting
- Keep people engaged
- Have the courage to stop and cancel the meeting when there is clearly no way to make progress.
- Identify players and needs
- Who are the people with interests?
- Who is on the losing side?
- What does each player need from this meeting?
- Synthesize everything into constructive next steps
- For brainstorming meetings
- Have a driver
- Structured thinking can kill creativity, but unstructured thinking leads to useless chaos.
- He must be able to swing the conversation between extreme points of view while keeping it near the middle most of the time.
- Limit the number of people
- Usually everyone wants to have an opinion, but you can't invite everyone to the meeting.
- Start with those who you know have an educated opinion on the topic.
- If you are not sure, you can pick at random, and have multiple sessions later to include more people.
- You must be getting at least one hard decision per meeting
- If you are not then:
- You are wasting your time, you are basically just chatting.
- You’ve got the wrong people and/or you've got the wrong driver
Identifying roles in meetings
"Knowing who they are can help you understand the meeting. Knowing what they do can save you time".
The author tries to use the following names to easily remember each of the typical roles you usually encounter in meetings (I don't think the intention of the author here is to say that people with X characteristics are typically male or female, so I recommend not paying attention to the gender, but I guess there might be people that will not agree with these names).
- "The Anchor"
- Description
- The person everyone is talking to.
- The person who will make the final decisions.
- What to do?
- You MUST identify this person quickly, or you will miss essential context from the meeting.
- If the Anchor is not present, you're wasting your time, as you will have to discuss everything again in their presence. The best move is to reschedule.
- "Laptop Larry"
- Description
- He brings his laptop because he knows the meeting is going to be 75% irrelevant to him.
- He's not working as he'd like, and he's not really listening to the meeting.
- What to do?
- Ask him to put the laptop away.
- "Mr. Irrelevant"
- The person doesn't seem to be bringing anything to the meeting, but he seems happy to be there.
- What to do?
- Figure out who invited him to the meeting. What was the purpose of inviting him?
- If you uninvite him next time, he probably won't be upset, but someone else could.
- "Chatty Patty"
- These persons find it difficult to transmit their thoughts concisely.
- What to do?
- The questions directed to this person must be precise. Use closed questions.
- Try not to argue with this person. When you add some emotion to the mix, you get a recipe for disaster.
- "Translator Tim"
- He can speak the language of everyone in the room.
- "Sally Synthesizer"
- She's very useful to end meetings faster
- She doesn't miss a thing of what's said; and keeps awareness of the significance of what each person says.
- She can be biased and synthesize in her favor.
- "Curveball Curt"
- You usually have no idea what he's talking about.
- You need to identify if he is also Mr. Irrelevant.
- Your worst situation is when The Anchor is also a Curveball.
- "The Snake"
- An Anchor in hiding.
- He doesn't like the spotlight.