Backstage Blog

RSS logo

Did I Break You? Reverse Dependency Verification

May 25th, 2021 by Julio Zynger

Let's take a look at techniques we can use to confidently release updates to an internal library that's integrated into hundreds of projects across the company — even if they're API-breaking changes.

Read more…

High-Tier Content in the SoundCloud API

May 6th, 2021 by Dasha Kobzeva and Rahul Rumalla

You can now retrieve metadata for our full SoundCloud catalog through our API by providing the new access filter in your request.

Read more…

The Journey of Corpus

April 29th, 2021 by Ana Pereira

How we established a team with a clear focus on data governance (and exactly what that means), allowing us to leverage the vast data available to SoundCloud — as the world’s largest open audio platform — to become a more data-driven company.

Read more…

How to Successfully Hand Over Systems

April 20th, 2021 by Aleksandra Gavrilovska

In a product company, changes are inevitable so as to best support the strategy and the vision. Often during such a change, new teams are formed and other ones are restructured. While there are many challenges to be solved during a big change, there’s one in particular that’s often overlooked: system ownership. Having experienced not-so-successful handovers, I was inspired to create a guideline that will help other teams do handovers differently.

Read more…

SoundCloud’s New API Track Object

March 16th, 2021 by Dasha Kobzeva

As a part of our efforts to improve API use, we’re introducing a new Track object that’s more up to date with our current data model. The following change is intended to standardize and simplify the response data. A new object will be used for all endpoints returning track-related information.

Read more…

Building a Healthy On-Call Culture

March 11th, 2021 by Christine Patton

In this post, we share some of the best practices we apply when SoundCloud engineers take on out-of-hours support duties.

Read more…

Dependency Inversion as a Driver to Scale Mobile Development

February 24th, 2021 by Firat Karatas

As our codebase scales, the need for cleaner architecture becomes more apparent. The dependency inversion principle (DIP) is one tool that helps us build cleaner relationships among our software modules. In this post, DIP is presented using atomic modules and is later applied to frameworks.

Read more…

Tests Under the Magnifying Lens

February 2nd, 2021 by Julio Zynger

We take software testing very seriously at SoundCloud. As we scale our codebases and vary the testing harness, we've also faced some challenges with maintainability. Take a look at this post to learn about some of the tooling we've built to help us manage the execution of and derive insights from the dozens of thousands of tests every day.

Read more…

Leveraging a Manager Weekly Newsletter for Team Communication

November 25th, 2020 by Esteban Torres

Sometimes keeping your team up to date both weekly and candidly, without adding extra meetings and friction to your workday, is difficult. If only there were a newsletter they could subscribe to to keep updated…

Read more…

Testing SQL for BigQuery

October 16th, 2020 by Barbara Scherlein

“To me, legacy code is simply code without tests.” — Michael Feathers

If untested code is legacy code, why aren’t we testing data pipelines or ETLs (extract, transform, load)? In particular, data pipelines built in SQL are rarely tested. However, as software engineers, we know all our code should be tested. So in this post, I’ll describe how we started testing SQL data pipelines at SoundCloud.

Read more…