from a small club to a giant stadium - sc2 · spotify project title 00.00.2015 proprietary &...

59
Project Title 00.00.2015 Proprietary & Confidential 1 Spotify From a Small Club to a Giant Stadium Scaling Engineering at Spoti Wouter de Bie - Director of Engineering wouter@spoti.com

Upload: others

Post on 28-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

Project Title 00.00.2015 Proprietary & Confidential 1Spotify

From a Small Club to a Giant StadiumScaling Engineering at Spotify Wouter de Bie - Director of Engineering [email protected]

Page 2: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

2Project Title 00.00.2015 Proprietary & ConfidentialSpotify

How did we go from this..

Page 3: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

3Project Title 00.00.2015 Proprietary & ConfidentialSpotify

.. to this?

Page 4: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 4Spotify

What is our scale?

Page 5: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 5Spotify

Spotify was founded in 2006. First launched in Sweden in 2008

Spotify went from 1 to 60+ countries in 9 years

Spotify went from 0 to 150 Million users in 9 years

Page 6: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 6Spotify

Currently we’re at about 3500 employees, of which 1700 are in R&D

Spotify consists of 400+ micro services

We have 60+ PB of data under management

Page 7: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 7Spotify

Scaling Spotify • The organization • Our technology platform

I’ll be talking about the two parts that we scaled over the years: our org and tech platform.

Page 8: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 8Spotify

Tech organization

We started with an oldskool tech org, as seen in many organizations.

Page 9: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

9

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Backend Frontend Data QA

Different team doing different things. The Backend Team does backend, the frontend team does frontend, etc

Page 10: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

10

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Backend Frontend Data QA

But all these teams are dependent on each other. And as the org grows, those dependencies become bigger and bigger. Also, these teams don’t move in lock-step and have different priorities and eventually there is the chance of a dead-lock since they are all waiting for each other. Since we need to stay ahead in the game, we need to move fast.

Page 11: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 11Spotify

The Matrix organization

Because of this we designed the Matrix Org

Page 12: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 12Spotify

Autonomy is the word…

It’s all about autonomy. We believe that through autonomy (aka cutting down on dependencies), we achieve speed.

Page 13: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

13

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Backend Frontend Data QA

Page 14: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

14

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Backend Frontend Data QA

Instead of a team per competence, we create a team that can take on a task or mission from A to Z with all the competence needed.

Page 15: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

15

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Backend Frontend Data QA

Squad

We call this a squad

Page 16: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

16

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Backend Frontend Data QA

Squad

Agile Coach

Product Manager

And we add a product manager and an Agile Coach

Page 17: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

17Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Who’s the Boss?

Problem: who’s the boss of the squad? PM? AC?

Page 18: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

18

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Backend Frontend Data QA

Chapter

We organize hierarchically in Chapters

Page 19: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

19

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Backend Frontend Data QA

Chapter

Chapter Lead

And a Chapter Lead is a first line engineering manager

Page 20: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

20Project Title 00.00.2015 Proprietary & ConfidentialSpotify

VP Engineering

And those chapter leads reported to the VP of Engineering, who reported to the CTO

Page 21: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

21Project Title 00.00.2015 Proprietary & ConfidentialSpotify

“What if we have multiple $competence chapters?”

Page 22: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

22Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Say that we have a bunch of chapters

Page 23: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

23Project Title 00.00.2015 Proprietary & ConfidentialSpotify

And some of them have the same competence (e.g. backend)

Page 24: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

24Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Guild

We create a Guild where engineers with that competence come together

Page 25: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 25Spotify

Tribes

Page 26: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

26Project Title 00.00.2015 Proprietary & ConfidentialSpotify

VP Engineering

Initially our org looked like this. All CLs reporting to the VP of Eng

Page 27: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

27Project Title 00.00.2015 Proprietary & ConfidentialSpotify

VP Engineering

But this group grew too big, so we had to do something

Page 28: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

28Project Title 00.00.2015 Proprietary & ConfidentialSpotify

We split up different chapters and let them report to multiple VPs.

Page 29: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

29Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Tribe Tribe

And the sub organization we call a tribe.

Page 30: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

30Project Title 00.00.2015 Proprietary & ConfidentialSpotify

“What if we have multiple $competence chapters in different

tribes?”

Page 31: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 31Spotify

Still one guild for one competence. Just a little bigger..

Page 32: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

CTO Head of Product

At the time we did this, our product org was separate and had PMs “embedded” in squads. Product reported to a Head of Product

Page 33: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 33Spotify

Missions

Page 34: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

CTO

After a while, the amount of tribes became to big for the CTO, so we had to come up with something else.

Page 35: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Head of R&D

We split the tribes into groups

Page 36: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Head of R&D

Mission

And called it a mission

Page 37: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Creator User Engagement

Core Experience Revenue Growth

Opportunities

Technology Platform

Data

Design / Product Insights

Now we have 8 mission in total and we make a distinction between vertical an horizontal missions. Here are the vertical missions

Page 38: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Creator User Engagement

Core Experience Revenue Growth

Opportunities

Technology Platform

Data

Design / Product Insights

And the horizontal missions that support the vertical ones

Page 39: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Creator User Engagement

Core Experience Revenue Growth

Opportunities

Technology Platform

Data

Design / Product Insights

Page 40: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 40Spotify

A Typical Mision • One or more Engineering Tribes • Product organization • People Operations • (sometimes other mission specific sub-orgs)

Page 41: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

Project Title 00.00.2015 Proprietary & ConfidentialSpotify

VP Data

Engineering Operations Research Solutions Design Product

My mission

Page 42: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

42Project Title 00.00.2015 Proprietary & ConfidentialSpotify

“What if we have multiple $competence chapters in different tribes

in different missions?”

Page 43: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 43Spotify

Still one guild for one competence. Just a little bigger..

Page 44: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 44Spotify

Organizational Learnings

Some learnings that we have had over the years.

Page 45: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 45Spotify

Organizational Learnings

No Org Model is Perfect Spotify is optimized for speed

through autonomy, Other things don’t come easy and

have to be mitigated for

Page 46: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 46Spotify

Organizational Learnings

Our org model seems complex

On-boarding is sometimes a little hard because of terms

and internal roles used

Page 47: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 47Spotify

Organizational Learnings

Dependencies move up the stack

First there were team dependencies, then tribe dependencies and now Mission dependencies

Page 48: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 48Spotify

Scaling Technology

The only stereotypical stock photo image. Apart from the org there is tech

Page 49: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 49Spotify

Micro Services vs

Monolith And have a standard protocol

What does this accomplish?

Page 50: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

50Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Autonomy

Page 51: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 51Spotify

Ops in squads a.k.a. DevOps

What does this accomplish?

Page 52: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

52Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Autonomy

Page 53: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 53Spotify

Transition to the Cloud Google Cloud Platform in our case

What does this accomplish?

Page 54: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

54Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Autonomy … and also because other companies are better at running a data center

Page 55: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 55Spotify

Trying to prevent multi-tenant solutions … think about a 3500 node cluster with 1500 users

What does this accomplish?

Page 56: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

56Project Title 00.00.2015 Proprietary & ConfidentialSpotify

Autonomy

Page 57: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 57Spotify

Trying to prevent multi-tenant solutions … think about a 3500 node cluster with 1500 users

Page 58: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

00.00.2015 58Spotify

The downside No organizational model is perfect.

• Autonomy requires a lot of coordination.

• Some things need centralized management like data governance or quality

Obviously there is a downside too..

Page 59: From a Small Club to a Giant Stadium - SC2 · Spotify Project Title 00.00.2015 Proprietary & Confidential 1 From a Small Club to a Giant Stadium Scaling Engineering at Spoti! Wouter

59Project Title 00.00.2015 Proprietary & ConfidentialSpotify

That’s it! Questions?