Live data from Hacker News

Why WhatsApp Only Needs 50 Engineers for Its 900M Users

wired.com

111–120 of 255 posts

Re: Why WhatsApp Only Needs 50 Engineers for Its 900M Users

#111
post #46
post #17

> Why WhatsApp Only Needs 50 Engineers for Its 900M Users Answer: because sending short messages from A to B is basically a solved problem. There is even a programming language (Erlang) that was made with this application in mind. The prototypical "Hello World" example for Erlang is a messaging application.

Loads of recognition for erlang, but not a single word about ejabberd in the article...

Talking about Erlang has the cred of an esoteric language. And you can hype up your company for using it, the allure of different languages seems to be in fashion right now (the article goes on tangents about Facebook/Haskell, Mozilla/Rust and Google/Go).

Talking about ejabberd is admitting a core piece of the product is standing on the solders of giants. Something startups are often loathe to do.

Re: Why WhatsApp Only Needs 50 Engineers for Its 900M Users

#112
post #105

There are more than 50 engineers working to support WhatsApp. A complete count should include all of the work that was out-sourced, such as engineers at AWS (or whomever is supplying the computing), the engineers for Erlang, etc. If the government builds a bridge by using a construction company, no one says the government is capable of building a bridge with zero engineers. The app is still a remarkable achievement.…

> If the government builds a bridge by using a construction company, no one says the government is capable of building a bridge with zero engineers.

However I doubt people pay much attention to the companies quarrying rock to make concrete, or the engineers designing the axles of the trucks. Any large project is a team effort, but to count tangentially related projects as partitions of another ignores the achievements of those projects (i.e. AWS and Erlang are massive achievements that have, and will, exist regardless of WhatsApp).

So, WhatsApp has 50 engineers modulo any dedicated support staff.

Re: Why WhatsApp Only Needs 50 Engineers for Its 900M Users

#114
post #70

Earlier quoted context omitted.

I think that indeed the important thing here. The article try to focus a bit too much on some intrinsic qualities of the language as if it was the silver bullet of scalability while the real lesson is that they used the right tool for the job. Not so long ago, maintaining hardware that could support 900M user would have required an IBM scale company. A single developer today can develop, deploy and maintain a medium…

Indeed. It's amazing :) . All the infrastructure-as-a-service stuff REALLY cuts down the overhead. I'm building a product that only a few years ago would have required a VERY significant investment, but now is basically stacking and connecting lego blocks of services :) - sales-as-a-service isn't mature yet, but if we had it, it would even sell itself :) . Ok, it's probably a pain if one of the black boxes fails, and…

> Ok, it's probably a pain if one of the black boxes fails, and I do know enough about the underlying architecture behind the services I'm using - I could probably replicate (badly) most if not all of them given time and money, but why would I?

