4 ms·
You're making the mistake of thinking that the software that Twitter builds today should be the same as the software they built early on as a startup company.
by kelseydh 12y ago
You're making the mistake of thinking that the software that Twitter builds today should be the same as the software they built early on as a startup company. You can't make those comparisons because as company during those times Twitter was facing completely different realities. What were those realities early on? Twitter had:
1. Small team, small budget, smaller set of technical skills.
2. The need to do a lot with less.
For these needs, I would argue that Rails was the perfect tool for Twitter early on. It likely gave them a competitive advantage in their development.
However as with all fast growing prodcts, nearly every app experiences a new set of challenges every time its traffic scales up by an order of magnitude. Twitter being an extreme example of among the most difficult-to-scale apps you can imagine (data is rapidly being created and read -- by its nature its inherently hard to cache).
Their original app was built by relatively inexperienced developers hacking together an MVP. By the time they reached scale the had a roster of senior developers capable of rebuilding the system way more professionally than they ever could have in the early days. Rebuilding the core functionality was trivial, and this time, they could build it from the ground up to support 5000+ tweets a second.