Hacker News new | past | comments | ask | show | jobs | submit login

I mean yes it's an investment for sure but the whole YJIT team is 6 people. They are well compensated, lets say they cost 2.5 million dollars a year. That's still peanuts compared to a rewrite. Ruby is serving them well, they have tons of Ruby experts and their codebase is optimized etc, why would anyone want to ruin that?



But compare the long term costs. I think there have been countless examples of going from Ruby to Go and eliminating 80 to 90% of needed infrastructure. I can't begin to estimate their infrastructure costs, but if they are spending $1M/mo and you can eliminate 90% of that. That is not peanuts.


Their monolith is millions of lines of code, one of the biggest in the world, so I don't think some 2 year startup writing a blog "how we moved from Ruby to Go" is quite the same as what Shopify will have to do to rewrite their monolith. Add to that the cost of losing productivity since they have so many Ruby experts. This will be completely disruptive at a time where Shopify has to grow like crazy and add new features.

So I think they know what they're doing.

Also I'm somewhat skeptical of all those rewrite success stories, it seems to me like a CTO or principal engineer deciding to make the rewrite will never admit that it was a bad decision since his job depends on it. So of course he will make the case how great and beneficial the rewrite was. I bet there are many stories where the rewrite was detrimental to the business.


I can easily turn your argument exactly in the opposite direction:

Since there's always huge conservatism in relation to rewriting or making in-house frameworks then there's a confirmation bias in these stories: "whew, we dodged a bullet by not even trying thing X".

Yeah, everyone could have said that.

I've attended and participated in at least 7 successful rewrites. You don't hear about them though because people read HN and are like "I am not willing to engage with biased people so let's keep it to ourselves".

That's an aspect of these conversations that a lot of people around here don't account for: the people who get stuff done are quiet. This should be included in analyses but often isn't.

---

...And finally, millions of code in a monolith isn't that scary. Find a part that has minimal dependencies to everything else, rewrite it, put a reverse proxy in front of your service that points a particular endpoint to the new code, test for a bit, done. Rinse and repeat. The process itself is trivial, not especially creative, and mostly just laborious than anything else.


I've attended and participated in rewrites that were catastrophic. To each his own experience.

I do trust that Shopify know what they're doing, we're gonna agree to disagree here.


Sure, I have no problem agreeing to disagree. :)

I feel obliged to point out that "I trust that $BIG_COMPANY knows what they are doing" is very often in reality "There are gatekeepers inside the tech teams that are custodians of tradition". Been in plenty of companies and that's often the non-romantic truth.

I'd just end this by saying that a lot of teams don't make their calls in such a scientific and objective manner as you seem to imply. I wish that was the case but it's not what I've seen. Bad luck or me sucking at picking employers, I suppose.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: