The one skill I wish I master as a Tech Lead
I’ve been leading teams for 5 years now and I can tell you: it’s freakin’ hard – but not for the reasons most people think.
Don’t get me wrong, I enjoy being a tech lead, and before doing it, I kind of knew what the role was about. I knew I was supposed to drive technical decisions, make sure the team adds value to the business, encourage best practices and so on. I knew that it would be a challenge and I was scared, but I was also sure I could pull it off.
Turns out that this is the easy part of the job. The hard part, the one that I was not prepared for, was the one I didn’t know even existed.
The Lead part is harder than the Tech part
Getting good at the technical stuff – coding, architecture, tools, frameworks and so on – is hard and demands effort, but it’s an area that we’re already used to as developers. The challenge is mostly getting better at more stuff. It’s somewhat a linear progression.
But leading people is usually new territory, and that’s why a lot of great developers become shitty leaders – at least at first.
Being a good leader requires a different set of skills and, in most cases, we don’t get the necessary training. We are not exposed to subjects like negotiation, delegation, feedback and proper communication. In fact, most of the time, it is only expected from us to sit down and code – being bad at the soft skills is accepted and even forgiven. But as I said, that changes when we’re in charge of a team.
I have always heard that one of the critical leadership skills is conflict management. And from the height of my ignorance I imagined it would be like conciliating fights between team members like a father does to his children or listening to complains and giving a benevolent verdict like a wise king does to his subjects.
Yes, sometimes you as the tech lead has to help solving some quarrel between team members, but the truth is, most of the time, the source of conflict is you!
Dealing with these conflict situations requires a special kind of communication skill. In the rest of this post I’ll share what I’m learning and practicing to get better at it. All the following comes from the book Crucial Conversations, which I highly recommend.
Crucial conversation: a discussion between two or more people where (1) stakes are high, (2) opinions vary, and (3) emotions run strong.
Usually those are the conversations that are important but we avoid, because having the conversation might make things worse. Some examples in our field might be:
- Tell a teammate that his code needs improvement;
- Persuade the client that the code needs refactoring and the delivery will be delayed;
- Choosing with the team a language, framework or platform for the project.
We developers usually have strong opinions about all that stuff. So how can we manage to have these kinds of conversations that might turn into crucial ones?
First thing we need to know is that at the core of a successful conversation lies the free flow of relevant information, a.k.a. a dialogue.
Every time each of us engage in dialogue, we bring our own feelings, opinions and experiences about the topic. This unique combination is what makes our own pool of meaning. By definition, when we enter a crucial conversation, we don’t share the same pool: we don’t think the same way about the topic.
In a successful conversation, instead of trying to impose their own view about the topic, people add their meaning to the shared pool. As this shared pool grows, everyone gets more precise and relevant information and thus can make better decisions. And when people get involved in the decision by sharing their ideas, the chance of acting together increases.
“Alright, this is wonderful, from now on this is the only kind of conversation I want to have. But how do I do it?”
1 – Start with yourself
It’s normal that in a tough discussion our emotions take charge and we lose sight of our goals. Our real motivations degenerate and, before we know, all we want to do is just win the discussion, punish our opponent or keep our personal safety. To avoid that, we have to pay attention to our own behaviour and thoughts, asking ourselves:
- What do I really want for myself?
- What do I really want for the others?
- What do I really want for this relationship?
- How would I behave if I really wanted these results?
These questions help us to stay focused on our goal and prepare our minds for the next step.
Refusing the fool’s choice
Fool’s choice is the illusion that when facing a crucial conversation we can only: say what we want and ruin the relationship or stay quiet and let the situation get worse. But it is possible to get what we want for us, the other person and the relationship. We can do it by creating alternatives and turning “either/or” choices into a search for the “and“:
1 – Clarifying what we really want:
I want my team to be responsible and focused on the job.
2 – Clarifying what we really don’t want:
I don’t want my team to feel I’m micromanaging them and get upset and unmotivated.
3 – Asking our brain the harder questions:
How can I have a nice conversation with my team about our work and not come across as bossy or demanding?
When we plan the conversation as an alternative to the fool’s choice our minds usually don’t have trouble coming up with a way to drive the discussion.
2 – Learn to look
In a difficult conversation we get caught up in the content of the discussion and don’t pay attention to the conditions – how people are speaking, acting, feeling and the tone they’re using. Our brains suck at working on “dual mode” and it’s hard to notice these things when emotions are high and our vision literally gets narrower. However, practice allows us to observe 3 things:
1 – The moment a conversation turns crucial:
One kind of sign that the discussion will get difficult is physical: sweating or dry eyes and mouth. Other sign are the emotions that appear – anger or fear, for example. Another hint is behaviour like raising the voice or pointing the finger. Each person reacts differently, we need to learn how to spot these cues in ourselves and others and that they’re a sign that we need to step back, slow down and reengage in healthy dialogue.
2 – Safety
When we feel safe we can say anything. When there’s no safety we react – we fight back or we run or hide. Some signs of lack of safety are:
Silence – withholding information from the dialogue – in the form of:
- Masking: sarcasm, sugarcoating;
- Avoiding: changing subjects, avoiding the real issues;
- Withdrawing: pulling out of the conversation.
And violence in the form of:
- Controlling: interrupting others, overstating facts, speaking in absolutes;
- Labelling: putting a label or stereotype on people and ideas;
- Attacking: discrediting and threatening people.
3 – Your style under stress
The most difficult thing to see when we are “dual processing” is our own behaviour. We have to be vigilant and pay attention to what we’re doing and the impact it is having on the safety of the conversation.
Paying attention to the 3 elements above allows us to notice when we need to take action. Which brings us to the next step.
3 – Make it safe
If we spot safety risks we can step out of the conversation, build safety and then come back to talk about anything. We can bring safety back following this recipe:
a) Step out of the content of the conversation: pay attention to the conditions – how people are acting, feeling, tone, etc.
b) Look for which condition of safety is at risk. Ask yourself:
- Do other people believe I care about their goal in this conversation?
- Do they trust my motives?
- Do they believe I respect them?
c) Sincerely apologize if you did something that would cause them to doubt your respect or commitment to your common goals.
d) If you didn’t do anything hurtful, contrast (with a don’t/do statement) to fix misunderstanding:
- Address the other’s concerns that you don’t respect them or that you have some malicious purpose – don’t part;
- Confirm your respect or clarify your real purpose – do part.
e) If there’s no misunderstanding and you really have different purposes, you need to create mutual purpose and move toward compromise. Here’s how you do it:
- Commit to seek mutual purpose: Make a unilateral public commitment to stay in the conversation until you come up with something that serves everyone;
- Recognise the purpose behind the strategy: ask people why they want what they’re pushing for. Separate what they’re demanding from the purpose it serves;
- Invent a mutual purpose: if after clarifying everyone’s purposes you still disagree, try to invent some higher or longer-term purpose that’s more motivating than the ones that keep you in conflict;
- Brainstorm new strategies: with a clear mutual purpose, join forces to search for a solution that serves everyone.
4 – Master your stories
To have control of crucial conversations we need to take charge of our emotions. Being able to influence our own feelings place ourselves in a far better position to use all the tools I’ve shared so far.
We like to think that we are always reasonable and rational, and that our actions follow some logical path from the facts. This is not true. Our actions follow our emotions.
But emotions don’t just happen, they come from the facts, what we see and hear, from what people do to us, right? Wrong again.
Turns out there’s an intermediate step between what others do and how we feel. Just after we observe what others do and just before we feel some emotion about it, we tell ourselves a story. We add meaning to the action we saw. We guess why they did it. We also add judgment. This is how it goes:
This story step complicates the model a bit but it is good news: since we are telling the story and the emotions come from the story, it means that we can take control of those emotions by telling a different story.
A story gives our rationale for what’s going on. They’re our interpretation of the facts. The path to action can go like this:
or like this:
This is what we can do to slow down and control our path to action:
- Notice our behaviour: Am I in some form of silence or violence?
- Get in touch with our feelings: What emotions are encouraging me to act this way?
- Analyse our stories: What story is creating these emotions?
- Get back to the facts: What evidence do I have to support this story?
- Watch for clever stories: It’s not my fault (victim), it’s all your fault (villain), there’s nothing I can do (helpless).
Replace the previous stories with useful ones. Turn victims into actors, villains into humans and helpless into able by asking:
- Am I pretending not to notice my role in the problem?
- Why would a reasonable, rational, and decent person do this?
- What do I really want?
- What would I do right now if I really wanted these results?
5 – Speak persuasively
Alright, here’s what we learned so far to master crucial conversations: we start with ourselves and pay attention to the conditions of the conversation. If people feel unsafe, we restore safety. And we don’t tell ourselves unhelpful stories.
Once we’ve created the right conditions for a dialogue, it’s time to talk – actually express our opinions. Here’s what to say and how to say it:
What to say:
- Share our facts: facts are the least controversial and the most persuasive. Gathering the facts is the homework required for crucial conversations.
- Tell our story: share our reasonable, rational and decent conclusions from the facts.
- Do not apologize for our views: use contrasting (don’t & do) to make sure people don’t hear more than we intend. Be confident enough to share what we really want to express even if it’s controversial.
- Ask for other’s paths: encourage others to share their facts, stories and feelings – and mean it. Carefully listen to what they have to say and be willing to abandon or reshape your story as more information arrives.
How to say:
- Talk tentatively: tell our story as a story rather than as a hard fact, mixing confidence and humility. Tell our story in a way that express confidence in our conclusions while being open to being challenged. It has to be true.
- Encourage testing: when we invite others to share their facts and stories, do it in a way that makes it clear that, no matter how controversial their ideas might be we want to hear them. They need to feel safe to share their views.
6 – Move to action
Okay, we learned all these techniques and had a perfectly healthy dialogue. We solved our diferences and everyone is happy. But nothing really changed since we just talked and there was no real action. Let’s solve this now. Here’s 2 things we do if we want to make savvy decisions that turn into smart, unified and committed actions.
1 – Decide how to decide
Don’t allow people to assume that dialogue is decision-making. Dialogue is the process of involving everyone for getting all the relevant information.
However, just because everyone is allowed to share their views it doesn’t mean that they are guaranteed to be part of the decision-making. Avoid frustrated expectations by separating dialogue from decision-making. Make it clear how decisions will be made – who will be involved and why.
Four common ways of making decisions – with increasing degrees of involvement – are command, consult, vote and consensus.
When choosing among the 4 methods, consider the following questions:
- Who cares?
- Who knows?
- Who must agree?
- How many people it is worth involving?
A conversation about decision-making practices can avoid a lot of frustration.
2 – Finish clearly
Now that we have a decision, let’s make sure that we will act on it. To avoid any kind of confusion, never forget to:
- Determine who does what and when;
- Make the deliverables crystal clear;
- Record commitments and then follow up;
- Hold people accountable.
Being a tech lead and dealing with people will put us on situations in which emotions run high. These are the situations when it’s harder to think straight and our worst behaviour shows up. That’s why we need to learn and practice these skills.
We don’t rise to the level of our expectations, we fall to the level of our training. – Archilochos
Becoming a leader is only possible when there’s personal growth. We grow into better professionals when we grow into a better person.