As an engineering manager, you want your remote tech team to be inspired and excited about work. You want your engineers to perform well and deliver high-quality work.
But if your team is disengaged and unmotivated at work, this might be a sign you need to develop new management strategies to help your team move faster into high performance.
In this post, we'll take a look at five strategies for building a winning software engineering team for companies of all sizes.
Table of contents
Measure Performance
The first thing to mention when creating a high-performing team is KPIs measuring. If you're not measuring any KPIs, how would you know the changes you're making have an impact?
We found that the most insightful and relevant KPI metrics fall into two categories:
- qualitative metrics
- quantitive metrics
360° feedback is a type of a qualitative metric. This will help you identify low-performing engineers and take appropriate action. For example, you can move them to a different team or project or pair them with more senior engineers.
Examples of quantitive metrics include cycle time, team velocity, and the number of releases. For example, cycle time measures the time the team spends working on a task. Team velocity measures the amount of work a team can deliver during a sprint. The good news is that you can easily track your quantitive metrics using a tool like Jira.
Build Psychological Safety
In 2015, Google’s People Operations department set out to answer the question: What makes a Google team effective?
They discovered that five fundamental dynamics make the difference between successful and unsuccessful teams.
According to their study, one of the most critical dynamics turned out to be psychological safety.
In short, psychological safety at work means that team members feel safe to be vulnerable in front of each other. The study found that teams with higher psychological safety in the workplace:
- are more effective
- bring in more revenue
- are less likely to leave the company
- are more likely to harness the power of diverse ideas from their teammates
But how do you improve psychological safety? Here are a few tips:
- Show vulnerability: For example, share a story about something you did wrong at work and how that affected your mood that day. By showing vulnerability as a leader, you're actually telling the employee that it’s okay to make mistakes.
- Ask questions: Start every meeting by breaking the ice. Icebreaker questions are fantastic conversation starters. As cheesy as they may sound, they can do a fine job making the meeting environment more relaxed and safe.
- Encourage healthy conflict: Let engineers know that disagreeing on things is okay and encourage people to speak out their concerns if they're confused or doubtful about something.
- Hold regular one-on-ones: One-on-one meetings are a great opportunity to discuss projects, review performance, remove blockers, and more.
- Hold sprint retrospectives: Don’t skip running a sprint retrospective with your team. Everyone can benefit from discussing what’s working and what’s not.
Consider Restructuring Your Team
Everyone has to have a position that fits their experience. People on your team need to know what it means to be a junior and what it means to be a senior engineer in order to have a functioning engineer building structure.
You can't have a senior engineer be someone who has just graduated college. People in these positions usually have to make some critical decisions. If you have an inexperienced person in a high-value position, it can negatively affect everyone on your team.
Not only will your velocity suffer, but other software engineers might get demotivated to do their best work. It can be very demotivational for someone with a 10-year experience to watch a person with a fraction of their experience make the same salary and get the same title.
But the lack of structure can be demotivational for a junior engineer, too. Junior engineers might feel there's no clear path for career progression. They're not being told what skills they need to learn to get better at their job.
One way of bringing management structure to your team is by making use of the Skills Matrix.
In short, the skills matrix outlines the skills and experience needed for every level of seniority. It can help you level the team. This might include changing salaries, responsibilities, etc. Seniors will get the recognition they need, and juniors will know what to do to progress to the next level. You can even let people set their own levels before you level them yourself. This gives them the power to control change.
Create a Culture of Continuous Feedback
Giving feedback to software developers may seem challenging, especially if you don’t know what type of personality you are dealing with. But with the right strategy in place and an established feedback culture, it can become a tool for creating and maintaining a high-performing and engaged engineering team that yields results.
One-on-one meetings provide the right space for giving feedback to your software engineers and encourage the engineer to give feedback to you as a leader.
Give specific feedback with the person's culture in mind. It's simple: people from different cultures perceive feedback differently.
For example, when giving feedback to an American, a good approach is to focus on the positive thing first and then share the negative feedback, but do it very carefully. Chinese people are used to a far gentler feedback style than, let's say, Germans.
A useful tip on managing software teams is to inform your team of how you communicate feedback, so they know what to expect, especially if you work in a multicultural environment.
The second thing to remember is that you should always be specific with the negative feedback, as it's more delicate. Don't be too direct or too indirect. The best way is to be explicit with improvement points and directly discuss potential problems. A culture of feedback is necessary for successfully managing engineering teams.
Improve the Three C's: Connection, Communication, and Collaboration
As humans, we strive to feel connected with other people around us. When we're in the same office with our teammates, we pick up signals like body language. These signals get lost when we work remotely.
But connectedness is vital for trust. And leaders need to work to create this trust if they want their team to perform well.
Luckily, there's a way for remote teams to connect with each other on a human level. Thanks to tools like Slack and Zoom, people from different corners of the globe can exchange ideas and thoughts.
Slack channels like #travel, #dogs, and #food are especially popular because they allow us to see each other as humans and connect at a personal level.
Zoom coffee chats and donut pairings are two other great strategies.
Communication also involves conveying the purpose and mission of a team to improve motivation. Team members can't operate at their full potential without purpose. A shared purpose can bring the entire team closer together. Everyone needs to understand how their work relates to the shared business goal and how they're contributing to what you're trying to achieve as a company.
Collaboration is one of the best vehicles distributed teams have for relationship-building. Collaboration also means learning together.
For instance, collaboration such as pair programming helps people develop relationships with teammates and avoid knowledge silos, and it's also an excellent tool for onboarding new engineers. Consider holding regular retrospectives to improve your collaboration without playing the blame game.
Defining standards for how you're going to collaborate is also critical.
Consider creating communications guidelines. Define how often you communicate, which tools you will use, whether there's a need for timezone overlap, etc. One-on-one meetings between managers and employees is a great strategy to ensure that expectations are clear to everyone on the team.
Moreover, make sure information is accessible to everyone through shared document drives. Encourage teammates to constantly add new information to your shared documentation to avoid misinformation and misunderstandings.
Summing Up
And there you have it!
Five great strategies for creating and managing a successful engineering team.
Reading these tips might sound more straightforward than it would be to implement them in a live working environment. But the important thing is not to get discouraged. Building a high-functioning engineering team structure won't happen overnight since managing engineers isn't always easy. Try to implement and follow the best practices mentioned in this post gradually, and you'll start noticing improvements a few months from now.
Remain patient, persistent, and cool-headed; building great engineering teams is an ongoing journey. On the plus side, this team improvement process is entirely repeatable.