Building High-Performing Engineering Teams - Brian Zotter from Medium at Elevate
1 April, 2020
Brian Zotter is the VP of Product Engineering at Medium. He came on stage at our Plato Elevate conference for a 15-minute talk about high-performing engineering teams.
Instead of introducing himself with his main career achievements, he described himself as someone who has been failing for 20 years. One example of his biggest failures is dropping a table with 100M rows of financial transactions, very early in his career. He recovered 99.9% of the data from a tape backup that was corrupted!
His mantra is that we get more from failures than through success. During the 20 years of his tech career, he learned a lot!
Since then, he has successfully built and run high-performing engineering teams. At Medium, Brian defined building high-performing teams as:
Maximizing long-term, sustainable velocity
Let’s dissect the definition a bit to understand it better:
- Maximizing: as in always getting better.
- Long-term and sustainable: because working in a team isn’t a sprint, it’s a marathon. If you maximize productivity for a while and see it decrease over time, or have people burning out, this isn’t sustainable.
- Velocity: is the value delivered to customers over time (Value/Time). Another way to say it would be talking about team output.
Talking about output, Brian reminded us of Andy Grove’s excellent book, High Output Management. The main insight he got is that a manager’s performance is the output of his team. At Medium, the notion is built into their growth framework and Engineering Managers are accountable for the output of their teams.
The question is, how do you get a high performing team?
Brian’s framework is made of 3 major points:
- Love your people
- Use principles
- Be passionate
Love your people
A major learning during Brian’s career is that if you love and care for your team, the rest is way easier. There's a good chance you started as an individual contributor before becoming a manager. That gives you the ability to show empathy and understand what your teammates look for.
A quote that has been debunked in the past says that “80% of success is determined by EQ (Emotional Quotient)”. While the figure may be wrong, Brian stressed on the fact emotional intelligence is crucial to a team’s success.
Earlier in his career, there was an engineer from his team that called a meeting with him and resigned. Brian then expressed his gratitude and how that particular engineer had been an excellent element during his years at the company. When Brian told him, the engineer just said: “I didn’t think you liked me”. Ouch.
Another failure, another lesson for Brian: it’s super important to give recognition to teammates, and remember to tell them how much you appreciate working with them from time to time.
When you become a manager, you have to find the right balance between maximizing output and loving people. Think about what’s good for the employee, what’s good for the team, and what’s good for the company. Find the equilibrium. Doing so is a way of thinking long-term: the output may be a bit lower on the short-term, but it will pay off in the future.
Sometimes, loving people also means letting them go, or switching teams or roles. It will help both the company and the employee thrive.
Another book that inspired Brian is Principles: life and work, by Ray Dalio. In his #1 New York Times Bestseller, Ray shares principles that he developed, refined and used during his career, helping him achieve his goals in both life and business.
Principles are a rule set for how you do things, sorts of operating rules. You have to **think **about them, **write **them down, and **share **them so that people know how you’re going to operate. Having these principles helps people **collaborate **in a better way, know what to expect from their relationship with their managers, and enables the manager not to diverge from his values to focus on what’s important.
Brian shared with us a set of example principles he has at Medium:
- Create and publish your principles: this one is kind of meta, but that’s a good start.
- Clearly define what a team is: at Medium, the definition for a team is “a cross-functional group that produces a working and tested increment of product or service”
- Teams should have a clear mission and objective: this principle enables teams to have a purpose they are aware of, which makes them more eager to work efficiently as they know what the final goal is.
- Clearly define the roles on the team. Brian uses a responsibility framework called the RACI Model: Responsible, Accountable, Consulted, Informed. That framework helped Medium create a common structure for each team: every single team has at least one engineering manager, one product owner, and one scrum master.
- A team is empowered by the company to organize and manage their work. Early in his career, Brian worked for a professor at his university who had a start-up. When Brian stumbled on a problem, he went to his office and his boss answered casually: “Zotter, get the hell out of here. I’m eating and my food is getting cold, so just f*** fix it!” Brian realized he had permission to act on his own as long as it was for the good of the company. This principle has since followed him, and he figured out teams that are autonomous and able to make their own decisions perform better. Mistakes will happen, but if you hired the right people, they will learn from them and get better over time. A book that helped him instill this principle is Daniel H. Pink’s Drive — the surprising truth about what motivates us. That book explains that motivation lies in 3 factors: autonomy (as explained above), mastery (getting better skills), and **purpose **(finding meaning in your tasks).
- Strive for visible progress every sprint. Employees at Medium follow this principle religiously. It enables them to ship stuff, learn, fail quickly, and get better over time.
- Conduct retrospectives to get better next time. Be it about features, hires, team formation or a new project, Brian believes it’s important to think about them retrospectively. The goal is to get some action items out of it and get better over time.
Engineering leaders are used to talking about processes, trying to find the framework that will maximize productivity in their organization: agile, sprints, etc. Brian thinks there is no perfect process, and each of them should be custom and adapted to the team or company you work with. Instead, he advises to start thinking about principles, and depending on the situation a process will come out of these principles.
Brian reminded the audience that the job of an engineering leader is to hire, retain, **inspire **and **motivate **engineers. Before working at Medium, he founded a company offering content recommendations for ads on people’s websites. An interesting idea… he wasn’t passionate about. So when he ran out of cash and started thinking about the future, he had some purchase offers by big enterprises who wanted to use tech to put better ads in front of people. That did not sit well with him and the more he collected data about people, the less he felt it was in line with his values.
At the same time, he met Evan Williams whose vision was the opposite: create a content platform where anyone can have a voice, not driven by sponsored content but a subscription model instead. He figured out this is what he wanted to do with his life and joined.
This reminded him of Steve Jobs trying to get John Sculley from Pepsi to join him at Apple: “do you want to sell sugar water for the rest of your life, or change the world with me?”
Thanks to Brian Zotter for his time and his interesting insights!
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.