Spotify Developers Get Fresh Apple M1 Macs
Music streaming service Spotify recently upgraded to the Apple M1 gear for its Client Platform (CLiP) team after internal testing proved the machines are 43% faster than Intel-based Mac systems overall: 50% faster on Android builds and 40% faster on iOS builds.
Spotify conducts quarterly Engineering Satisfaction surveys, and one such survey revealed that longer build times reduced developer productivity and satisfaction. Spotify ran multiple build tests on different hardware and found that the build times on machines with Apple silicon (the M1 chip and higher) were 43% faster overall (the M1 Pro and M1Max yielded slightly better results than the M1). Spotify spent 2022 upgrading developer hardware.
The recent blog post written by Spotify Product Manager Anna Granhed and Spotify Senior Data Scientist Nandini Singh explained that two questions needed sufficient answers before the upgrade was approved.
Were the new machines “good enough” to be used by Spotify developers? Good enough, in this case, was defined as a statistically significant improvement in Android/ iOS local build times.
Will the performance improvements justify the costs associated with the investment needed for the upgrade? This blog post written by a Reddit staff engineer inspired Spotify to evaluate the upgrade as a financial use case as well.
What metric will Spotify consider successful?
AvgLocalBuildTime(M1) < AvgLocalBuildTime(non-M1)
The Empirical Findings
Overall: Apple silicon is about 43% faster.
Android: Apple silicon is about 50% faster:
iOS: Apple silicon is about 40% faster:
Financial Benefits in Upgrading to the M1s
The faster development times lead to the break-even timeline occurring in three months and potential savings of 36% in engineering costs per team.
Was the build time performance better? Yes!
Was the performance improvement worth the investment? Yes!
And so the question moved from if to how.
Upgrading Hardware Across a Global Workforce
The upgrade took place in a few different steps. First, Spotify needed to add support for the new machines to its development infrastructure. They first set up a work stream dedicated to assist their developers while in the process of reaching full support. Next, teams across the organization updated their dependencies and relevant tooling if necessary.
Spotify recommended an expedited, out-of-the-normal cycle machine upgrade for client developers due to the high build performance, and this is how this all started. The group was then split into two categories: new (joiners) and current employees. The new group received the new hardware right from the start, and staff members were prioritized based on their current hardware specifications. The more factors their hardware had that negatively impacted the developer experience (ie, older models and lower RAM), the higher they were in the priority allocation line.
Spotify’s distributed-first worker model allows them the opportunity to have workers all around the world but it definitely presented some additional challenges when it came to the upgrades. Spotify has a “commitment to reduce our carbon footprint,” so in addition to arranging deliveries, they also collected the old hardware to ensure proper recycling.
Overall the upgrade involved shipping five different SKUs, facing various supply chain constraints, and forging relationships with resellers and OEM manufacturers who helped minimize delays, all in the pursuit of shipping the new hardware to hundreds of Spotifiers in 11 countries. This process was done in close collaboration with Tech Procurement and with support from the client developer workforce.
Fast Forward Six Months — Developer Feedback
The program so far is a success. 100 client developers were surveyed in three key areas to evaluate the new hardware.
Direct feedback on the devices:
The results are overall positive. Spotify says, “Creating a positive developer experience remains our top priority and the feedback we received from our survey shows that we are on the right track towards achieving our developer satisfaction goals,” the engineers write.
The supply chain issues didn’t make this process any easier but offering the client workforce transparency with all ETA and delivery information changes was met with patience and understanding.
In June, Apple introduced the M2 processor for MacBook Air, MacBook Pro and iPad, a successor for the M1 that would presumably bring further performance gains.