The Spotify Playbook

2 Comments

spotify-logo

Three years ago, I packed up my family, moved halfway around world to Stockholm, Sweden, to join a then relatively unknown music streaming service called Spotify. Since then, I have left Spotify, returned to the world of corporate IT, and am amazed at the differences in how we work.

At first I chalked this up to Spotify been a cool hip tech startup – which would naturally tilt it more towards a Silicon Valley way. Except that Spotify has moved beyond being a small startup, while somehow maintaining the speed and agility you’d never expect from company of it’s size.

In this essay I would like to explain how Spotify works, why it is different, and why I believe its style of work will continue to grow in popularity. Because as software continues to eat the world, the advantage is going to those who how to make it. And right now Spotify, and other tech companies, is winning this hyper competitive war for talent; in to no small part due to it’s culture, management practices, and the way it works.

Empowerment and trust

If I had to pick two words to describe how Spotify is different it would be these: empowerment and trust. Spotify empowers and trusts its people to an extent I have never seen a company do before.

It’s small things – like having administrative access on your computer and being able to book your own travel. To big things – like choosing how you and your team would like to work, as well as having access to the all company’s financials.

Why so much empowerment and trust? Because Spotify believes that:

The more information we share with our people, the better decisions they are going to make.

But it goes beyond that. Spotify doesn’t only do this purely for better decision making purposes. It empowers and trusts its people because it believes that is how you attract the best talent. And the people it needs enjoy working this way.

Some of this is Swedish culture (Swedes are big on consensus building and moving cohesively as one). But it’s also a style of work and that has deep roots here in the Nordics. The Scandinavians believe that the best work comes from those who get to make their own decisions. Management does play a big role – but it’s mostly by removing barriers and then getting out of the way. Which is why the Nordic countries were among the first to adopt Agile. For them it was just a very natural way to work.

That captures the spirit of how Spotify likes to work. But it still doesn’t explain the how. Let’s dive a little deeper now and look at how some of the practices that Spotify uses to empower teams build trust in the organization.

Small self directed teams

Pretty much everything in Spotify revolves around the small self directed team. Or as we like to call them – squads.

  • Spotify teams
  • Sit together
  • Get their own squad areas
  • Set their own goals and priorities
  • Decide how they would like to work
  • And are 100% responsible for the work they produce

You can think of squads more or less as typical cross functional Agile teams. Except we don’t use Scrum Masters or Project Managers. The team creates and manages the work themselves – sometimes with the help of an Agile Coach.

And the way squads know what to work on, is that each squad is given a mission.

Missions and Teams over Projects and Budgets

Spotify empowers their teams by giving them missions. What’s a mission? A mission is a long term goal, aspiration, or belief. That if we only did this one thing, we could really make the world a better place for our customers.

For example, if you were on my old team, Delorean, our mission would have been to make the world of music a better place in the car. Or if you were on the the TV Platform team, it might be enriching gaming experience by bringing music to TVs and consoles.

Missions are different than traditional projects in several key ways.

For one, missions are longer term. Unlike projects, missions don’t have a definite beginning nor an end. They simply continue until the mission is met, or no longer important.

Missions based teams also stay together. Why break up the team at the end of a project just when they’ve started to figure things out?

The third big difference is hand-offs. Spotify teams don’t hand off their work to someone else for maintenance. They own it. Which means if something goes wrong in the middle of the night, they know they are the ones who are going to be paged.

So those are some differences in terms of time horizons and incentives.

Project Mission
Short term Long term
Clear beginning and an end Continues as long as required
Team disbands upon completion Team stays together
Hands off their work to others Maintains and supports their work themselves
Has a budget The team is the budget
Has a project manager Has no project manager
Schedule is primary Schedule may, or may not, be primary
The focus is the plan The focus is the work
  • There is always a budget. It’s just annual. Not tracked at the project level.

But what really separates missions from projects are budgets. Or lack thereof.

Spotify doesn’t allocate budgets to missions in same way traditional companies do to projects. The team is the budget at Spotify. That’s all they track. Head count. Whereas the budget is what gets tracked, and is the focus, on traditional projects. One invests and supports the team and mission (long term). The other is more focused on the budget and the project (short term).

By eliminating the drama that comes with traditional project budget, mission based teams are better able to focus. By not constantly having to look over their shoulder, and report and track, they can instead focus on their missions, and think of better ways of serving their customers.

One is a distraction. The other other is not.

This is big reason why Spotify, and tech companies, execute circles around their more traditional counterparts. They have fewer distractions and are better able to focus purely on the work.

