4 standing sci-fi warriors wearing armor.

Notes on working in a team as a full-stack engineer.

Last TendedOct 2021
PlantedOct 2021
Statusseed
TagsFundamentals
2 sci-fi warriors wearing armor holding handguns.

Why Teams

I think it's best to start by looking at why we work in teams. What are the advantages & disadvantages of working in a team opposed to working by yourself.

Advantages

  • More gets done. It may seem obvious that a team of 2 working on something will build faster than 1 person. In software however, doubling a team size does not equal double the output.
  • A better solution. Mutiple perspectives looking at a problem will produce a better solution than just 1.
  • Social need. Humans are social creatures. We need a level of interaction with others. Although you can get this from family & friendship circles, in my experince, this isn't enough. Work can be a source of friendships that can outlast any project.
  • Learning. If you can, join a team where you aren't the smartest guy in the room. Working with others that are better than you is a huge opportunity to learn & grow.
"Collaboration will jar you—provoke & confront you with different ways of looking at the world—allow this to happen, embrace it..."
- Red Burns
Illustrated portrait of George Washington

Disadvantages

  • Communication. Communication is hard. Creating & maintaining a shared understanding between team members is 1 of the hardest tasks in team work.
  • Focus time. Time to focus on code without distraction can be highly productive. You have this in spades when working alone. When you join a team, some of this time is replaced by other requirements, like communication.
1 sci-fi warrior wearing armor standing.

Joining a Team

Strategies when joining a team:

  • Listen. To begin with, during work-based events (such as meetings), be a gray man. The team will have norms (rules or expectations that are socially enforced). Observe & learn these before contributing.
  • Earn trust. In social situations, ignore the above & be yourself. This will build trust. Another technique a product manager I worked with uses is to get an understanding & empathy of what others are trying to achieve in their role. Have a conversation with each team member and find out what they care about, what is important to them in their role.
4 people sitting around a table eating.

Meetings

This section refers to team meetings, not meeting with external parties, such as reporting to higher-ups. I’ve come across 2 popular strategies that can provide an approach for running meetings:

  • Psychological Safety
  • Disagree & Commit

Psychological Safety

Imagine it's the early days of Saturday Night Live. It’s Monday morning. You have 6 days to get a live show ready. You collect a group of highly talented comedians, all with massive egos, & put them in a room together for a meeting. 1 would assume that this would be a recipe for disaster. When this played out in reality however, the opposite happened...

The team was highly effective & Saturday Night Live thrived. This was attributed to the guy running the meeting, Lorne Michaels (creator of Saturday Night Live). Labeled a master of creating physiological safety. When he ran a meeting, he went around the table & made everyone say something. Throughout the meeting, if someone hadn’t spoken up in a while, he would stop the meeting, call out that person & ask what they were thinking about. If someone looked upset, again, the meeting would be stopped. Lorne would take them out of the room & ask what was wrong. Although this greatly increased the duration of meetings & implies reduced productivity, Lorne was known for his productivity. In the case of Saturday Night Live, a high-pressure schedule requiring a live television show every week, it worked.

Google’s years of experiments found psychological safety is the single greatest determinate of whether a team works or not. When a team is created, over time they begin to form norms (rules or expectations that are socially enforced) about how they interact with each other. 2 norms that had a huge influence on a team’s performance:

  • Everyone in the team has the opportunity to get their voice heard.
  • High social sensitivity. The ability to pick up what others are thinking & feeling based on non-verbal cues.

Together, these 2 norms create psychological safety.

Disagree & Commit

Disagree & Commit is a management principle that is referenced in Amazon’s Leadership Principles & Netflix's culture.

"Have Backbone; Disagree & Commit - Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting. Leaders have conviction & are tenacious. They do not compromise for the sake of social cohesion. Once a decision is determined, they commit wholly."
- Amazon Leadership Principle #13
Illustrated portrait of George Washington
"Disagree Openly. If you disagree on a material issue, it is your responsibility to explain why you disagree, ideally in both discussion & in writing. ...The informed captain on that decision has the responsibility to welcome, understand, & consider your opinions, but may not agree. Once the captain makes a decision, we expect everyone to help make it as successful as possible."
- Netflix Culture
Illustrated portrait of George Washington

Disagree & Commit has 2 objectives:

  • Encourage disagreement.
  • Commit as a team. Unite the team in committing to a decision.

Encourage Disagreement

This objective is to try & avoid the Consensus Trap. Although in theory, it seems as though everyone in the meeting is in agreement, in reality:

  • The majority disagrees, but simply keep quiet.
  • The decision is so important that nobody wants to assume full responsibility.
  • Everyone wants to get the meeting over & done with as soon as possible.

A technique for encouraging disagreement is interpreting silence as a negative & ask every person in the meeting clearly if they agree with the decision.

Commit as a team

