Twitter is not a technological marvel. It's something Oprah promoted, and Donald Trump bitches on.
And now, it's an API with a (social) class-based access, and without irony, also promotes itself as a leader in conversation and exchange.
Twitter is not a technological marvel. It's something Oprah promoted, and Donald Trump bitches on.
And now, it's an API with a (social) class-based access, and without irony, also promotes itself as a leader in conversation and exchange.
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...
Worth noting WhatsApp was written in Erlang.
Relevant article: https://www.wired.com/2015/09/whatsapp-serves-900-million-us...
So it seems choosing the right technology can have a massive impact on a company's trajectory and chance of success.
I do wonder what the thousands of engineers are doing. I imagine there's a lot of fire-fighting, but is it only that?
It could be the case that twitter is constantly falling over, still.
I've read bits and pieces, heard rumours and it'd just be nice to see what's going on. Unless I see something like this I'm just gonna think "BOY that's a lot of developers" whenever I remember Twitter's headcount ...
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.
With Twitter everyone's data is interconnected. With Netflix, you could theoretically have each server just be completed isolated from each other (modulo account management).
Netflix has operational problems to solve in terms of bandwidth, though. There's definitely major difficulties there, but they're of a different variety to the high coupling Twitter deals with
(That doesn't mean that Twitter isn't too big or grew too early, but it does mean that none of those nowadays qualify as "see how you can run a big product with 30 people")
No one ever held Paypal and eBay responsible for what they did because it was so esoteric. It seems that there is a government investigation that is going to lead to a nice graph of botnets used for social manipulation which is cool, but I doubt we'll ever get a proper accounting of the really inventive fraud that dominates what twitter is.