High-performing Teams
Engineering Leadership
Processes & Frameworks

5 Steps For Building High-Performance Teams

José Caldeira
José Caldeira
August 31, 2022
5 min read

Fast-growing companies operate with a certain level of uncertainty. But going from IC to VP of Engineering in one of the fastest-growing tech companies in the world teaches you a lesson or two about leadership during these uncertain times. 

One of the biggest truths I know is this: bootstrapping new teams must go through Tuckman's stages of group development: Forming, storming, norming, and performing.

The Four Stages of a Team
💡 Tuckman’s model describes the four stages of psychological development a team goes through as they work on a project. Teams move through each stage as they overcome challenges, learn to work together, and eventually focus on accomplishing a shared goal. read more

Along with leading software engineering teams and mentoring engineering leaders, I'm also a Martial Arts instructor and have coached other instructors on their journeys. 

I believe engineering, martial arts, and probably any other field that requires teamwork and onboarding of new members follow Tuckman’s stages. And today I'll go through the five steps that'll enable you to engage your teams on the journey to achieve high performance. 

I'll answer some of the typical questions that come up as you scale:

  • How can we achieve high performance when teams and goals constantly change?
  • How do teams deal with different degrees of uncertainty? 
  • And how can leaders support them in feeling safe and motivated?
👉 More important than how each of these steps works by itself is how they work together.

1. Set a Goal

Call it a goal, or an OKR, or KPIs – they’re all different names for essentially the same thing. 

The important part is how people get attached to goals, and how they get motivated by something great to work towards.

When it comes to sports psychology, many studies suggest that high performance is linked to hard-to-achieve goals. 

It’s the same with all teams – whether they work in sports, or in software engineering.

Goals should be:

💪 Bold, not reckless. There’s a thin line between being bold and being reckless, just like there’s a thin line between comfort, discomfort, and panic. 

🏋 If you’ve ever been to a gym, you’ve probably seen a personal trainer shouting “come on, you can do 10 more!” They’re putting their trainee into the discomfort zone so that they’ll achieve more. But at the same time, they’re taking care that they don’t go into the panic zone, at which point they’ll just stop training.

🍟 Crisp, not fuzzy. Your goals need to be clear. And the easiest way to set clear goals is to either work with numbers or “yes” or “no” questions in mind. (i.e. This project is green, this project is not green).

🚀 Impactful, not vain. Impact is connected with purpose. It’s important that people feel like they’re doing meaningful work. 

📋 Simple, not complex. It doesn’t matter how many goals you have, so long as they’re all simple goals. They should be easy to summarise, memorize, and communicate.

💡 Another great goal-setting framework is "SMART Goals." Here's a great guide by Asana.

In 2018, I attended Lead Dev in London, and as I was watching the incredible speakers on stage, I found myself thinking: “I really need to be on that stage.” 

So I made that my personal goal: To speak on the Lead Dev stage in London.

Within a year, I was invited to present at Lead Dev London in 2019. This made me think, that maybe my goal wasn’t bold enough. Maybe I’d set myself too comfortable a goal.

So I set another goal: to make my presentation a flash talk (less than 10 minutes), which is something I’d never done before. 

Suddenly, I was out of my comfort zone. And that pushed me to work harder and to achieve something I’d never achieved before.

That’s what leaders need to do: define goals that are as motivational for us as they are for our teams. 

2. Work With Constraints

Constraints are things we cannot do. They’re part of life.

💡You might think that constraints are just things that are holding you back. But in fact, constraints can help boost creativity. They help us to think differently, and encourage us to look at things from different angles and spot new opportunities. 

How to approach constraints:

🤝 Embrace them, don’t fight them. We need to ensure that, as leaders, we embrace constraints, and we need to encourage our teams to do the same. Embracing constraints is the sort of attitude that can lead to long-term success.

👆 Impose them.“Impose” is a strong word. But whenever you don’t define and impose constraints, you’ll find that, before long, real life will come along and impose the constraints on you. If you impose the constraints yourself, you’ll not only have more control, it will boost creativity in your teams. 

✔️ Make them mandatory, not optional. That way, everyone will be working with the same rules in mind, and everyone will approach problems in the same way.

Facing constraints IRL: The Lack of Skillset Challenge

A long time ago, I was running a software engineering team, and I had no UX leads for the project. But the project needed great UI. 

What was I supposed to do? I’m not a designer, and my team was made up of a bunch of software engineers. 

But a developer on my team, Sara, was really fond of UX and UI. So I gave her a challenge: I tasked her with overseeing the UX and UI on the project. 

