DHH · 2025-07-12 · source ↗ · whole document (12)
Scaling
`1:15:52`
He's just a brilliant human. And Shopify, shopify.com/lex has been supporting this podcast for the longest time. I don't think actually Tobi knows that they sponsor this podcast. I mean this is a big company, right? — It's a huge company. I think just under 10,000 employees, market cap of 120 billion, GMV of a quarter of a trillion every quarter. — And he's involved with the details though. — He is, very much so. Funny story about Tobi. Tobi was on the Rails core team back in the mid 2000s. Tobi himself wrote Active Merchant, which is one of the frameworks for creating shops. He wrote the Liquid templating language that Shopify still uses to this day. He has a huge list of contributions to the Rails ecosystem, and he's the CEO of the company. Yeah, I think it's just... It's very inspiring to me because it's such at the opposite end of what I like to do. I like to chisel code with my own hands most of the day.
`1:16:53`
He runs a company of almost 10,000 people that is literally like world commerce depends on it. A level of criticality I can't even begin to understand. And yet we can see eye to eye on so many of these fundamental questions in computer science and program development. That is a dynamic range to be able to encompass Rails being a great tool for the one developer who's just starting out with an idea who don't even fully know everything. Who is right at the level where PHP would've been a good fit in those late '90s because yeah, I could probably upload something to an FTP server, and so on. Rails does have more complexity than that, but it also has so much longer runway. The runway goes all the way to goddamn Shopify. That is about the most convincing argument I can make for sort of dynamic range that we can do a lot of it. And even having said that, Shopify is the outlier of course. I don't think about Shopify
`1:17:53`
as the primary target when I write Rails. I think of the single developer. Actually, I do think about Shopify. But I don't think about Shopify now. I think of Shopify when Tobi was writing Snow Devil, which was the first e-commerce store to sell snowboards that he created, that was the pre- Shopify Shopify. He created all by himself. And that was possible because Ruby on Rails isn't just about beautiful code. It's just as much about productivity. It's just as much about the impact that an individual programmer is able to have. That they can build system where they can keep the whole thing in their head and be able to move it forward such that you can go from one developer sitting and working on something and that something is Shopify and it turns into what it is today. When we talk about programming languages and we compare 'em, we often compare 'em at a very late stage. Like what is the better programming language for let's say Twitter in 2009 when it's already a huge success. Twitter was started on Ruby on Rails. They then hit some scaling problems. It was a big debacle at the time.
`1:18:55`
They end up then I think writing it in some other language, which by the way I think is the best advertisement ever for Ruby on Rails, because nothing fucking happened for 10 years after they switched over, right? Essentially zero innovation. Some of that was because they were doing a long conversion, and all of the early success in part came because they had the agility quickly change and adopt and so forth. That's what startups needs. That's what Shopify needed. That's what Twitter needed. That's what everyone needs. And that's the number one priority for Ruby on Rails. To make sure that we don't lose that. Because what happens so often when development tools and program language driven by huge companies is that they mirror their org chart. React and everything else needed to use that is in some ways a reflection of how Meta builds Facebook. 'Cause of course it is. Because of course it's an destruction of that. I'm not saying React isn't a great tool and that can't be used by smaller teams. Of course it can. But it's born in a very different context
`1:19:58`
than something like Ruby on Rails. — Let me say this a small aside because I think we might return to Shopify and celebrate it often. Just a sort of personal note. This particular podcast has way more sponsors and sponsors that want to be sponsors than I could possibly ever have. And it's really, really important for me to not give a shit, and to be able to celebrate people. Like I celebrate people. I celebrate companies. And I don't care that they're sponsoring. I really don't care. I just wanna make that very explicit 'cause we're gonna continue saying positive things about Shopify. I don't care. Stop sponsoring. It doesn't really matter to me. But yeah, I just wanna make that explicit. So, but to linger on the scaling thing with the Twitter and the Shopify, can you just explain to me what Shopify is doing with the YJIT? What did they have to try to do to scale this thing? Because that's kind of an incredible story, right?