Engineer Carl Engström explains how lifting the 10,000 limit on Liked Songs enabled his team to address a much deeper issue and improve the listening experience of end users, whatever their device or network. At first glance, lifting the 10,000 limit on Liked Songs seems like … | Continue reading
Yesterday, we released the open source version of Backstage, our homegrown developer portal. And we learned a thing or two via the feedback we received. So, I wanted to take this opportunity to further explain what we’re trying to do with Backstage — and more importantly, what we … | Continue reading
At Spotify, we believe strongly in data-informed decision making. Whether we’re considering a big shift in our product strategy or we’re making a relatively quick decision about which track to add to one of our editorially-programmed playlists, data provides a foundation for soun … | Continue reading
A business with eyes on the future Spotify built its business on flawless content delivery. Our streaming platform serves up more than 50 million tracks (plus an array of images and other assets) to more than 230 million monthly active users around the world — making us one of th … | Continue reading
The Spotify Wrapped Campaign is one of Spotify’s largest marketing and social campaigns of the year. It enables our users to see a detailed breakdown of their listening habits over the past year. Since 2019 was the end of the decade, we wanted to do something special for our user … | Continue reading
When Spotify launched in 2008 in Sweden, and in 2011 in the United States, people were amazed that they could access almost the world's entire music catalog instantaneously. The experience felt like magic and as a result, music aficionados dug in and organized that content into m … | Continue reading
On September 12, 2019 I spoke at Assert(JS) in Toronto to talk about my journey with test flakiness at Spotify and some of the systems we have built over the years to address flakiness. Assert(JS) is a conference dedicated entirely to automated testing for web systems and this wa … | Continue reading
On September 12, 2019 I spoke at Assert(JS) in Toronto to talk about my journey with test flakiness at Spotify and some of the systems we have built over the years to address flakiness. Assert(JS) is a conference dedicated entirely to automated testing for web systems and this wa … | Continue reading
Spotify is a data informed company and in such a company Event Delivery is a key component. Every event containing data about users, the actions they take, or operational logs from hundreds of systems is a valuable piece of information. Without a successful Event Delivery system, … | Continue reading
How do you cut iOS app build times by 50%? Patrick Balestra, an engineer at Spotify, explains how his team helped improve developer productivity and the end user experience. One of the great things about working at Spotify as an engineer, is the opportunity to improve the experie … | Continue reading
We recently surpassed the two year anniversary of our bug bounty program on the HackerOne platform. This gave us pause to take a look back at our successes and learnings in engaging with the security community to help improve security at Spotify. What is a bug bounty program? Th … | Continue reading
Whenever a user performs an action in the Spotify client—such as listening to a song or searching for an artist—a small piece of information, an event, is sent to our servers. Event delivery, the process of making sure that all events gets transported safely from clients all over … | Continue reading
Spotify’s Event Delivery system is responsible for delivering hundreds of billions of events every day. Most of the events are generated as a response to a user action, such as playing a song, following an artist or clicking on an ad. All in all, more than 300 different types of … | Continue reading
As a Security responder, it is important to have access to relevant information quickly in order to get a more complete picture of an ongoing or potential incident. Modern microservice architecture usually means that the number of services, and thus hosts and related assets, are … | Continue reading
Introduction Large-scale data processing is a critical component of Spotify’s business model. It drives music recommendations, artist payouts based on stream counts, and insights about how users interact with Spotify. Every day we capture hundreds of terabytes of event data, in a … | Continue reading
Here's part 1 of short animated video describing our engineering culture (here's part 2). This is a journey in progress, not a journey completed, and there's a lot of variation from squad to squad. So the stuff in the video isn't all true for all squads all the time, but it appea … | Continue reading
Localization at Spotify is a big deal. Our mission is to “unlock the potential of human creativity—by giving a million creative artists the opportunity to live off their art and billions of fans the opportunity to enjoy and be inspired by it.” To achieve this mission, it’s import … | Continue reading
Illustrations by Jonas Ekman Registers! Oscilloscopes! Beards! Serial Ports! C! Cycle shaving! Beards! Interrupts! Assembly! Did I mention beards? If I were to say the words “embedded programmer” most people in our industry would immediately conjure up an image of a heroic charac … | Continue reading
Incident responders want to have as much information as possible to ease the investigation and triage process. Additionally, intrusion detection engineers want to know about forensic artifacts and map server baselines (running processes, storage artifacts on disk) on a large flee … | Continue reading
The purpose of this post is to tell the story of the new Spotify web player. How and why it came to be. We will focus on what the steps were that led to a complete rewrite and how the lessons learned influenced the experience and the tech decisions of the new web player for… | Continue reading
Why we built a new open source Python data visualization library. Have you ever been frustrated with the complicated experience of making charts in Python? We have, so we created Chartify, an open-source Python library that wraps Bokeh to make it easier for data scientists to cre … | Continue reading
We flipped one server flag and got more download bandwidth for Spotify users. That is the TL;DR of this A/B experiment with BBR, a new TCP option. Background BBR is a TCP congestion control algorithm developed by Google. It aims to make Internet data transfers faster, which is no … | Continue reading
At Spotify, we have a complex and diverse data processing ecosystem. Our backend infrastructure handles millions of requests per second, which are processed by over a thousand (micro)services. Our batch pipeline environment is equally complex and diverse; we run thousands of jobs … | Continue reading
Today, we announce that we are open sourcing cstar, our Cassandra orchestration tool. Operating Cassandra is not always an easy task. It has a myriad of knobs you can tune that affect performance, security, data consistency etc. Very often you need to run a specific set of shell … | Continue reading
We flipped one server flag and got more download bandwidth for Spotify users. That is the TL;DR of this A/B experiment with BBR, a new TCP option. Background BBR is a TCP congestion control algorithm developed by Google. It aims to make Internet data transfers faster, which is no … | Continue reading
We're excited to release Gimme to the world. Gimme presents its users with a simple web interface that allows anyone with access to it to create time bound IAM conditions in Google Cloud Platform. The Cloud IAM Conditions framework is a new feature of Google Cloud Platform announ … | Continue reading
Coördinator is an open source browser interface to help you turn an SVG into XY coordinates. That means you can now take any SVG file, turn it into dots, and use those dots in a data visualization. | Continue reading
Here's part 1 of short animated video describing our engineering culture (here's part 2). This is a journey in progress, not a journey completed, and there's a lot of variation from squad to squad. So the stuff in the video isn't all true for all squads all the time, but it appea … | Continue reading