I don't think this is a possibility whose importance can be understated. In most of my apps running on IaaS/PaaS offerings like heroku, key pieces of the infrastructure tend to fail for short times (typically very inconvenient times) fairly frequently, on the order of once or twice a week. The relative cost of this is highly variable and business-dependent, but at best its mildly inconvenient and at worst can be crippling. Its definitely something that needs to be accounted for. That said, I've also been lead on apps that used the same pieces of server infrastructure that had far better uptime when I handle ops myself instead of delegating that to another provider. (Not to pick on the providers—they have a very difficult job to do in a cost-effective way, and I'm quite certain that they do it better at that scale than I would.)

The choice of Erlang for WhatsApp was strategic if for no other reason that that it allows them to dispense with some of those choices. Many of the typical use-cases of Redis, for example, are easily supported by OTP.

Re: Why WhatsApp Only Needs 50 Engineers for Its 900M Users

#115
post #47
post #17

> Why WhatsApp Only Needs 50 Engineers for Its 900M Users Answer: because sending short messages from A to B is basically a solved problem. There is even a programming language (Erlang) that was made with this application in mind. The prototypical "Hello World" example for Erlang is a messaging application.

I'm sure you could do it in an afternoon, right? Just like anyone on HN can make a "basic CRUD app" like Facebook in a weekend. I really dislike the arrogant attitude behind these types of comments. Have you worked at WhatsApp? Do you have any idea what they spend their days doing, what their systems look like, what their requirements are like? WhatsApp have close to a billion users, 50 engineers and they manage to p…

Well, frankly, there are plenty of open source chat server implementations (usually following XMPP standards) which easily scale to 10's of thousands, sometimes 100's of thousands of users without any modifications (OpenFire, to name one). It wouldn't be that difficult for a group/team of people to scale that into a cluster of servers and support several hundred million users at once -- XMPP packets are small and this problem has been solved many times.

From a technical standpoint, WhatsApp, the product, and the scale they operate at are nothing new.

Re: Why WhatsApp Only Needs 50 Engineers for Its 900M Users

#116
post #47

Earlier quoted context omitted.

I'm sure you could do it in an afternoon, right? Just like anyone on HN can make a "basic CRUD app" like Facebook in a weekend. I really dislike the arrogant attitude behind these types of comments. Have you worked at WhatsApp? Do you have any idea what they spend their days doing, what their systems look like, what their requirements are like? WhatsApp have close to a billion users, 50 engineers and they manage to p…

Hang on, I _could_ write a (small) twitter or (early) fb clone in a weekend. Easily. That would probably scale to 10k tweets or feed entries. What I in _no_ way could do is rewrite fb or twitter at the scale these systems operate today with a billion users and even more posts and data points. I don't agree with the sentiment of the previous poster, but fb & twitter were initially basic CRUD apps.

I have to disagree. They were messaging brokers masquerading as or mistaken for CRUD apps, which directly led to many of their early scaling issues.

Re: Why WhatsApp Only Needs 50 Engineers for Its 900M Users

#117
post #17

> Why WhatsApp Only Needs 50 Engineers for Its 900M Users Answer: because sending short messages from A to B is basically a solved problem. There is even a programming language (Erlang) that was made with this application in mind. The prototypical "Hello World" example for Erlang is a messaging application.

Yep. And of course, Erlang is really only a functional language in the small , the parts that don't matter so much. In the large , arguably the scale that matters, it's an actor language, with highly encapsulated entities exchanging messages. So essentially what Alan Kay had in mind when he coined the term "object oriented". http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html

Upvoted for correctly invoking Alan Kay's vision of object oriented. :)

Re: Why WhatsApp Only Needs 50 Engineers for Its 900M Users

#119
post #50

Comments in this thread are quite cringeworthy. People calling WhatsApp a simple application seem to fail to understand the cost of simplicity under such scale.

I think the point is more that WhatsApp continues to do one thing and to do it well. Conceptually this is simple -- although yes the scale adds plenty of complexity. Other social type services/apps/whatever try to become all things to all people they therefore become complex conceptually as well as due to scale.

Well, they do more than just "one thing" like text-messaging. They support voice chat, location sharing, group messaging, games (I read that the Threes game is a WhatsApp game in Eastern Asia) -- lots of features.

Re: Why WhatsApp Only Needs 50 Engineers for Its 900M Users

#120
post #23

WhatsApp seems to be a great example of designing your system with the best tools available. To go from nothing to pretty much being the de-facto modern replacement for SMS in a couple of years is an amazing achievement. I really need to sit down and spend some time properly learning a functional language. I can hack my way through Haskell code but I do it in a very non-Haskell way. I really need to change that. My p…

For Erlang, there is the book by Joe Armstrong: https://pragprog.com/book/jaerlang2/programming-erlang The problem with learning functional languages is finding pragmatic learning materials. I would claim F# is currently the most approachable functional language (just my opinion but I have at least toyed with the other mainstream offerings). My background is also in C++. The F# materials listed helped me personally t…

I'll also throw Elixir out there for being a much more approachable way into functional languages(and it runs on the Erlang VM to boot).
Post reply on HN