|
I often see these kind of comments and find them extremely myopic.
Sure you can create a twitter clone all by yourself, but good luck scaling it to ~150k tweets per second writes[1]. All the while ensuring they're fanned out to all the respective followers some of whose tweets may need to be fanned out to tens of millions of users in a matter of seconds. You'll need 30 engineers just to build and maintain the datastores, caching mechanisms, and service deployment infrastructure. You then have the actual services, real time streaming platforms, streaming applications, batch infra (hadoop), analytics pipelines, notifications, security, anti-spam, recommendation/machine learning pipelines, ads infrastructure etc to name a few.
Can't find it now, but there should be a circa 2011 architecture of twitter in one of the blogs somewhere. I recommend you have a look at it. If you're comparing it with WhatsApp, note that WhatsApp messages are mostly 1->1 and it's easier to shard the servers by recipient. Also, not having to bother persisting all the messages forever simplifies the system by a lot. [1] https://blog.twitter.com/engineering/en_us/a/2013/new-tweets... |
Twitter validated it's own employee count with an absurd overhead.
It has concerns of scale, performance and user experience. So does GitHub, Shopify, Pandora, Spotify, Snapchat, LinkedIn, MailChimp, WordPress.com, etc, and yet, manage will much less resources and overhead. Oh yea, and fucking Netflix - which - as far as I can tell - has much more and difficult problems to solve at a much faster pace. They employ 4,700.
As of this comment, Twitter employs 3,583 people.
What they needed to do was hire 100 talented people, allow third-party clients, try and occasionally acknowledge the developers who implement their platform, and stopped with the asinine "we're trying so hard guys" blog posts. We get it. You're having a hard time and you want everyone off of your grass. That's fine, but don't come asking for sugar at my house 'cause you ain't Beyonce.