Set clear expectations and hold people accountable

We shouldn’t hire smart people so that we can tell them what to do, we should hire smart people so that they can tell us what to do

If I’m not trusting my people, that’s my fault

Strong technical performers need a technical career path other than just management

Show people the value of their work

Give people enough context and information so that they can make informed decisions on their own

Create a learning culture

Encourage and develop leaders at all levels


Find what brings exponential growth, not linear growth

Technology changes faster than ever, and only the innovators will survive


Value long term thinking over short term thinking, but sometimes the short term is more important

When you’re playing from ahead, you can take advantage of opportunities that you can’t if you’re playing from behind

Being overly optimistic won’t change reality

Bring projects to teams, not people to projects


Hire smart people and empower them to be awesome

Find self-motivated people and create an environment that motivates them

Hire T-shaped people (cross-functional specializing generalists)

Emotional intelligence is extremely important, especially for leadership positions

No limits – remove things that limit people’s potential impact and they will start to think bigger


No leader, no matter how smart, can compete with the collective intelligence of an empowered group of people working together well

Optimize for high performing teams

Do more of what works and less of what doesn’t

Teams over individuals

Goals over roles


Technical excellence is the fuel for high performing teams

Maintaining software is like flossing – regular care and preventative maintenance prevents disease from setting in

Expect change – build more modular systems

Standardization is the enemy of innovation

Automate as much as possible