After more than two and a half years as an architect for large company-wide initiatives at Spotify spanning 5–10+ teams, I’d like to share some tips that helped me deal with the chaos but also helped us ship on time.

Disclaimer: I’m a Staff engineer (more of a business partner…


Disclaimer: Opinions expressed are solely my own and do not express the views or opinions of my employer.

TL;DR: After building a large internal web application, I found that Phoenix LiveView’s programming model lets you build web applications in half the time and with half the number of people —…


It’s important that you think ahead, to the team you need in 6+ months — to handle the increasing complexity of initiatives in a fast growing business. I think sponsoring others (i.e., encouraging them to take on certain projects, coaching and supporting them through their fear) is an important tool…


Teams that seek consensus for even the smallest things (like cancelling a meeting) usually find themselves with someone asking “should we cancel the meeting today?” and getting crickets. No one speaks until someone with a strong opinion (or some form of authority over the team) chimes in or someone gets…


I’ve noticed many senior engineers struggle to find their place in large companies. There’s also a common fear that many ambitious engineers have that they’d work on tiny, boring pieces of massive initiatives at a large company; so they prefer to stay at small companies to “have more impact.”

For…


This post “Developing Talent in R&D” resonated with me and brought up a few thoughts/observations and suggestions.

A culture of learning has to be part of the DNA of the organization. As in, it needs to be reinforced from the top. In a bottom-up approach, you don’t have consistency in…


Nassim Taleb’s concept of “skin in the game” has had a profound impact on me. It states that risk should be symmetric: as in, you cannot subject others to risk that you do not take on yourself (i.e., you must eat the food that you cook).

From observations over the…


If you’re a new grad or junior dev, I don’t think big companies are the most helpful first gig — especially if you end up on a feature team. At the end of your time there, you will likely find yourself unable to build anything yourself without the company’s stack…


I was reading through the Finch library’s source code to see if it had some rate limiting functionality I wanted. As I was trying to understand how the request execution worked, I came across some elegant use of lists + IOdata to memory-efficiently accumulate the streamed http response. …


If you want to support a custom url (e.g., Namecheap) for your Gigalixir-hosted app, there a few steps to take that worked for me:

On the Gigalixir side:

  • Go to your Gigalixir dashboard (console.gigalixir.com)
  • Go to the Domains tab
  • Add a domain, one for your url like foo.com

Joel Kemp

Staff Software Engineer @Spotify.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store