No doubt, Agile has come a long way with regards to helping companies ignoring traditional project management maxims.

But Spotify, and these other tech companies, take things a step further. By eliminating the project and budget all together, and by focusing purely on the mission and the team, they enable their teams to go much much faster. While simultaneously empowering and trusting the team.

Which is why startups value impact over plans.

Impact over plans

To understand why no one cares if your project is plus or minus 10% at a tech company, you need to understand what startups value, and how this affects their budgeting.

Money to a startup is like fuel. It’s there to be spent. Startups need to exit the earth’s orbit, and demonstrate that what they have built is so great, that it is worth giving them another round of financing to get to the next level. And once they get that round they are set. They have their money. They have their runway. It’s off to the races.

So when it comes to measuring performance, they don’t focus on minutia of a six month project. They measure the impact instead.

How many signups did our last release get
How many more active users this month are using the product
How much more music are people listening to in the car

Now, obviously, traditional companies value speed and impact too. But if you watch their actions, you’ll see they value something more. Something called meeting expectations.

It all starts at the top. The CEO has to set, and hopefully meet, expectations every quarter around corporate earnings. To meet these earnings the company then creates an annual budget. From this annual budget flow the projects. And from these projects flow your budget. And that’s your plan.

Now because the expectations have been set, the one thing you never want to do is blow your budget. That’s pretty much all that counts.

So while it’s nice that you’ve solved world peace, cured cancer, and discovered some wonderful new innovative product, I am sorry. Your project will still be seen as a failure. You exceeded the budget and failed to follow the plan.

I am exaggerating a bit here. But not by much. This is what traditional companies value. This is what they measure. And this is what they track. Which is why being plus or minus 10% on your traditional project is such a big deal at a traditional company, while no one at a startup will care.

Tech lead

For most of its history, Spotify has been a tech, product, and design lead company. That means people from engineering, design, and product are in leadership positions at the company. And you feel it almost immediately when you join the company.

For one, you don’t have to fight for good computers or machines. Engineers know what a difference a good monitor and computer can make. So they don’t skimp. No more bad equipment.

Secondly, there is no more crappy enterprise software. Because the leaders of the company have technical backgrounds, they aren’t sold by the slick marketing and sales teams from the commercial vendors. Instead, you get to use the same tools you would use if you were working on an open source project at home.

You also see way more investment in internal systems and infrastructure. Spotify, Facebook, and Google all invest in countless internal systems to make the lives of their teams easier. These squads, focused on developer productivity, take on many of the hard technical challenges we as engineers on squads would love to solve, but never seem to have the time.

Bets

One challenge with a whole bunch of teams working independently on missions is that periodically you need to coordinate and do something bigger. Something that involves multiple teams. For that, Spotify uses the bets.

Bets are big, prioritized, cross cutting company initiatives that require multiple parts of the company to get things done. Usually numbering no more than 10-15 at a time, the rule of thumb is that someone comes to you working on a bet, you pause your work and help them out. If two groups come to you with different bets, the higher priority one wins.

It’s not a perfect system, but it’s fast and flexible. Teams usually know in advance who needs help and when. It gives them the flexibility to plan and work on longer term missions, while simultaneously helping the company out. And some teams just work on bets continuously. Because there is always another hill to climb.

Big trust

We already touched on how Spotify issues a lot of trust to their small empowered teams through missions and squads. But here are a few other examples of how Spotify moves quickly while not sweating the small stuff.

Self serve kiosks
If you need a new keyboard, mouse, adapter, phone cable, or thumb drive, Spotify lets you help yourself. There are all available, 24/7, via self serve kiosks that are continuously stacked with this stuff. No need to fill all the that paper work out. Just take what you need. And don’t be wasteful.

Booking travel
Need to travel for work? Can’t seem to get the flight you’d like? No worries. Book it yourself. We trust you. They are rules of thumb around when you can and can not book business class. But basically we want you to be happy. So book whatever makes sense and take the flight you want.

Access to data
If you ever want know how many monthly active users we have, or how many iPhone installations we have versus Android, that information is available to you.
If you can’t find it on one of our many dashboards, we will help you find the right person to ask. You basically have access to all the information in the company. Just ask and you will most likely receive.

Default to open

By default, Spotify is open with its ideas, leadership, and data. While this can be overwhelming at first, it’s refreshing to see how transparent a company can be with its information.

For example, Spotify was the first place I had been where the leaders sent all the material and notes they used for their offsites, to the entire company after. They even videoed the whole thing.

This was amazing. Because now as a rank and file employee, you had access to all the same information your boss was getting from the CEO. You could also see the same presentations and discussions leaders were having at the highest level. That was empowering.

