Starting as an intern

Exactly 3 years ago, on the 13th of June 2022, I started my internship at Spotify. At the time I was based in Stockholm, on my way to finishing up a master’s degree in machine learning at KTH (hah!).

Spotify had been my dream company for a while before that. It was a tech product I genuinely loved using as a consumer, a huge success story closely affilliated with my own university, and it was chock full of cool engineering and ML feats obvious to any tech-literate user of the app.

I was immediately enthralled by the types of problems we were dealing with. My mentor had scoped out a semi-autonomous workstream I was to drive for the summer, and I was given full initiative and support in thinking about various ways of tackling it.

The problem itself wasn’t the most complicated, at face value. It was related to providing in-service metadata decoration to a list of entities that were to be returned by an API. Essentially, the problem could be rephrased as initializing a hashmap with a set of data points.

However, the aspect of the work I was completely unfamiliar with prior to Spotify, was its needed scale. The amount of entities I had to support was the entire track and artist catalogue, there was an upper bound on the response times of the service, and the API needed to handle a large projected RPS.

Without going further into the technical details (frankly, I’ve forgotten most of it), this level of scale forces you to rethink your approach to solving most problems. Even the “easy” ones. It’s something you don’t really get to work with at most companies, and it makes the problems you deal with so much more interesting.

Thus, when I was extended an offer for full time employment, I gave my impending master’s thesis no second thoughts, and accepted it.

The past 3 years

Since then, I have gotten to solve, or contribute to the solution of, many more problems. While some work ends up just being work, I can wholeheartedly say that I’ve enjoyed my time.

During my tenure, my squad and I have maintained the Spotify Kids app, developed and launched managed accounts from scratch, (mostly) survived 2 RIF’s, and contributed to countless other initiatives and projects across the company.

I’ve learnt so much in that time. I’ve gotten to design production systems, collaborate cross-functionally and organizationally, learn data engineering, experience software development at scale, and work with some truly talented devs.

So much of my development is directly attributable to the leadership and guidance of the more experienced people on my squad. That environment is hard to recreate, and valuable to stumble into.

So why am I leaving?

For a while now, the urge to strike out on my own has been slowly gaining steam in my subconscious.

While I have obviously developed a ton at Spotify, the rate of development has slowed down. I think this is natural at a large company, it’s a job after all. I’m not being paid to learn. Sure continuous development is prioritized, but ultimately, a lot of the company is geared towards making development as productive, homogenous, and specialized as possible.

When you’re a backend engineer, shockingly, you’re really mostly a backend engineer. That’s great in terms of output: you get to specialize in one or a handful of domains, and spend little or no time troubleshooting CI/CD, worrying about business decisions (there are dedicated functions and departments for that!), or reflecting over what your users actually want. You get to become incredibly good at the one thing you do. While that is rewarding, most of life follows the pareto principle, and I’d also like to be well rounded.

Of course, you’re not just an engineer. It’s expected, and appreciated, that you do keep functions outside of your domain in mind. But your responsibility is mostly confined to what’s directly in your job description – software engineering.

While I have little experience with the startup world, my guess is that this’ll be completely different there.

You are expected to do everything. Not even. Nobody is expecting you to do anything. You are required to do everything, or nothing at all happens.

I’m excited by that prospect. Full ownership of my decisions, successes, and even my failures.

Timing

Another aspect is that the time is right. Both for me personally, and within the wider context of the tech industry.

I have enough experience that I know I can build most things I set my mind on.

I have enough squirreled away that I know I’ll be fine for at least a little while.

I have no dependents. Eventually I want to start a family – I suspect this decision would be a lot harder to make if I’d already begun.

AI will soon be able to build my entire business for me (paraphrasing Dario Amodei/Sam Altman/…).

What’s next

Me and my co-founder and long-time friend Louis have decided to both quit our jobs on the last day of June. We don’t really have an idea yet, though we’ve been working on side-projects evenings and weekends for a while now.

We’ve decided that no matter what, we’re going to give this a year. Potentially, a year of savings being set on fire, frustration and anger building, and the harsh reality that the world owes us nothing sinking in.

But also, maybe a year from now, we’ll have built something genuinely useful for someone else, and I’ll actually own my own successes.

While I don’t want to ignore Kahnemann’s advise and pay the base rate the proper respect it deserves, I’m cautiously optimistic.

What can you do?

If you’ve read this far, first of all, thank you! Second, add me on linkedin. You’re only worth as much as your reach nowadays, and I’ll need all the help I can get :).