More on this book
Community
Kindle Notes & Highlights
Alpha geeks make absolutely terrible managers, unless they can learn to let go of their identity as the smartest person in the room and most technical person on the team.
What you measure, you improve.
Your first job is to be a leader. The company looks to you for guidance on what to do, where to go, how to act, how to think, and what to value. You help set the tone for interactions. People join the company because they believe in you, in the people you hired, and in the mission you helped to craft.
It took me a long time to realize that my job wasn’t to be the smartest person in the room. It wasn’t to be “right.” Rather, my role was to help the team make the best possible decisions and help them implement them in a sustainable and efficient way.
The people I know who excel in this role are capable engineers who care deeply about their teams and prefer to stay out of the spotlight in favor of creating high-performing organizations. They’re interested in the complexities of getting people to work together effectively. They want their teams to be happy, but they know that it’s important to tie that happiness to a sense of accomplishment. They represent the health of the team to the other senior leaders, and cultivate a healthy, collaborative culture.
In the same way that strong technical systems designers are capable of identifying and shaping underlying system structures, strong leaders are capable of identifying and shaping underlying team structures and dynamics, and doing so in a way that supports the long-term goals of the team and equips the individuals to achieve their best.
Nothing is more ridiculous than a small team with a rigid hierarchy.
Structure can come too early, and cause harm by slowing down a group that should be focused on other things.
Culture is how things get done, without people having to think about it.
Consciously guiding the culture of your team is part of a leader’s job, and to do this well, you need to understand what it means in the first place.
Culture is the generally unspoken shared rules of a community.
My experience has shown that employees who truly embrace and exhibit all of the core values of a company tend to do well naturally.
The stories that we tell as a community bond us together.
take the case of staff engineer. It takes a lot of individual maturity to think through large projects, which is, in my view, the distinguishing feature of a staff engineer.
Now the engineers who have the best product sense, the engineers who are capable of getting features done quickly and efficiently, and the engineers who communicate the best with the other functions will start to emerge as the leaders of the team.
After years of no required code reviews, no ticketing, and no tracking, a central bureaucracy decided that everyone had to adopt all of these measures at once in a push for standard software development lifecycle management. It felt unnecessary, slow, and burdensome, and no one bothered to explain to us why these changes were happening. Engineering processes are the place where the rubber meets the road when it comes to structure.
Without any process, your teams will struggle to scale.
Be clear about code review expectations. For the most part, code reviews don’t catch bugs; tests catch bugs.
Code review is largely a socialization exercise, so that multiple team members have seen and are aware of the changed code.
The most important lesson I’ve learned is that you have to be able to manage yourself if you want to be good at managing others. The more time you spend understanding yourself, the way you react, the things that inspire you, and the things
that drive you crazy, the better off you will be.
Great managers are masters of working through conflict. Getting good at working through conflict means getting good at takin...
This highlight has been truncated due to consecutive passage length restrictions.
One other trick I use to get away from my ego is curiosity.
Inevitably, when I told my coach about these situations, she would advise me to think about things from the other person’s perspective.