I am sure not everyone watched all these videos but I did. And they made me feel very included and a part of the company in a way that I had never felt before.

This happens for all sorts of things: management meetings, townhalls, and weekly check-ins. You name it. You always knew what was going on, because when it came to information sharing the default was always open.

Swedish based

I could write a book on Swedish culture. Suffice it to say it’s different then what we practice here in North America.

Being a Swedish based company, culture affects Spotify in several interesting ways. For one, it is very much a consensus building culture. Spotify emphasizes hearing everyone’s voice, not rushing decisions, and getting group buy in. That doesn’t mean it is slow. Decisions do get made. It’s just in more of a consensus based style, with less direction coming from a single individual or leader on the team. Spotify really values diversity in decision making.

You also can’t really tell people what to do in Sweden – especially if you are the boss. This drives non-Swedes mad who are used to more command and control styles of structure. In Sweden, the relationship between the employee and the boss isn’t as top town as it is in North America. Servant leadership is a real thing at Spotify, and as a manager you are expected to serve your team and help people out.

Swedes also value above all things bra stämning or good working environment. Team cohesiveness is very important in the Swedish workplace. So there are many cultural norms like fika (structured coffee breaks), eating together (smörgåsbord), and generally hanging out and getting to know one another. This informal bonding helps create a good workplace and environment for the team.

But it’s not all about being nice and not getting work done. People at Spotify work hard. Not necessarily in the way of longer hours like we do in North America. But more in terms of responsibility. Spotify works hard to take away every excuse you and your team have for not doing your best work. And with that comes an expectation that you are your team will deliver. That’s really their secret sauce. Because once all the barriers are removed, it’s really just you and the work. No excuses left.

Needless to say, it’s very different than in North America where there is often a single decision maker, decisions come from the top, and you often have little say or control in how you work.

Summary

So those are some high-level thoughts about what work is like at Spotify, and some of the things they do that are different. We’ve only scratched the surface, and it still doesn’t fully capture what it’s like working there, and how much easier, and more fun it is to work there.

All I know is that empowering and trusting your people is hugely liberating. I took a 50% pay cut to work at Spotify, and I would gladly do so again because I had such a good time working there.

And coming from someone like me, an author, full time dad and husband, who religiously guards his time, that is a pretty neat trick. Spotify was able to get more out of me than any other company had before. And this essay is my attempt at explaining how they did that.

And all I know is it has something to do with how they work. And if we can tap more of that, we all might just enjoy work and life a little bit better.

Advertisements

How to keep you tests non-flakey

1 Comment

Something I am always striving to avoid in my unit tests is flakiness. That’s why when I needed to deal with a UINavigation bar in the previous version of iMessage, I ended up writing a method that looked like this:

Screen Shot 2017-09-13 at 10.19.35 AM.png

This method puts the responsibility on the client to figure out the runtime of the device, so this method is relatively straight forward and doesn’t suffer from any of the shenanigans that come with embedding lines of code like this, in classes you want to test.

Screen Shot 2017-09-13 at 10.25.54 AM.png

The power of overriding – or always asking for more

A colleague and I in a code review where debating the merits of this approach. The ugliness of exposing these details versus the desire to keep the code clean and testable. Together we came upon the following solution.

Make a public API that is easy and another one that is testable. Then have the public API call the more testable one

So that’s what we did.

Screen Shot 2017-09-13 at 10.30.17 AM.png

The lesson for me here is to always remember you can do anything with software. Got an interface you don’t like? Create a new one. Software is the one disciple where you can have your cake and eat it to. Just create whatever you need, and implement behind the scenes however your like.

Computer History Museum Tour

Leave a comment

This weekend, being my last in San Francisco, I headed to what is probably one of my favorite museums in the world. The Computer History Museum in Palo Alto California.

Screen Shot 2017-09-09 at 10.55.01 AM.png

The Trillion Dollar Startup

It all started with Fairchild semi-conductor. Robert Noyce’s conceiving of the integrated circuit, and Gordon Moore’s ‘law’ encouraged integrated circuit advancements which spawned not only a whole new industry, but a whole new way of working.

Openness over hierarchy, meritocracy, flat organizational structures, and management by walking around are still very much alive and well, and are still alive and well in the culture of Silicon Valley.

Screen Shot 2017-09-09 at 10.55.09 AM.png

Screen Shot 2017-09-09 at 10.55.16 AM.png

Screen Shot 2017-09-09 at 10.55.23 AM.png

Early computers

The earliest computers where calculators and slide rules.

Screen Shot 2017-09-09 at 11.26.02 AM.png

Here is a slide rule wheel created by Elizur Wright for doing insurance calculations in 1869. He is known as the father of Life Insurance.

Screen Shot 2017-09-09 at 11.26.14 AM.png

This little contraption, known as Napier’s Bones was a multiplication aid Europeans used in 1617.

Mechanical Genius

Something I really love about museums are the stories. The people who built and created incredible things that most of us will probably never hear of.

Take Curt Herzstark for example. Here he is, leading a nice quiet life in 1942 before being sent off to a Nazi concentration camp.

Screen Shot 2017-09-09 at 11.35.56 AM.png

While in the concentration camp, Curt refines he per-war design for a calculator. Only this isn’t an electronic calculator. It’s mechanical. The worlds smallest, four function calculator ever built.

Screen Shot 2017-09-09 at 11.36.06 AM.png

And it was used in the 50s and 60s by sports cars enthusiasts because of it’s durability, simplicity, and ease of use. It is still studied today as a work of art.

Punch cards

No doubt you’ve hard of punch cards and how early computers used cards to input programs and store data. Everything from early loom machines, to concensus machines for US elections. It was all punch cards. And no one dominated that space like IBM.

Screen Shot 2017-09-09 at 11.49.05 AM.png

IBM didn’t just own punch cards. They dominated it and create a new way of life for the computer corporate business man.

Uniforms, rally songs, and it was all lead by Thomas Watson, Sr in 1914. Watson lead IBM for 42 years. Through two World Wars, the depression, and created a culture, life style, and loyalty program never seen before in corporate culture.

He wanted his sales mean to be intelligent, morally fit individuals who dressed a certain way, looked a certain way, and thought a certain way. Rallies, speeches, songs, it was all a part of the culture. And IBM dominated computer for much of the 20th century.

Analog computing

Believe it or not there was a time when not all computers were digital. Early artillery computers solving complicated differential equations were analog.

Analog means instead of discrete 1’s and 0’s being sent around a computer, you used voltages and currents.

For example, in 1930, Vannevar Bush, an electrical engineering professors at MIT, created a device that was hailed as ‘the most important computer in existence in the United States’. Bush’s differential analyzer calculated artillery tables based on 6th order differential equations. Analog computers were really good at this.

And it was innovations like this, along with Bell Labs engineer David Parkinson, who one night in 1940 dreamt of a analog voltage amplifier, that helped destroy 76% of German V-1 Buzz Bombs.

Eniac

Screen Shot 2017-09-09 at 1.55.29 PM.png

In WW2 the U.S. Army was sending a lot of material to England. But the one thing they lacked were accurate artillery tables. Enter the Eniac. Started in 1942, it never was actually used in WW2 (it didn’t finish until 1945). But it, and all it’s tubes (18,000) did help out in the Manhattan project and other projects after the war.

Fun fact: Eniac was not binary. It was base 10. That means instead of story memory as a 1 or 0, it stored it as a 0,1,2,3,4,5,6,7,9. Neat!

Univac

The first computer to really ‘make it’ was the Univac. It was a general purpose computer, created by some of the same people who created the Eniac, and it’s claim to frame was it successfully predicted the result of a US election. And that Eisenhower would win.

Screen Shot 2017-09-09 at 1.55.47 PM.png

Within six years, Univac went on to sell 46 machines. Each costing $1M dollars. With the last going into retirement in 1970.

Hey mom. Remember when I asked for 4MB of memory for my birthday when I was 18? Thank fully I wasnt’ around when the Univac was popular. Here is the memory unit for this computer.

Screen Shot 2017-09-09 at 1.55.55 PM.png

I don’t fully understand how it works, but it uses mercury and received data as mercury waves.

Screen Shot 2017-09-09 at 2.00.25 PM.png

Cray super computers

Not many people have heard of Seymour Cray, but he is hero of mine. The father of super computing, Seymour Cray, revolutionized high speed computing for over 40 years, and he did it in a way any engineer would admire.

Screen Shot 2017-09-09 at 2.32.59 PM.png

When management got in the way, he packed up and moved his small team out into the woods, 100s of miles away from management, and did amazing things.

The biggest break for Cray came in 1976 with the Cray-1. Just look at this machine. All hand wired. Super freon cooled. Each machine costed $1M. Cray need to sell 10 to survive. They sold over 100. It was the fastest computer in the world, designed in a unique circular shape to account for the speed of light with no signal having to travel more than 3″.

Screen Shot 2017-09-09 at 2.33.05 PM.png

A little a head of it’s time

