Live data from Hacker News

Why WhatsApp Only Needs 50 Engineers for Its 900M Users

wired.com

131–140 of 255 posts

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

#131
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.

By that logic CouchDB would have been a big success and wouldn't have suffered from scalability problems

Also make sure to support offline devices being sent text, audio, video and image files (and the client application on several platforms)

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

#132
Question for HN: what is your estimate on the minimum man/womanpower needed to scale a product/service up to 10K users? 1M? 900M? For instance, what fraction of Facebook's work is related to making things scale? How much effort does a smaller company like Quora put into scaling for users? I imagine PaaS/IaaS services like Google App Engine and Amazon Elastic Beanstalk help a lot but I'm curious as to what you think.

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

#133
On a side note, there is a Chinese Internet messaging software called QQ developed by Tencent (which later developed WeChat). it had hundreds of millions of users about 8 years ago, and it runs on multiple platforms, including Nokia, Android, etc.

So the point is that it is not surprising for a similar app to be developed 5 years later by a small group of people.

https://en.wikipedia.org/wiki/Tencent_QQ

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

#134
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.

It wasn't a great article from wired. I feel the language choice is probably the least contributing factor in terms of what's interesting at that scale. Yes, it's an eclectic choice, but I find systems/component architecture much more interesting than language and program architecture in scaling considerations. A bit more info here: http://highscalability.com/blog/2014/3/31/how-whatsapp-grew-... With regard to fun ch…

I don't know I found the article decent _for_ being on wired. Didn't expect BEAM VM internals there...

> I feel the language choice is probably the least contributing factor in terms of what's interesting at that scale.

However, as they say "right from the horses' mouths", WhatsApp engineers have said that Erlang and FreeBSD are critical tools for their success. One can accuse them of lying, of course, but why?

Here is an interview with Eugene Fooksman:

https://pdincau.wordpress.com/2013/03/27/an-interview-with-e....

---

...and the consensus in our team is that it is largely because of Erlang. We’re managing to serve huge amount of connections from single front-end server...

---

There is the "That A Billion With A 'B'" talk by Rick Reed at Erlang Factory (already posted somewhere) in here.

Here is another older directly from their website:

https://blog.whatsapp.com/196/1-million-is-so-2011

Clearly states Erlang and FreeBSD are important.

> These things just happen and have to be worked through no matter what system you are using.

Yeah but that is a bit too generalizing. It is like saying "well the language is Turing Complete" argument, yet it is but one tool is much better than another. Surely Twitter runs on JVM, Google doesn't use Erlang etc etc. So you can do it many other ways. And, at least in this case, they certainly picked the right tools, as we can see from their success. The number of users * amount of messages processed / # of engineers is a not a bad metric to see how good a tool is. And Erlang is a great tool here.

(Another example is when you use the smartphone to access the Internet, chances are 50% of the time that connection is set up by Erlang. It is there in the background doing its job, not crashing, setting up even an order of magnitude larger amount of data than we see from WhatsApp).

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

#135
post #125

Earlier quoted context omitted.

Pretty much every single one of your test cases has already been solved in the XMPP specification, which WhatsApp is likely using (essentially all modern chat services/servers/clients speak XMPP).

Sure. And someone's got to take the XMPP package and put it on the different platforms, test them all for correctness, etc. I'm not saying there aren't existing parts that can be used. But even if you have a plausible component, someone's got to look at the docs, maybe build a toy version, think about whether you're hitting the limits, integrate with the rest of the codebase, and so on. It's easy to see what pieces y…

Well, you sort of are making my point -- 50 engineers is plenty (maybe even too many) to cobble together a solution to a problem that already has been solved and solved again.

WhatsApp did nothing technically challenging, but they did strap a business model (err, sort of) to something many others failed to capitalize on.

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

#136

If this isn't a counter to the inane recruiting requirements of "5 years with language X" I don't know what is: We don’t bring them in specifically because the engineer knows Erlang,” Mahdavi said on Monday. “We expect the engineer to come in and spend their first week getting familiar with the language and learning to use the environment. If you hire smart people, they’ll be able to do that.”

This reminds me of how we have been hiring engineers. We sit them down for a day with a fairly simple task (build a simple web or mobile app, about three screens with a basic data model) but we make sure to give them a language or framework they are unfamiliar with. They have Google, Stack Overflow, and other employees to use as a resource. It's a great way to get to know new hires while seeing how resourceful and in…

And your employees are cool with being bugged day in and day out by potential hires? I am skeptical this could work for anything but a small shop.

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

#137
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.

In fairness, a lot of us have built systems that are just as complex, if not more. This is par for the course these days. The article seems to imply that they're doing something special, and that Erlang has something to do with it. It's no surprise to me that people are skeptical of such claims.

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

#138

Question for HN: what is your estimate on the minimum man/womanpower needed to scale a product/service up to 10K users? 1M? 900M? For instance, what fraction of Facebook's work is related to making things scale? How much effort does a smaller company like Quora put into scaling for users? I imagine PaaS/IaaS services like Google App Engine and Amazon Elastic Beanstalk help a lot but I'm curious as to what you think.

Depends on the product!

Are you making something that searches the entire internet for relevant documents based on a custom query? Or are you sending a picture to another phone that goes away in If you're talking "minimum" then theoretically it could be 1 person. It's very easy to scale static pages. Heck - you could host a static page on S3.

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

#139
Here's part of what I don't get - there are so many government organizations, state and federal, jumping over themselves to provide funding, incubation and support to IT product/app companies across the country claiming it creates jobs when, as this shows, it is entirely possible to operate at incredible scale nowadays with a mere skeleton staff. So why do so many government-run and government-funded programs fawn over such companies when their ultimate goal is job creation and these companies are designed to run with barely a couple dozen people at most?

This has nothing to do with private VC's; I completely understand why they are in the game. I'm talking about government programs or government-funded NGO programs that provide tax incentives and other funding or support to startups in the product/app space hoping it will create jobs. Maybe this isn't every state, but where I live this is the case.

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

#140
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.

Isn't the fact that they've actually done it with so few people fairly concrete evidence that it's not incredibly complex?
Post reply on HN