More on this book
Community
Kindle Notes & Highlights
When something feels particularly threatening, try to consider it as an indicator that you may have some internal exploring to do. See if you can ask more clarifying questions so that you can give yourself a moment to ponder the feedback and what made this defensiveness rise.
His ego resilience meant that people could give him productive feedback, and his feelings were not hurt. He took feedback seriously, took notes, and read it back to the person to take ownership over what he had learned.
a healthy ego can also help you separate what’s yours from what belongs to other people.
“You did X. That was incredibly unproductive.” “Oh yeah? Well, you did Y!” This is a fairly common example of switchtracking, and it’s entirely unhelpful.
So what if it goes poorly? Write everything down. Try your best to write down explicitly what happened, not your feelings about what happened.
“I think we have the same goal here, but it’s tough for me to process and move forward with a statement about me personally. Can you please give me more specific details about X?”
You may see job-hopping happen more with URM (underrepresented minorities) than with other folks. My suggestion is to consider that these job-hoppers may have had more bias to contend with
a good meeting is: The purpose of the meeting is clear. There’s an agenda (we dive into the complexity of this in a moment). The right people (and the right number of people) are in the room. Not too many people where communication is overly complicated, and not too few people where those you need to move forward aren’t there. There’s some order. People aren’t dropping in and out, talking over each other, or being generally inconsiderate. There’s a clear decision, outcome, and next steps at the end.
What is the shared purpose? What are we doing to get to that outcome? Who is owning what, and how? What are the timelines?
Cross-Functional Meetings This is where a more-formal and prepared agenda can be really helpful,
Many teams I manage use a kanban board during the standup, and people take turns talking about what they’re doing for that time period. This is nice because it helps solidify the tasks and priorities for the week and allows for some course correction
A few teams found, through trial and error, that twice-a-week check-ins were suitable: once on Monday to kick off the week, and again on Wednesday to keep us aligned and our momentum going.
Brainstorming Session Perhaps you don’t want a full agenda, just the purpose and a notes section, or even an online whiteboard tool (Miro
I find that unlike other meetings, brainstorming sessions really do seem to be easier in person.
If you’re inviting everyone to meetings out of fear of hurt feelings, it’s likely not a problem with your meetings, and more a sign that roles and responsibilities aren’t clear for everyone.
acknowledge that it’s awkward because it doesn’t feel like we’re being transparent with one another. I’ll state what I know from my perspective and then ask if other folks are feeling the same. If you do this, you’ll usually have to wait a beat or two.
If folks are putting out ad hominem attacks, it’s on you to reel that in, and move the conversation toward the work instead.
Typically, it’s good to hear people out and then rein things back in by discussing what you think you’re hearing and tying it back to a shared purpose. Then we can find where we have common ground.
A good meeting must have a DRI (directly responsible individual), and it is not necessarily the person who called the meeting. It might not be you. But you must designate who owns the project and ultimately makes decisions when there’s one to be made.
if people who have no skin in the game make the decisions, they might not understand all the moving parts or invest as much in the gravity of the matter.
RACI (responsible, accountable, consulted, and informed)
When there is a conflict, be it on an individual or organizational level, it’s crucial to deal with it immediately.
When I struggle to separate my ideas from my identity, I will check in with myself. If I feel defensiveness over an idea, I try my best to step back from the conversation a bit and ask someone who has been a bit quiet what they think.
When there is conflict, it often helps to align on the values that are shared, or give context to why some people may have one value over the other.
If you can keep the team focused on the big picture, allow voices to be heard, and provide psychological safety for the team while also time-boxing the discussion and appointing a person who makes the decision, you can avoid situations where conflicts are either undiscovered or drawn out forever. Here again, clarity is key.
Teams need their work to be prioritized because: With too much to do and not enough time, they need to know what’s most important to do first. They need to have focus in order to do those tasks well.
be comfortable with only succeeding 70 percent of the time.
Once defined, they should be easy to find and clear to everyone. If you have a handbook, put them in there. Repeat them often, until you’re sick of saying them.
In looking forward, take myself out of the day-to-day and consider the big picture: What do I think our company could do that will make waves in the next few years? What could I do to contribute to this?
If you have a data team at the company, this is an excellent time to involve them.
Clearly communicate this process to everyone while you’re doing it.
In order to increase signups, you can look at what has historically impacted your company. Any spikes in the data (if you don’t have data, you’ll have to deal with that first) should give you some clues.
I like to use milestones in GitHub to add a slew of issues to, because you can easily track your progress and add labels for more refinements.
An example of the fields I include in a quarterly planning spreadsheet: The name of the project The docs link to more information on the project The point of contact/project owner/lead The priority level (I usually make a tag for “high priority” and limit three.) A tag for whether the project is “ongoing” or “contained” (“Ongoing” means something the team will always do, e.g., maintain X template; and “contained” means a project will start and be completed, e.g., plan a talk about project X for a conference.) A link to any data/dashboards available for the project Release date, if there is one
Once the three months are done, I suggest sharing the results and what you learned. This can be in the form of company/org presentation, newsletter-like email, or whatever method of communication is common and effective at your company.
great tools, such as LinearB, can be used to assess status of things like issues closed, PRs merged, and the like.
most-valuable skills one can possess as a manager is to help your team scope down large, ambitious, abstract work into more manageable pieces,
The higher the number of changes, the more conversation you’ll have to have, until it is too big and then you’ll get none.
The chance that you went in the wrong direction for a long time without any course correction increases with the size of the PR.
What output do you expect to see from that ticket? Now we can walk backward. What parts of the codebase will be affected by this change? If you’re newer to the project, ask someone with more seniority on the team to help you track which areas will need to be updated. If possible, break those into disparate tasks. Even if they are dependent on one another, you can usually find a way to break it into step 1, step 2, and so forth.
never put out an MVP you’re not willing to let lie.
Is there a part of the system that everyone complains about? If your tech stack had a map, does it have an area marked “thar be dragons?”
Why are they doing this? Why is it important to the business? What risks will there be if it’s not done?
Once you figure out what problem you want to tackle, it’s critical to write up a small one-sheeter that you can share with stakeholders. This will cover the nature of the work, the amount of time it’s going to take, and why it’s important.
You may find that it makes less sense from a focus perspective to have every engineer split time across product and engineering projects.
The challenge as an engineering manager is to notice larger patterns, like when many folks complain of the same thing, rather than one developer who may have a strong opinion.
First do as much research as possible up front on whatever type of migration you’re doing.
timebox a unit of time to work through this problem and make sure you have a clear decision-maker at the end.
This happens with our work priorities too. If we never take a step back and reflect, and create a high-level system, then we need to constantly make those decisions again and again each week, which sops up some of our very necessary cognition.
It’s important that we be honest with ourselves; what we work on is an expression of our values.

