Back in 2016, the SoundCloud People Team collaborated with engineering management in an effort to bring more junior engineers into the company. The result was DeveloperBridge, a paid junior engineering program that ran for 12 months and was based out of our Berlin headquarters.
Trainees gained hands-on experience under the guidance of our engineers, and by working on a variety of assignments in selected teams, they became familiar with different types of engineering tasks and technologies. This, in turn, helped them develop a feel for the areas they enjoyed working in the most. The overall aim of the program was to help the participants develop and then hire them afterward into full-time roles at SoundCloud, while improving diversity in Engineering at the same time.
Now with their traineeship year coming to a close, we’ve asked the participants to reflect on the experience, what they learned, how they feel about their accomplishments, and where they see themselves headed next in their careers as software engineers.
The DeveloperBridge program exposed me to different teams so I could both improve my programming skills and learn more about how SoundCloud enables users to share and discover music. I learned new programming languages and developed confidence in my ability to pick up more.
Over the course of the year, I worked on web development and data processing projects. I created features for and improved the UX of an internal web app using React, Typescript, and JavaScript, and I made a web service using Ruby, JavaScript, Mustache, and regular expressions. I also created ETL (Extract, Transform, Load) processes using different methods to determine which was the most efficient, and I used Spark and SQL together with the Tableau analytics platform to enable the flexible display of data.
During the program, I also learned new approaches to tackling problems. For example, it is good to make small iterative changes to code, because if you make too many changes at once, errors can become blockers. Through collaboration, we shared ideas and approaches, leading to a more maintainable and consistent codebase. I also really like the hardworking yet relaxed office atmosphere — especially the office dogs!
I now have a feel for what programming is really about: It is abstract and creative, and it requires a lot of thought to design a system well. This appeals to me, so I will continue to pursue it as a career. In particular, I’d like to continue with frontend or full-stack web development roles — I like delivering something tangible that people can use and appreciate, with clear and consistent designs.
Suzie has accepted a full-time position on the SoundCloud Payments Team.
Find Suzie on the web here.
Some things about joining SoundCloud for the DeveloperBridge program met my expectations (ping pong tables! bean bags!), but many didn’t. I didn’t anticipate how much work goes into doing seemingly simple things. I had expected something more structured, but the refreshing reality was that I had the opportunity to pursue what I was interested in and motivated by, and I was allowed to develop at my own pace, which suits my working style completely.
At first, Scala was a challenge. But the support I got and the freedom I was afforded led me to be surprised on a daily basis about how much I can understand.
The people I worked with had years of experience, and they were well-versed in being productive in technology. Observing their behaviors and attitudes gave me insight into what it takes to work at a high level — something that is difficult to teach. I also found I learned most from those with more diverse backgrounds — who could sympathize with being the “odd one out” on the team — as opposed to the people who were the best technical coders. If the company is to continue developing junior talent, fostering diversity must be a key aspect.
Extensive experience with the React/Redux/Typescript/Webpack stack has put me in the position where I’m able to advise other people on these technologies, allowing me to, in some way, pay forward all the help I’ve had from other people along the way. I now consider myself a professional software engineer, which is something I would not have believed a year ago. I’d love to continue developing my skills and eventually use my experience to teach others who want to take the same path I did.
Mike has accepted a full-time position on the SoundCloud Core Clients Team.
Find Mike on the web here.
A few people I knew who worked at SoundCloud told me I would be working with some of the kindest and smartest people they knew — and they were right. I was super excited about the position, having come from a music industry background and having used SoundCloud as a music discovery tool for years.
For most of the year, I have been working on an RSS service for podcasters. This service is built in Scala and replaces an older service that was written in Clojure. I had no previous experience with Scala and had zero exposure to lisp languages. But along the way, I became competent in Scala and was able to work my way through Clojure code. Podcasting is a segment I care a lot about, and I am proud of the work I did on a useful service for podcasters that serves a lot of traffic.
As the RSS service for podcasters was essentially a new project, I was able to be involved with all aspects of building the service — from coding, to integration with CI, Docker, and Kubernetes, to alerting monitoring and scaling traffic between the old and the new service for fast feedback. As the previous service had not been touched in some time, we were also able to reconsider previous decisions around logic. I know more about podcasting, XML, aggregators, and iTunes than I thought possible.
Surprisingly, my pun game also really improved.
I want to continue to develop my skills as a backend engineer. I would love to keep working on products that enable audio creators to do their best work.
Lucy has accepted a full-time position on the SoundCloud Royalties and Reporting Team.
Find Lucy on the web here.
My “Rails Girls Summer of Code” placement was hosted by SoundCloud, and this was followed by an internship with SoundCloud, so I was already familiar with the company infrastructure and culture, and I was excited to have found an environment in which I felt comfortable and supported.
I worked on several teams and on several projects during the program. I worked on building a web app to view and compare event data stored in Hadoop, rewrote Java components in Scala, added functionality to a React frontend, and contributed to a Ruby web app. For my final project, I am contributing to a web app written in Clojure. My work includes generating folders and files, zipping everything up, and pushing it to GitHub automatically. This also reminds me of another a thing I have learned and will always still be learning: git, git, and git.
I am proud of everything I accomplished. I took the opportunity to give demos in front of the company. I got the support to share and celebrate my pride and work.
I gained confidence in what I am capable of, which helps me focus on learning, improving, and tackling new challenges, rather than wasting my energy on feeling like an imposter. I still remember the moment when I suddenly started explaining and defending my code choices rather than just silently implementing what I was told to do differently.
I’d love to shift my focus more toward backend web development — either building up the knowledge I already have, or learning something completely new, especially working for a non-profit organization or one in the field of sustainability. Long term, I want to foster my passions in a more balanced way: less coding and hacking, more coaching and healing.
After 18 months of self-led training through internships and this program, Thea has chosen to leave SoundCloud to take some time to pursue other personal and professional options.
Find Thea on the web here and here.
I saw the program as a perfect start to my career in this industry. My interests as a Computer Science major were scattered across a few areas, and I was delighted to have the opportunity to find out what fit best. Moreover, this was about to happen in a very cool Berlin startup with an international team of specialists.
For the better part of this past year, I worked on deep learning for content-based music recommendations. Deep learning is a hot topic, and I got an exciting chance to work with real data and have all the computational power I need.
The DeveloperBridge program was my first opportunity to apply an abstract concept from textbooks and research papers to real data, and the challenges I faced — surprisingly — were not only on the theoretical side. It took some long thinking about design and optimization, experimenting and testing every step and decision while laying the infrastructure of the project. It took a while before training the neural network and getting initial results, and then a different kind of challenge arose: how to debug a machine learning algorithm.
I also worked on a real-time recommendation service, thereby improving my Go skills; built Tableau dashboards for analytics purposes; wrote ETLs using Scala and Spark; and did some exploratory data analysis using Python Notebooks.
Furthermore, I learned how to be part of team meetings and participate in discussions efficiently, while at the same time keeping communication healthy, fair, and respectful. My supervisors and my mentors set an example for patience, generous teaching, and efficient collaboration, and because of that, I will definitely be a better team player in the future.
During my master’s degree, I focused on Data Science and Algorithmics, and my time at SoundCloud helped me gain the experience of a junior data scientist. Considering my interests, I will try to build myself as a Machine Learning Engineer in the coming years.
Marina has accepted a full-time position on the SoundCloud Discovery Team as a data scientist.
Find Marina on the web here.