00:00:20.779
Hello everyone, my name is Jennifer and my pronouns are she/her, and I'm Zhi Spencer.
00:00:26.160
My pronouns are he/him. We are co-founders of Cohere. Our third co-founder is over there.
00:00:33.030
Cohere is a small consultancy that specializes in education and training for product and engineering teams.
00:00:39.780
Zhi and I both started as programmers who transitioned into engineering leadership roles. I'm more of a typist than a programmer. I can type 200 words per minute sustained.
00:00:47.250
Jennifer is the one with the fancy MIT CS degree, so if you have real programming problems, talk to her.
00:00:52.680
Together, we're going to talk you through six areas of engineering leadership.
00:00:59.609
The first is the phases of group development. You can jump all you want.
00:01:05.399
How to hire is second, how to develop your people is third, how to bring them together into a coherent team is fourth, and then how to navigate conflict and grow a leader culture.
00:01:13.020
That's a lot, but before we start, we need to get ready to garden.
00:01:19.560
Imagine your organization as a garden. There’s soil, benches, and plants.
00:01:26.280
People are working in it and coming to see it. There are some things we can't change.
00:01:32.280
We can't change the amount of sunlight, the location, the rain, or what kind of garden people want to see.
00:01:38.670
We also can’t control if someone secretly sprays Roundup on the roses every Thursday during your weekly deploy.
00:01:44.220
However, there are some things that we can change.
00:01:49.789
One thing we can do is accept where we are. This means accepting all the conditions I just described.
00:01:54.869
We need to acknowledge that some conditions cannot be changed quickly, while others might take time.
00:02:01.830
In addition to accepting the conditions and constraints, we must also accept our responsibilities.
00:02:07.770
We are responsible for both the state of the garden and for the well-being of the team of gardeners we direct.
00:02:13.260
This means we are accountable for their job satisfaction, their job effectiveness, and the degree of growth they are experiencing.
00:02:18.450
Once we have accepted our garden conditions, constraints, and responsibilities, we are freed to begin gardening.
00:02:24.239
Where should we focus our efforts? First, we focus on trust and, in particular, between people.
00:02:31.170
Trust is like fertilizer. It might look like poop, but it’s essential for growth.
00:02:36.840
When we build trust among team members, the responsibility for the garden becomes easier.
00:02:43.350
Many of us were programmers before becoming managers, and it might be tempting to build trust by doing the dirty work ourselves.
00:02:50.700
However, this doesn't help our team become better gardeners.
00:02:57.870
Instead, we should build our team's ability to work without us.
00:03:03.239
We can do this by shifting our focus from how the work is done to understanding why it's done, and more importantly, by whom.
00:03:09.840
This leads us to ask ourselves questions about what drives the individuals doing the work.
00:03:16.019
We can refer back to previous keynotes about what gives them meaning and happiness. Great managers understand that performance is not individual; it is systemic.
00:03:27.900
Exceptional work is done not by exceptional people but by organizations designed to empower individuals.
00:03:36.420
Just like an excellent software system continues functioning even when no one is at the keyboard, effective management allows teams to thrive.
00:03:42.239
Let's jump into our first topic: the stages of engineering team development.
00:03:49.500
Tuckman's stages of group development asserts that groups go through five overlapping phases: forming, storming, norming, performing, and eventually, adjourning.
00:03:57.000
Forming is where the group meets. We learn about the opportunities and challenges, and we agree on some of the goals and how to tackle the work.
00:04:05.399
An example of this could be having a sprint kickoff. Storming is when the group begins to notice the wear and tear caused by working together.
00:04:14.850
This is a scary place to be. It can be tempting to protect your team or stakeholders from the consequences of their decisions and behaviors.
00:04:22.470
But storming is natural; it’s not something to avoid. It's an opportunity to learn more about the team.
00:04:29.600
If you remain too long in this stage, it will slow you down, but trying to skip it completely will hinder the building of the effective team you desire.
00:04:37.730
An example of storming: after the kick-off, two developers might find themselves working on the exact same ticket alone.
00:04:46.340
They realize they are independently reproducing each other's work, leading to feelings of frustration.
00:04:53.810
This indicates that they have begun to enter the storming phase.
00:05:02.140
Norming occurs as the group collaborates to navigate the storm. They start to establish habits and structures for working together.
00:05:11.300
However, they’re not quite finalized just yet; they’re working on the details of those habits and norms.
00:05:18.020
For instance, our two collaborators decide that whenever they start a ticket, they will claim it and communicate with each other about what they are working on.
00:05:29.000
As these habits and structures stabilize, teams move into the performing stage.
00:05:37.020
Less time is spent on habit formation, allowing more time for work.
00:05:44.120
The difference between norming and performing is that during norming, significant changes are being made.
00:05:49.500
Yet when performing, the team is making smaller adjustments and improving processes.
00:05:56.660
For our team, after discussing starting new work at the daily stand-up, when they are performing, they might make a small adjustment.
00:06:03.110
If they begin in the middle of the day, they send a group message to inform each other.
00:06:09.360
This learning of new habits remains valuable; opportunities for change arise every time we notice our rough edges.
00:06:16.500
By addressing these, we can safely implement significant changes without re-entering the storming phase.
00:06:23.870
For example, a team may decide, now that they are communicating effectively, to automate how patches are pushed directly to production.
00:06:30.110
While that sounds substantial, it reflects a maturing process.
00:06:37.420
In this journey, we may end up forming two brand new teams as we adjust our structure.
00:06:42.600
Now let’s move to topic number two: adding new team members, or simply, hiring.
00:06:51.950
We want to hire more people because we have more work than we have people to handle it.
00:06:58.890
We also have the funds available to bring on someone new.
00:07:07.040
One common approach when starting to hire is to recruit the best and the brightest, but does that actually serve your true goals?
00:07:15.010
Our primary responsibility is not just hiring top talent but enabling the team to accomplish required tasks.
00:07:23.110
There’s a crucial first step in building a great team: determining the team’s needs.
00:07:28.490
Is your team undertaking a lot of greenfield work? Then do not recruit someone who is primarily focused on legacy projects.
00:07:36.110
If you do, do not expect them to perform at the same level as someone who has been continuously engaged in greenfield work.
00:07:43.890
If your team has diverse skill sets, you should be hiring individuals who can both mentor and be mentored.
00:07:51.180
So instead of solely looking for the best and brightest, here are three elements to consider instead.
00:08:00.580
First, focus on what your business needs. What problem is your company attempting to solve?
00:08:06.740
For instance, we need to decrease our user hosting costs – while that sounds mundane, it could free up $10,000 a month.
00:08:13.780
This could, in turn, increase our financial runway by 10%, allowing us to hire another person for more work.
00:08:24.640
Write down this business need and make it widely known.
00:08:31.030
Refer back to it during every decision point in your hiring process.
00:08:39.180
If you’re on the fence about a candidate, read your business need aloud and consider how that candidate helps achieve it.
00:08:46.049
The second consideration is what skills or abilities are necessary to meet this business need.
00:08:53.480
This assessment should extend well beyond technical skills; consider the whole picture.
00:09:01.200
Do you need a candidate able to strictly adhere to specifications, or someone who can innovate?
00:09:07.620
Is your work environment stable or changing? Those who thrive in a stable setup may struggle in a rapidly changing one.
00:09:13.390
Take time to analyze who has been successful in your organization, and identify the non-technical abilities that help them create value.
00:09:21.700
If you hire someone capable of writing great code but cannot prioritize effectively, then the business need will not be fully met.
00:09:28.210
Relatedly, consider the constraints present within your existing team.
00:09:34.400
If your team thrives on pairing up, then hiring someone who strongly prefers working independently may not be a great fit.
00:09:40.970
Understand how your engineers interact with each other and with coworkers, so you can find individuals who will complement that.
00:09:48.360
This consideration is specific to each team – be honest about where your team is.
00:09:54.730
If you wish for a more collaborative pairing approach but your team isn’t on board, hiring for that perceived culture will lead to disappointment.
00:10:01.230
Recognizing your team’s present state allows gradual transitions rather than pretending reality is different.
00:10:08.670
Once you have evaluated your three steps and know what you need in your next hire, you can start talking to candidates.
00:10:15.570
Tell candidates clearly what you are seeking and the characteristics of a successful applicant.
00:10:22.540
While this may feel intimidating, it can lead to deeper insights.
00:10:31.980
Rather than asking a yes or no question, encourage candidates to share specific stories. For example: what was the last piece of feedback you gave to someone?
00:10:39.360
What was a contentious patch or pull request that involved you?
00:10:47.100
How candidates respond to these questions will reveal if they can give constructive feedback.
00:10:54.430
When we don’t make our expectations clear, we risk missing out on candidates who may not guess correctly what we require.
00:11:01.480
We also miss opportunities to show potential hires what our team values.
00:11:07.690
That's all the time we have to discuss hiring and interviewing. Please feel free to reach out after this talk as it's a vast topic.
00:11:14.420
Now, let’s move on to the next section: growing your people.
00:11:21.480
This might come as a surprise, but programmers are often not experts at managing people.
00:11:30.110
That’s okay; we can learn from psychologists, neurologists, social scientists, and philosophers about how our invisible and visible norms shape behavior.
00:11:38.890
Daniel Kahneman discusses in "Thinking Fast and Slow" the distinction between System 1 (fast thinking) and System 2 (slow thinking). Fast thinking inspires gut reactions, while slow thinking involves careful analysis.
00:11:47.780
To develop our people, we can help them recognize and adjust when their fast thinking overrides their more deliberate evaluations.
00:11:54.479
Let’s explore four options on how to do this.
00:12:01.830
First, you might choose to ignore minor issues. For instance, a team member might take longer to analyze a feature before coding.
00:12:09.170
Consider allowing your team the flexibility to optimize their approach—even if their habits differ from yours.
00:12:16.350
Allowing for small inefficiencies can foster trust and boost overall team effectiveness.
00:12:22.570
The second option is to illuminate growth areas. If behavior must be addressed, provide clearer perspectives.
00:12:29.620
For example, if one team member monopolizes discussions during retrospectives, privately bring this to their attention.
00:12:36.930
This awareness allows them to adjust behavior, ensuring everyone can participate meaningfully.
00:12:45.780
The third option is to redirect contextually unhealthy behaviors. When someone excessively blocks merges due to design concerns without offering solutions, it can drain the team.
00:12:53.340
In such cases, discuss the issue privately, guiding them to deliver their insights earlier in the process.
00:13:01.080
This approach can enhance their skills while positively shaping the team's functioning.
00:13:08.870
Some behaviors, however, must be directly addressed because they are fundamentally unhealthy.
00:13:16.170
This is particularly critical when significant power dynamics are involved.
00:13:23.450
For instance, if someone makes offhand remarks about political correctness, it can signal an acceptance of discrimination.
00:13:30.040
Publicly set clear expectations that such behavior is unacceptable within the workplace.
00:13:38.040
Shifting team behaviors can lead to a more sustainable and engaging work atmosphere.
00:13:45.310
By encouraging team ownership, we enhance engagement and quality of work while freeing up time for strategic initiatives.
00:13:52.580
A common challenge is how individual work styles influence collective efforts.
00:14:01.400
Even with good intentions, individual communication patterns can create gaps.
00:14:09.580
This may manifest when one team alters an API affecting another team’s functionality or adjustments to shared styles.
00:14:17.000
Thus, identifying ownership for long-term tasks is critical, as clarity can often be overlooked.
00:14:23.660
Tanya Riley refers to this as glue work—the unrecognized but essential tasks that allow teams to function smoothly.
00:14:31.740
When glue work goes unacknowledged, your carefully nurtured team may struggle to function effectively together.
00:14:39.000
To address this, we could alternatively have a single individual manage all glue work. However, this approach isn’t sustainable.
00:14:47.560
Recognizing valuable glue workers can lead to resentment if their contributions go unseen.
00:14:54.420
Your talented contributors will eventually look to other opportunities if they feel their roles are undervalued.
00:15:02.540
Instead, teach all team members how to handle glue work. Encourage broader communication beyond their immediate colleagues.
00:15:11.330
Once you provide them with strategies, incentivize their participation in glue work.
00:15:17.500
When promoting individuals, highlight the glue work they have contributed to underline its importance.
00:15:26.160
Set expectations that everyone should excel in glue work to be considered for promotion.
00:15:34.990
This will ensure capable leaders rather than simply individual contributors.
00:15:41.940
Now, moving on to an illustrative scenario that outlines differing testing philosophies.
00:15:47.630
Let’s say Alice values micro-tests with stubs as system boundaries, while Bob prefers integration tests that safeguard user analytics.
00:15:56.960
Initially, this alignment might seem fine. Testing is being conducted, work is completed.
00:16:05.120
However, through discussions, it becomes clear that Alice is disengaged and contributing fewer tests, feeling their addition slow down progress.
00:16:12.210
In such cases, avoidance becomes concerning. The rough edges will evolve into sharper ones if ignored.
00:16:19.110
When unchecked, disengagement impacts not just individual contributions but also the entire team's morale.
00:16:27.770
As Alice's manager, you should foster an environment of constructive feedback.
00:16:36.200
Conflict might arise from differing perspectives; however, it’s vital we engage openly.
00:16:44.520
Let’s consider three steps to effectively navigate these tensions.
00:16:51.430
First, expose the sources of tension. Encourage team members to share underlying factors contributing to friction.
00:16:58.050
Just as an iceberg reveals only a small section of itself, much of the tension lies below the surface.
00:17:06.930
Each employee's contributions to tensions must be analyzed comprehensively for effective resolution.
00:17:13.760
Second, share needs clearly. For instance, Alice needs assurance that her changes won’t introduce unrelated issues.
00:17:20.260
She values competency, and when things go awry, it undermines her confidence.
00:17:26.580
Similarly, Bob requires confidence when making incremental changes.
00:17:33.240
By articulating what they need, both can find common ground to focus on shared goals.
00:17:41.350
Finally, step three involves exploring available resources, both internal and external.
00:17:49.900
Alice and Bob discover they can conduct workshops leveraging their individual strengths.
00:17:56.920
Shared resources can transform conflict into developmental opportunities.
00:18:04.830
Recognizing that tensions can indicate areas ripe for improvement can lead to a more collaborative environment.
00:18:10.010
Now moving to a real-life perspective, let’s take a moment to consider a case of hero culture.
00:18:16.800
You encounter a situation where a single engineer saves the day during a production outage.
00:18:24.580
While such heroics can be inspiring, making it a regular occurrence indicates larger issues.
00:18:32.200
Hero culture often exacerbates minor issues, allowing them to escalate into larger problems.
00:18:39.230
Instead of solving root causes, hero culture opts for reactive solutions, hindering long-term success.
00:18:47.060
So if hero culture is to be avoided, what should be our alternative?
00:18:55.010
We need to cultivate a leader culture. When someone performs heroics, hold a retrospective.
00:19:03.360
Thank the individual, but also task the team with determining how to prevent future incidents.
00:19:11.240
By acknowledging and valuing such heroics but promoting proactive change, we ensure continuous improvement.
00:19:18.690
Organizational culture shifts begin at the top; your behaviors will influence your team's behaviors.
00:19:27.200
Showing your team what leadership looks like helps them model that behavior.
00:19:34.800
For instance, if you engage with work when you’re unwell, team members might follow suit.
00:19:42.070
These patterns reflect a team functioning outside its capacity rather than a passionate and engaged culture.
00:19:50.149
As a manager, you should focus on empowering your team rather than becoming a centralized problem-solver.
00:19:57.800
Your role is to support your people in becoming leaders rather than perpetuating a culture of heroes.
00:20:05.560
Address issues that require your input but encourage your team to take charge of their own dynamics.
00:20:12.470
Foster autonomous communication among team members, but engage when issues arise from outside the team.
00:20:19.270
Finally, be vigilant against any negative dynamics, like experienced team members trying to dominate less experienced ones.
00:20:26.850
Promote a balanced and respectful team environment as you leverage collective strengths.
00:20:33.370
In summary, growing a robust team requires nurturing leadership rather than hero culture.
00:20:40.400
Recapping the main points we discussed: forming, storming, norming, and performing—these are stages of natural team development.
00:20:46.170
Hiring should focus on filling business needs rather than just recruiting the best and brightest.
00:20:53.430
Growing your people involves understanding their needs, helping them engage, and fostering broader communication.
00:20:59.900
Glue work is crucial; cultivate an environment where all members feel responsible for it.
00:21:07.060
When tensions arise, engage collaboratively and focus on exploring underlying needs.
00:21:14.780
Commit to growing a leader culture where proactive solutions are valued.
00:21:23.160
Thank you for attending our talk on gardening your team!
00:21:30.320
We will stick around for an off-mic Q&A, and you can also find us on Twitter.
00:21:36.440
I am at JTu, and my company is at Cohere.
00:21:42.860
We’ll post our slides later for those watching on YouTube.