See if you can guess what this is.

Screen Shot 2017-09-09 at 2.48.57 PM.png

This was Honeywell’s answer to the kitchen recipe book. A full on kitchen computer that stored recipes. In 1969, in the Neiman-Marcus catalog, this home kitchen computer could be yours for the cool price of $10,600. Apron and two week programming course included.

Not surprisingly, non of these were sold.

Snatching defeat from the jaws of victory

You probably heard the story where Steve Jobs got his ideas for the Mac from a demo at Xerox. This is the computer that he say. The Alto.

The Alto was light years ahead of it’s time. WSIWIG editing. Object Oriented programming. Network computing. Mouse. The Alto had it all.

Note the orientation of the monitor. It goes up and down length wise, not across like most monitors today. That’s because the designed wanted to replicate the size and orientation of 8.5×11″ paper. It did’t stick. But it sure should how deeply they thought about the computer experience.

Screen Shot 2017-09-09 at 3.27.55 PM.png

The Alto is considered one of the greatest blunders in corporate history. Why invest in a technology that discourages photocopying went the thinking at the time.

Computers in Music

This was an interesting section on music. It showed the evolution gramaphones, to records, to 8-tracks, walkman, early mp3 players, and then ultimately streaming.

Screen Shot 2017-09-09 at 11.08.52 AM.png

Screen Shot 2017-09-09 at 11.08.59 AM.png

Screen Shot 2017-09-09 at 11.09.06 AM.png

And I can tell you having worked at Spotify, the innovation in music has only just begun.

Other notables

This was my first computer. The good’ol Apple ][e.

Screen Shot 2017-09-09 at 3.44.38 PM.png

Here’s the Apple Mac (based on the ideas Steve got from the Alto).

Screen Shot 2017-09-09 at 3.44.50 PM.png

And this was a neat find. An actual Pixar hardware computer.

Screen Shot 2017-09-09 at 3.44.58 PM.png

Not enough time

This museum is awesome. I have only scratched the surface here and there is simply note enough time. There are tours. Demos of mainframews, Spacewares on PDP machines, gaming. And you can talk to actual engineers who worked on this things. It’s a wonderful place.

And if you are at all interested in technology, history, and the some of the genius and work that our world depends on, this is the place to be.

The computer history museum is one of those stars in the lower right hand corner of the map in Palo Alto.

Screen Shot 2017-09-09 at 3.50.07 PM.png

The other dot is Steve Jobs house which I also visited this morning. It looks like this.

Screen Shot 2017-09-09 at 3.52.15 PM.png

Elon Musk Interview Questions

Leave a comment

Found these questions quite good for what Elon Musk looks for when interviewing:

Gut feel when hiring.

  1. Tell me the story of your life
  • what decisions did you made a long the way and why you made them
  1. Tell me about the most difficult problems you worked on and how you solved them.
  • the people that really solved the problem, they know exactly how they solved the problem. They know the little details.
  • and the people who didn’t can only go one level, and then they get stuck

Biggest challenge in life?
– how to spend time…
– making sure you have corrective feedback loop and maintaining over time even when people tell you what you want to hear

You can hear these at the end of this video (~30min mark)

Why I don’t get into arguments the way I used to

Leave a comment

 

  • Everything is opinion
  • I believe if I had the same experiences as others I would most likely share a similar opinion
  • And for every strongly held belief an example or counterexample can often be given
  • Not all advice holds in all scenarios
  • And I also have seen this happen in myself.
  • My own thoughts and beliefs have changed over time. So don’t get too excited or surprised when people think differently than you. We need all opinions. Young and old.
  • So when faced with a hostile of different point of view I don’t get as excited as I used to
  • Instead I think
    • There is probably some merit to what they believe
    • It would be to my advantage to discover what it is
    • And then after I can judge and decide whether I share that belief or not
    • And then, only then, if the other party is interested will I share my thoughts back

 

Setting end date instead of computing

Leave a comment

Instead of doing a lot of date and time comparisons, just set the end date of the thing you want.

For example instead of checking to see if a token expires in an hour like this

- (BOOL)hasExpired
{
    if (self.tokenExpirationDate == nil) {
        return YES;
    }
    return [SPTMessageClockUtils oneHourHasPassedFrom:self.tokenExpirationDate];
}

Just set the expiration date on the object itself, and see if it is later than now like this.

- (BOOL)isValid
{
	return ([(NSDate *)[NSDate date] compare:self.expirationDate] == NSOrderedAscending);
}

This simplifies the computing and requires less coding to account for time checks and such.

%d bloggers like this: