SoundCloud for Developers

Discover, connect and build

We use cookies for various purposes including analytics and personalized marketing. By continuing to use the service, you agree to our use of cookies as described in the Cookie Policy.

Backstage Blog RSS

You're browsing posts of the category Engineering

  • August 30th, 2019 Android Gradle Productivity Engineering Mobile Gradle Remote Build Cache Misses By Nelson Osacky

    Until recently, one of the top technical risks facing SoundCloud’s Android team was increasing build times. Our engineering leadership was well aware of the problem, and it was highlighted in our company’s quarterly goals and objectives as modularization. Faster build times means more productive developers. More productive developers are happier and can iterate on products more quickly.

    Modularization is key to decreasing build times, but avoiding work is another important part of the puzzle, and build caching is one way to avoid that work. Gradle, our tool for building Android, has a local file system cache that reuses outputs of previously performed tasks. We have been using the [Gradle remote build cache][] in order to save our developers’ time. It helps us avoid redoing work that other teammates have already done or switching to old branches. However, to get the full benefits of caching, you have to go beyond simply setting it up.

    Read more...

  • April 3rd, 2019 Android Mobile Release Testing Engineering Release Quality and Mobile Trains By Julio Zynger

    Once every two weeks, we prepare new versions of our mobile apps to be published to the app stores. Being confident about releasing software at that scale — with as many features and code contributions as we have and while targeting a wide range of devices like we do at SoundCloud — is no easy task. So, over the last few years, we have introduced many tools and practices in our release process to aid us.

    In this blog post, I’ll cover some of the techniques we use to guarantee we’re always releasing quality Android applications at SoundCloud.

    Read more...

  • March 21st, 2019 Search Performance Engineering How to Reindex One Billion Documents in One Hour at SoundCloud By Qaiser Abbasi

    In the past, the Search Team at SoundCloud had high lead times for making updates to Elasticsearch clusters, either during the implementation of a new feature or simply while fixing a bug. This was because both tasks require us to reindex our catalog from scratch, which means reindexing more than 720 million users, tracks, playlists, and albums. Altogether, this process took up to one week, though there was even one scenario where it almost took one month to roll out a bug fix.

    In this post, I would like to share the concrete Elasticsearch tweaks we made so that we can now reindex our entire catalog in one hour.

    Read more...

  • March 6th, 2019 Engineering Off-Platform Validation By Joe Kearney

    Last month we launched SoundCloud Premier Distribution, which allows creators to distribute their music from SoundCloud to other streaming platforms and stores. For many of our users, this will be their first experience with the conventions and requirements of the music industry supply chain. Due to strict requirements regarding metadata and media, the barriers to entry to this world are very different than those to a creator uploading to SoundCloud.

    The aim of SoundCloud Premier Distribution is to make the path from SoundCloud upload to off-platform plays as frictionless as possible. Here we’ll look at how a system of automatic and manual validations allows users to get fast feedback as they prepare a release.

    Read more...

  • February 15th, 2019 Engineering Engineering Culture Engineering Management Radical Candor: An Experience Report By Will Ellis

    Although it can be easy to know if you’ve messed up badly as a manager, it’s not always as easy to know if you’re doing a good job. In particular, the power dynamics at play can make it hard for people on your team to feel confident letting you know what’s working well and what’s working not so well. In this article, I’m going to talk about an approach I started using in the last few years that seems to strike the best balance of getting the input managers need while still promoting a healthy culture of direct feedback.

    Read more...