I reckon I could implement 90% of the end-user functional features of Twitter in a weekend. The remaining 10% of the features would take at least another year, and the non-functionals (performance, reliability, observability, scalability, etc) would take me a lifetime. But that second sentence turns Twitter from a useful little tool into a valuable product.
Precisely. Most of the developers, including seasoned ones look at an application and say I can build it over a weekend. Yes you can. For your own use. For it to become a real product which is stable and scalable, takes much more time and effort.
I think you mostly describe the problem with modern web development. There are frameworks and tools that makes implementing Twitter in a weekend possible. What we need is to make the non-functionals (performance, reliability, observability, scalability, etc) part 10-100x easier to scale.
You’re right, I didn’t even think about these! I still wouldn’t include them in end-user facing features, but try are certainly necessary to be a valuable product at Twitter-scale.
> I reckon I could implement 90% of the end-user functional features of Twitter in a weekend.
Building a Twitter clone is an exercise that's frequently used in system design interviews. It's a popular exercise because it's a trivial system to implement to meet client-driven requirements, but the feature set becomes progressively more complex when scale, performance, and business requirements are thrown into the mix.
I think someone complained about twitter search to elon musk when he took it over saying how he could fix it easily. From memory, he left pretty quickly and said ihe was unable to fix it
The top comment is funny in retrospect. "He already removed the login prompt which was a huge annoyance as a read only user of twitter." Twitter is now significantly more unusable as a read-only user, as you can't see beyond the first tweet in a thread.