Episode 67: Elm at a Billion Dollar Company with Aaron White

This is good:

  • explains how Elm works so well in large apps
    • reliability
    • easy refactoring
    • easy for people to learn
  • stability problems typical in JS programs
  • making technical bets
  • why Scala was a mistake
  • importance of web components
  • importance of code generation
  • Aaron likes GraphQL

Some quotes:

… whenever I start a company, I try to make a few strong technical bets for two reasons. We’re talking cutting edge. One thing that if you’re starting companies, whatever tech stack you pick now is going to be the tech stack you’re mired in for the next 10 years if you’re successful. It is really hard to rewrite and evolve a platform once you’ve got customers on it. You had better pick things that are going to serve you well. Often that means choosing things at the border of cutting edge because if you’re not choosing cutting edge now, then you’re going to be real behind the times in a decade from now. That’s painful. … The second one is, and I can’t understate this enough, the smartest people want to work with the best technology. If you’re not making a few aggressive technical bets early in your company’s lifecycle, you actually are missing out on a very strong recruiting angle because you will find folks who are keeping up with the cutting edge, who are attracted to those kind of opportunities …

If I could go back in time and tell my former self, look for this word web components and when you see it, jump on it like your life depends on it, I would

You cannot break our Elm app. It’s rock solid. It’s bonkers how good it is. No one ever believes us. It’s true. The rumors are true.

And I can say with a straight face, any web component, any component you see on the web that we ever want to use, we can drop it in. You want to embed a React app inside of our app? No problem. You want to embed our app in React? No problem. All of it is on the table. I have no reservations.

Anybody who’s using Elm needs to be publishing more.