Committing means that whatever final decision is made, the team must do whatever they can to implement it. Everyone at the meeting is responsible. It assumes all people in the meeting are satisified because:

  • Everyone had the opportunity to express their opinion.
  • If you disagree, you want to be proved right by having it fail because of the idea, not because of poor implementation.

Comparison

A theme that comes across from both of these approaches is engaging all team members in conversation. A weakness in Disagree & Commit is it seems to focus on just decision making & uses disagreements as the indicator of a successful meeting. I think it identifies but overlooks 2 big problems:

  • "The majority disagrees, but simply keep quiet"
  • "Everyone wants to get the meeting over & done."

Why is the team keeping quiet? Why does the team hate meeting? Wouldn't it be better to aim for meetings that people looked forward to. Shouldn't meetings be the peak of collaboration? I don't think Disagree & Commit is aiming at the best target. Lorne's approach to pyshcological safety by constantly proding members to engage in conversation looks to be more fruitful in terms of:

  • Surfacing problems between members that could be impeding collaboration in & outside the meeting.
  • Getting input from members beyond just their view on big decisions.
  • Strengthing relationships between team members.
2 people talking to each other. 1 has a helmet.

Emotional Maturity

When interacting with team members, practice emotional maturity. These have been selected & adapted from The School of Life:

  • The majority of bad behaviour from others stems from fear & anxiety, not nastyness & idioticy. In my experience, nastyness can also come from a lack of awareness that one's actions are hurtful or from someone who wants to feel better about themself by pushing someone else down. In any case, always assume positive intent & talk to them about it. Don’t bottle it up. Don’t complain about them to others.
  • You understand that what is in your head can’t be automatically understood by others. Communication is a valuable but difficult skill to master. Don't assume your good at this because you have been communicating with people all your life. Intentionally work at it everyday.
  • You acknowledge that you make mistakes. If your actively learning, then mistakes are routine. You apologogize & take responsibility.
  • You understand that everyone, like you, is making it up as they go along. Don’t hold people to a standard that you could never reach. Don’t hold yourself to a standard that others couldn't reach.
  • You keep track of what things effect your mood & factor this into your activities. If you get tired after eating, don't plan meetings just after lunch.
  • You let go of the idea perfection in preference of good enough. Understand there isn't a perfect choice. Each choice has pro's & con's.
  • You don’t dwell on past mistakes. Rather, you learn from it & move on. Live & learn.
  • Celebrate the small wins.
  • Your good at both creating an environment for & accepting feedback.
  • You understand that events in your past influence your response to events in the present. You compensate for the distortion. Be suspicious of your 1st impulse to things.
Source
Someone lock-picking a sci-fi lock.

Feedback

Feedback is critical for learning. Aim to get into a team that practices feedback regularly. A team with a feedback strategy in place, such as Radical Candor, is a good indicator.

Strategies for giving feedback

  • Give it as soon as possible, while the event is still fresh in mind for both parties.
  • Being clear & direct. “When you did X, it had Y effect”.
  • Provide an actionable solution. “This is what you could have done instead”.
  • Give feedback regardless of position. Just because someone is above you, doesn’t mean your feedback is worthless. If someone wants to grow, they will accept feedback from any team member. If they don’t want feedback, note this as a negative when deciding whether to remain with the team or move on.
  • Only give it if it’s authentic. If you care about the person & want to help them to be better. People can detect insincerity & it can just result in conflict. Honesty without kindness is cruelty. Kindness without honesty is manipulation. Note, this does not apply if someone offends you. This should be brought up with them irrelevant of your feelings towards them.

Strategies for receiving feedback

  • You’ll need to practice not getting emotional. Accept it gratefully & make them feel appreciated. The last thing you want to do is kill the messenger by getting angry. This will demotivate them from giving future feedback.
  • Act on it. You’ll be a better person for it.
Source
3 sci-fi warriors standing in front of another.

Adding a New Member

Seal Team 6 is the best of the best. The highest performing organization on the planet. How do they pick a new team member? They look at 2 traits:

  • Performance: Performance on the battlefield. Skills. “Do I trust you with my life.”
  • Trust: Performance off the battlefield. What kind of person are you. Who’s always got your back. When the chips are down, they’ll be there with you. They create an environment for everybody else to succeed. "Do I trust you with my money & my wife."

Everybody wants a team member that exhibits high performance, high trust. No one wants someone that exhibits low performance & low trust. But when the team is faced with people that fall outside of these 2 extremes, they found that a high performer with low trust is a toxic team member & would prefer a medium, or even low performer, that has high trust. Unfortunately, these people are hard to find. We have many ways to measure performance but hardly any to measure trust.

A graph plotting performance vs. trust.A graph plotting performance vs. trust.

The importance of trust is echoed in a Harvard study. Compared with people at low-trust companies, people at high-trust companies reported:

  • 74% less stress.
  • 106% more energy at work.
  • 50% higher productivity.
  • 13% fewer sick days.
  • 76% more engagement.
  • 29% more satisfaction with their lives.
  • 40% less burnout.