diff --git a/content/posts/what-makes-a-good-tech-team-great/index.md b/content/posts/what-makes-a-good-tech-team-great/index.md index 4ffc842b..5fd19e62 100644 --- a/content/posts/what-makes-a-good-tech-team-great/index.md +++ b/content/posts/what-makes-a-good-tech-team-great/index.md @@ -18,11 +18,11 @@ syndications: --- > The Deliveroo Engineering team has come a long way incredibly fast and is growing even faster. Our Analytics team is undergoing similarly explosive growth, so I thought I’d talk to the newest members of that team and share why we’re so proud of our Engineering culture and how it’s grown with us. Here’s what we spoke about. -![A slide saying: (A definitely incomplete précis of) How to Make a Good (Tech) Team Great](slide-1.png) +![A slide saying: (A definitely incomplete précis of) How to Make a Good (Tech) Team Great](slide-1.jpg) There are a huge number of things that affect how well a team works. So many of those things are deeply dependent on the number, experience and diversity of its members but as our Engineering team has grown there have been some constant themes which have formed the deep-rooted and often unspoken core of our culture. -![A slide saying: There is too much to know everything. I am not always right. Others see things differently, maybe usefully.](slide-2.png) +![A slide saying: There is too much to know everything. I am not always right. Others see things differently, maybe usefully.](slide-2.jpg) The first of these, as I hope with teams of all types, is communication. Often this is the first thing to go when time is tight, but when there’s a need to move fast we’ve found that good communication — ensuring everyone knows how to find out what’s going on — is _even more_ important. @@ -32,7 +32,7 @@ Some of these can be hard to admit, but they’re important: - _I am not always right_. Not only do we all make mistakes but our viewpoints are based on our own experiences, which aren’t necessarily those of our customers. - _Others see things differently_. A different perspective on a problem often highlights alternative solutions, some might be better. -![A slide saying: Easy, Asynchronous, Boundaries, Public*.](slide-3.png) +![A slide saying: Easy, Asynchronous, Boundaries, Public*.](slide-3.jpg) We work hard to make sure that we can communicate clearly and easily, but without disrupting the time we need to be creative and focused. @@ -44,14 +44,14 @@ We classify “communication” as more than just what we say, it’s also the r We’ve found [Facebook Workplace](https://workplace.fb.com/) is great for project announcements, [Slack](https://slack.com/) is fantastic for direct requests and, of course, [Github](https://github.com/) excels at code-centric communication. -![A slide saying: Shared context. Communication is faster, Fewer incorrect assumptions, Unity of purpose.](slide-4.png) +![A slide saying: Shared context. Communication is faster, Fewer incorrect assumptions, Unity of purpose.](slide-4.jpg) I believe that context is critical to everything in life. I’m sure there’s a book’s worth of advice on this alone, but we’ve found that it boils down to this: - Two people will understand each other faster if they have a shared context. - If there’s a mismatch in shared understanding a group is much more likely to make mistakes and false assumptions. -![A slide saying: Discussion, Naming, Reference, (Self-)Documentation](slide-5.png) +![A slide saying: Discussion, Naming, Reference, (Self-)Documentation](slide-5.jpg) The only true way to build a shared context is to discuss things, often at length and sometimes without specific direction. Putting time aside to chat to your colleagues — from all over the business — will give you an idea of what’s important to them and how best to work with them. @@ -67,11 +67,11 @@ We also structure our unit tests to demonstrate the specific cases we expect our We’ve found that talking face to face — especially over _video_ while remote — is important to building foundations, well-written git commits and Pull Requests on [Github](https://github.com/) are worth championing, and the [Atlassian suite](https://www.atlassian.com/) has no equal for tracking work in progress. -![A slide saying: Pride. Satisfaction and joy from what we do, Higher quality work.](slide-6.png) +![A slide saying: Pride. Satisfaction and joy from what we do, Higher quality work.](slide-6.jpg) When we were smaller we often found that we didn’t take enough time to congratulate ourselves and each other on jobs well done. In the worst cases, over time, this can lead to becoming unhappy at work — another thing that deserves a book in its own right, and something we want to avoid individually and as a community. -![A slide saying: Celebrate successes, Learn from mistakes… publicly](slide-7.png) +![A slide saying: Celebrate successes, Learn from mistakes… publicly](slide-7.jpg) Ensuring we put time aside to celebrate when we do well allow us — both consciously and subconsciously — to do the things that bring success more often and the things which don’t less. We’ve found that the work we feel most proud of is the work that has the fewest bugs, that gets completed the fastest and frequently lands best with our customers. Being proud of what we achieve is critical to our continued success. @@ -82,13 +82,13 @@ On the flip side, admitting that we’ve made mistakes can be hard, but we will - Recognise the direct mistake, figure out why it happened and communicate what we find to any who might make the same mistake. - Work to understand the wider situation and, if possible, help build safety mechanisms so that others _can’t_ make the same mistake again. -![A slide saying: Responsibility. Allows vou to be proud, Gets rid of process bottlenecks, Ability to act quickly and independently.](slide-8.png) +![A slide saying: Responsibility. Allows vou to be proud, Gets rid of process bottlenecks, Ability to act quickly and independently.](slide-8.jpg) It’s very difficult to feel pride without a sense of responsibility. They go hand in hand, but there are more benefits to fostering a sense of responsibility in everyone, from the battle-hardened team veteran, to the first-week new starter. The more that responsibility clusters to only some parts of a community, the more that group becomes a bottleneck for decisions. In a fast-moving business the ability to make quick, informed decisions autonomously is critical, so allowing responsibility to spread wide lets us keep our agility, even as we grow. -![A slide saying: Not ownership, "No", Basis in metrics](slide-9.png) +![A slide saying: Not ownership, "No", Basis in metrics](slide-9.jpg) _Responsibility_ is often confused with _ownership_. A sense of ownership of a codebase, a project or process is what can lead to a bottleneck — all decisions about that thing going through one person. Responsibility is more than that; it’s talking to a different team and writing a pull request to improve a codebase when there’s a spare hour, it’s suggesting changes to process to team leadership when we recognise inefficiencies, it’s looking into the numbers & discussing when we have a gut feeling that something we’re working on may not be the most leveraged use of our time. diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-1.jpg b/content/posts/what-makes-a-good-tech-team-great/slide-1.jpg new file mode 100644 index 00000000..2d12766b Binary files /dev/null and b/content/posts/what-makes-a-good-tech-team-great/slide-1.jpg differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-1.png b/content/posts/what-makes-a-good-tech-team-great/slide-1.png deleted file mode 100644 index e71a2801..00000000 Binary files a/content/posts/what-makes-a-good-tech-team-great/slide-1.png and /dev/null differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-2.jpg b/content/posts/what-makes-a-good-tech-team-great/slide-2.jpg new file mode 100644 index 00000000..6ba901d1 Binary files /dev/null and b/content/posts/what-makes-a-good-tech-team-great/slide-2.jpg differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-2.png b/content/posts/what-makes-a-good-tech-team-great/slide-2.png deleted file mode 100644 index 01037f38..00000000 Binary files a/content/posts/what-makes-a-good-tech-team-great/slide-2.png and /dev/null differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-3.jpg b/content/posts/what-makes-a-good-tech-team-great/slide-3.jpg new file mode 100644 index 00000000..a49e00dc Binary files /dev/null and b/content/posts/what-makes-a-good-tech-team-great/slide-3.jpg differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-3.png b/content/posts/what-makes-a-good-tech-team-great/slide-3.png deleted file mode 100644 index a8d04e37..00000000 Binary files a/content/posts/what-makes-a-good-tech-team-great/slide-3.png and /dev/null differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-4.jpg b/content/posts/what-makes-a-good-tech-team-great/slide-4.jpg new file mode 100644 index 00000000..60ef9002 Binary files /dev/null and b/content/posts/what-makes-a-good-tech-team-great/slide-4.jpg differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-4.png b/content/posts/what-makes-a-good-tech-team-great/slide-4.png deleted file mode 100644 index 2b6728ed..00000000 Binary files a/content/posts/what-makes-a-good-tech-team-great/slide-4.png and /dev/null differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-5.jpg b/content/posts/what-makes-a-good-tech-team-great/slide-5.jpg new file mode 100644 index 00000000..6f57d9bf Binary files /dev/null and b/content/posts/what-makes-a-good-tech-team-great/slide-5.jpg differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-5.png b/content/posts/what-makes-a-good-tech-team-great/slide-5.png deleted file mode 100644 index 5433d702..00000000 Binary files a/content/posts/what-makes-a-good-tech-team-great/slide-5.png and /dev/null differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-6.jpg b/content/posts/what-makes-a-good-tech-team-great/slide-6.jpg new file mode 100644 index 00000000..3d691dab Binary files /dev/null and b/content/posts/what-makes-a-good-tech-team-great/slide-6.jpg differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-6.png b/content/posts/what-makes-a-good-tech-team-great/slide-6.png deleted file mode 100644 index 0fd608b2..00000000 Binary files a/content/posts/what-makes-a-good-tech-team-great/slide-6.png and /dev/null differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-7.jpg b/content/posts/what-makes-a-good-tech-team-great/slide-7.jpg new file mode 100644 index 00000000..5d22f7ad Binary files /dev/null and b/content/posts/what-makes-a-good-tech-team-great/slide-7.jpg differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-7.png b/content/posts/what-makes-a-good-tech-team-great/slide-7.png deleted file mode 100644 index e8be78b2..00000000 Binary files a/content/posts/what-makes-a-good-tech-team-great/slide-7.png and /dev/null differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-8.jpg b/content/posts/what-makes-a-good-tech-team-great/slide-8.jpg new file mode 100644 index 00000000..6a28ba39 Binary files /dev/null and b/content/posts/what-makes-a-good-tech-team-great/slide-8.jpg differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-8.png b/content/posts/what-makes-a-good-tech-team-great/slide-8.png deleted file mode 100644 index d3745563..00000000 Binary files a/content/posts/what-makes-a-good-tech-team-great/slide-8.png and /dev/null differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-9.jpg b/content/posts/what-makes-a-good-tech-team-great/slide-9.jpg new file mode 100644 index 00000000..7c6f4311 Binary files /dev/null and b/content/posts/what-makes-a-good-tech-team-great/slide-9.jpg differ diff --git a/content/posts/what-makes-a-good-tech-team-great/slide-9.png b/content/posts/what-makes-a-good-tech-team-great/slide-9.png deleted file mode 100644 index e7199a25..00000000 Binary files a/content/posts/what-makes-a-good-tech-team-great/slide-9.png and /dev/null differ