Backstage Blog

RSS logo

You're browsing posts of the category Engineering

DeveloperBridge: SoundCloud’s Program for Training People from Diverse Backgrounds to Become Engineers

July 17th, 2020 by Anya Voronova and Janis Bode

DeveloperBridge is a year-long, full-time, paid traineeship program where participants learn from and work with engineering teams at SoundCloud. The DeveloperBridge program was launched in 2017 with the goal of further supporting diversity and inclusion at SoundCloud and giving back to the tech community.

Read more…

Changing the Interview Process during Remote Working

June 30th, 2020 by Leela Sharma

At SoundCloud, we changed our hiring strategies to adapt to hiring remotely during COVID-19.

Read more…

Technical Interview Reform, Part 2: The Recruiting Perspective and Results

June 26th, 2020 by Anya Voronova

SoundCloud engineers and recruiters recently comprehensively rethought the backend engineering take-home challenge. This is the second in a small series of posts, and it contains the recruiting perspective and the results of the changes.

Read more…

Technical Interview Reform, Part 1: Rethinking the Backend Engineering Interview Take-Home Challenge

June 25th, 2020 by Steve Conover

SoundCloud engineers and recruiters recently comprehensively rethought the backend engineering take-home challenge. This is the first in a small series of posts about what we did and why.

Read more…

Announcing Twinagle: Twirp and Protobuf for Finagle

June 12th, 2020 by Chris Taylor, Oren Berkowitz and Steve Conover

This article announces the release of Twinagle, an open source implementation of the Twirp protocol for Scala/Finagle.

Read more…

Periskop: Exception Monitoring Service

March 16th, 2020 by Jorge Creixell

A new approach to exception monitoring, designed for high scalability...

Read more…

How (Not) to Build Datasets and Consume Data at Your Company

March 3rd, 2020 by George Roldugin

Two years ago, if an engineering team at SoundCloud needed data produced by another team, in many cases, that team would have had to start by building a dataset from the raw data. That meant there was no standard way to structure data into a dataset, there were errors in understanding and interpreting raw data, and there was no reuse of datasets across teams. Ownership of datasets was with the teams consuming data, even when the data itself was owned and best understood by someone else. By agreeing on an ownership strategy, a common shape for datasets, and standard tooling, SoundCloud was able to streamline these problems away. Now the data and datasets are provided by those who know best about their data, along with the help of tooling built by those who know best about building tools. Read on to learn what datasets look like at SoundCloud and how they are built.

Read more…

A Happy New Employee

February 7th, 2020 by Yusei Nishiyama

For a successful onboarding, you may rely on things like finding a good mentor or writing up a detailed checklist, but there’s more you can do. In this blog post, a new employee at SoundCloud illustrates a collection of engineering practices here that allowed him to get up to speed efficiently and which made the onboarding experience a positive one.

Read more…

Speeding Up Builds with Dagger Reflect

January 30th, 2020 by Nelson Osacky

A large portion of an Android app’s build time can consist of Dagger annotation processing, and most developers agree that productivity is important, so we decided to experiment to see if we could save time when compiling the SoundCloud Android app. This blog post covers how we used Dagger Reflect to save developer time with minimal changes to our codebase.

Read more…

The Power of Types for Errors

January 20th, 2020 by Danny Preussler

Limiting the number of primitives we use in our code in favor of using custom types instead is an easy win. In this way, we as developers will not only reduce the possibility of bugs by using the compiler, but we will also achieve more readable and self-documented types.

Read more…