By the end of the project, she was grabbing different designers from different parts of the company, and bootstrapping what we’d now call a product-design team

This is what I mean when I say that constraints can foster creativity

Thanks to the constraint on this project – a lack of skillset - Sara totally changed her way of working, moving from software engineering to product design, and now product manager. And in doing so, she helped the whole team move forward.

3. Use Decision-Making Frameworks

While constraints are restrictions, decision-making frameworks (or principles) are optional. 

They should help us align the team, and define how we’re going to operate. What’s more, our principles should evolve as the team, the company, and the product evolves. 

Good principles will help you focus, and they’ll help you make decisions faster. 

💡You might be aware of Amazon’s concept of Type 1 and Type 2 decisions. The idea is that you either do things really fast -> break stuff -> adapt, or you stop -> call Bezos, and then only move forward when he says you move forward.

At Athenian, we like to use the Eisenhower Matrix. 

The Eisenhower Matrix is a tool for deciding how much time and people need to be involved in a decision. 

The eisenhower matrix has four quadrants. each representing a type of decision and how fast you should + who should be involved.
Athenian's Eisenhower Matrix

If a decision is easy to reverse and low impact, make the decision fast – the higher impact and harder to reverse it gets, the more time and people you need to bring in.

There are many more decision-making frameworks out there. The trick is choosing ones that make sense to your company and embedded them in your company culture.  

If you want your teams to be autonomous, then you need to define how you’re going to work together. Give your teams the freedom to make mistakes, and to learn from them. But have a structure in place for dealing with the sort of decisions that could make or break your business.

4. Know How To Pitch

To motivate your team, you need to sell your goals and sense of urgency. You need to sell this to your teams, to your peers, and to everyone in the org.

Communicating is often one of the most challenging skills for software engineering leaders. As a software engineer, you don’t expect to become a salesperson. 

But when it’s time to pitch, you should: 

⚡️ Energize, don’t discourage. You need to sound enthusiastic. 

🚀 Promote, don’t wait. You need to actively promote what you’re selling, and what the team is doing. 

🥊 Be Consistent, not occasional. Even if there’s really very little to promote, you still need to promote it. In sports, consistency is the key to success. You don’t win by doing things once or twice. You win by doing things consistently. 

When I started as a software engineer, I remember having a conversation with my manager. I said to him: “We’ve improved our performance, but we’ve missed 5% of our users.” 

If I were to have that conversation with him today, I’d say “We improved performance by 70% for 95% of our user base.”

Both of these sentences say exactly the same thing. But they sound different, right?

As software engineers, when we go into leadership roles, we need to change the way we communicate – we need to remember that we’re here to align and motivate others

💡 Another great way to approach conversations as an engineering leader, especially in the exec room, is to "lead with confidence, show a little bit of competence, and end with confidence again." Jason Warner. This is a fantastic mental model for engineering leaders. 

5. Tell A Story

Storytelling is the secret to good selling.

The human brain is deeply connected to stories. Our brains are used to capturing stories, keeping them, and improving on them.

Here’s how to use storytelling to enable your team to achieve high performance:

🤝 Empathy. Very few people engage with dry reports full of figures. So instead, aim to create empathy, to give people something that they can relate to and connect with.

🗻 Focus on the journey. We’ve talked about how important it is to set the right goals. But stories aren’t about the end goal. They’re about going from your comfort zone to a space where you’re achieving something you want to achieve – like my journey from attending Lead Dev to presenting at Lead Dev.

🗣 Tell the truth. When it comes to storytelling, there’s a thin line between upselling the truth and lying. You can exaggerate a little to make your story more engaging, it needs to be memorable, but you cannot lie. For example, if you know something’s going to be challenging, don’t tell people it’s going to be a piece of cake. 

If I set a bold goal, I know it’s going to be hard to get people on my side. But with stories, you can engage people, and help them to share your vision. 

Find out more about The Power of Storytelling 

To recap, here's how leaders can build high-performance teams:

  1. Set memorable goals.
  2. Boost creativity through constraints.
  3. Foster autonomy, but define principles on how the team operates.
  4. Sell your goals and your motivation by constantly pitching what you’re aiming for.
  5. Encourage engagement among your team through storytelling.

And as I said earlier, the most important thing is how these approaches work together. 

✅ Check out the complete Scaling Your Engineering Org Checklist!
Find out how Athenian can help you tell engaging stories through data 👉  Let’s chat!

Get engineering leadership
content in your inbox!

Sign up for tidbits and bigbits of engineering leadership knowledge.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.