TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Why WhatsApp Only Needs 50 Engineers for Its 900M Users

337 pointsby ghoshover 9 years ago

40 comments

chetanahujaover 9 years ago
Basically they&#x27;re a silicon valley company who&#x27;ve done everything that&#x27;s exactly the opposite of standard silicon valley advise -- bootstrapped for first few years, complete apathy or even aversion to silicon valley marketing (if you live in the valley and have no foreign connection, you probably didn&#x27;t even know what whatsapp was before 2012 or so), built for all client platforms simultaneously (including blackberry and Nokia), focus on non-US markets first, built out on leased hardware instead of public cloud, a simple pay-for-use business model selling to <i>consumers</i> (before facebook bought them), deep aversion to ads (<a href="http:&#x2F;&#x2F;blog.whatsapp.com&#x2F;245&#x2F;Why-we-dont-sell-ads?" rel="nofollow">http:&#x2F;&#x2F;blog.whatsapp.com&#x2F;245&#x2F;Why-we-dont-sell-ads?</a>) etc. The fact that their technology stack ended up being Erlang on FreeBSD is probably the least distinguishing feature about them.
评论 #10229482 未加载
评论 #10230157 未加载
评论 #10231656 未加载
评论 #10229254 未加载
评论 #10232034 未加载
sidcoolover 9 years ago
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.
评论 #10227876 未加载
评论 #10225967 未加载
评论 #10225945 未加载
评论 #10227589 未加载
评论 #10227169 未加载
评论 #10227502 未加载
ghshephardover 9 years ago
If this isn&#x27;t a counter to the inane recruiting requirements of &quot;5 years with language X&quot; I don&#x27;t know what is:<p><i>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.”</i>
评论 #10225852 未加载
评论 #10225748 未加载
chetanahujaover 9 years ago
I&#x27;m surprised that nobody mentioned why whatsapp started with Erlang in the first place. They started out with an open source xmpp package. The most popular one at the time happened to be written in Erlang (ejabberd). There was no masterplan to scale to close to a billion accounts.<p>As it happens, Erlang is an excellent platform upon which to build a message exchange service. Also, the article doesn&#x27;t mention their completely non-traditional approach to ops. Despite the conventional wisdom in the valley, they run their own servers. And squeeze an enormous amount of value from a small number of servers. Their unique ops strategy is probably as much a part of their success as simply using Erlang.<p><a href="http:&#x2F;&#x2F;www.erlang-factory.com&#x2F;static&#x2F;upload&#x2F;media&#x2F;1394350183453526efsf2014whatsappscaling.pdf" rel="nofollow">http:&#x2F;&#x2F;www.erlang-factory.com&#x2F;static&#x2F;upload&#x2F;media&#x2F;1394350183...</a>
planetjonesover 9 years ago
I don&#x27;t quite understand the correlation. If the article was about how Whatsapp achieves scale and parallelism through functional languages, then fair enough. But I&#x27;m not sure it&#x27;s fair to say they need 50 engineers, in part, because of the language choice ? Surely they need 50 engineers because their product is fairly simple and there&#x27;s no need to have more engineers than features. Maybe the point it should have made is that Whatsapp values higher quality over quantity ? That I could relate to.
评论 #10225624 未加载
评论 #10226589 未加载
评论 #10225801 未加载
评论 #10226063 未加载
smclover 9 years ago
Isn&#x27;t it more because they&#x27;re a simple IM application (albeit spread across a number of platforms)? I know they&#x27;re hugely successful and there are considerations about scaling to that sort of size, but surely the fact that their product is extremely simple has to be a huge factor?
DanielBMarkhamover 9 years ago
(Disclaimer: I teach this stuff) Good article. It&#x27;s a keeper. Touches on a lot of things I&#x27;ve been telling clients for years.<p>My takeaways:<p>- Pure functions in little composable pieces. Screw the fact you can&#x27;t find programmers. With 1&#x2F;20th the staff, it&#x27;s not important<p>- Zero to few meetings. Keep focused on one thing. No playing around with WhizzBang Platform 7.0 because all the cool kids are using it. Mind your knitting.<p>- Keep It Simple, Stupid. Engineers are our own worst enemy. Solve the most simple problem possible. Then add complexity a little bit at a time, only as a last resort. For those of you saying &quot;But messaging is solved&quot;, &quot;Erlang was written for messaging&quot;, and so forth, this is where you missed. Any complex system (with a few notable exceptions) will look very simple when solved in this manner. In fact, that&#x27;s the entire point.<p>- Running and deploying are the same thing. CI&#x2F;CD. There is no Big Red Button to push because we&#x27;re always working on the airplane engines while the plane is flying<p>Coming from a traditional OOA&#x2F;D&#x2F;P background, this mentality was extremely foreign to me. Even though I was using and talking about TDD, it was still in terms of composing and re-arranging object graphs. It wasn&#x27;t until I got into F# several years ago that the pieces started coming together. This is a very difficult conceptual leap to make, because a lot of the ways you work looks completely ass-backwards to folks who are used to doing it the other way.
评论 #10230225 未加载
USNetizenover 9 years ago
Here&#x27;s part of what I don&#x27;t get - there are so many government organizations, state and federal, jumping over themselves to provide funding, incubation and support to IT product&#x2F;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?<p>This has nothing to do with private VC&#x27;s; I completely understand why they are in the game. I&#x27;m talking about government programs or government-funded NGO programs that provide tax incentives and other funding or support to startups in the product&#x2F;app space hoping it will create jobs. Maybe this isn&#x27;t every state, but where I live this is the case.
评论 #10227695 未加载
评论 #10227797 未加载
评论 #10227617 未加载
评论 #10227678 未加载
评论 #10228774 未加载
评论 #10227662 未加载
评论 #10228054 未加载
perishabledaveover 9 years ago
For reference here is a talk they did about how they scaled WhatsApp and the problems they faced:<p><a href="http:&#x2F;&#x2F;www.infoq.com&#x2F;presentations&#x2F;whatsapp-scalability" rel="nofollow">http:&#x2F;&#x2F;www.infoq.com&#x2F;presentations&#x2F;whatsapp-scalability</a>
jamespoover 9 years ago
I got my first ever spam on whatsapp the other day from someone who had never been a contact, and there seems to be no way whatsoever to prevent it. So maybe they should hire 1 more engineer to work on spam.
评论 #10225564 未加载
评论 #10225925 未加载
评论 #10225519 未加载
评论 #10225517 未加载
评论 #10226132 未加载
ameliusover 9 years ago
&gt; Why WhatsApp Only Needs 50 Engineers for Its 900M Users<p>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 &quot;Hello World&quot; example for Erlang is a messaging application.
评论 #10225915 未加载
评论 #10225994 未加载
评论 #10225753 未加载
评论 #10226246 未加载
评论 #10225787 未加载
评论 #10225912 未加载
评论 #10226208 未加载
评论 #10225785 未加载
评论 #10227422 未加载
评论 #10226024 未加载
bendtherulesover 9 years ago
&quot;WhatsApp doesn’t talk much about its engineering work&quot; - Wrong as hell. They first talked about this in erlang conf about 3 yrs ago, in 2012. [Youtube Link]( <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=wDk6l3tPBuw" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=wDk6l3tPBuw</a> ).<p>I hate how tech blogs take a thing thats quite well known and old and spins into a &quot;did you know?&quot; post like it was just unraveled (Oh, maybe your staff just heard about it, doesnt mean no one knows shit.)
评论 #10226853 未加载
评论 #10226764 未加载
ilitiritover 9 years ago
Worth reading, especially the stuff that is linked:<p><a href="http:&#x2F;&#x2F;highscalability.com&#x2F;blog&#x2F;2014&#x2F;2&#x2F;26&#x2F;the-whatsapp-architecture-facebook-bought-for-19-billion.html" rel="nofollow">http:&#x2F;&#x2F;highscalability.com&#x2F;blog&#x2F;2014&#x2F;2&#x2F;26&#x2F;the-whatsapp-archi...</a>
评论 #10226340 未加载
BuckRogersover 9 years ago
Yup, Erlang. If I move on from Python as my main programming language of choice, it would be to Erlang. So many are enthralled by Go and I never saw it. The Google association helps for those that idolize the corporation. Others feel Java is all we need or C# is all we need. Or JS and C++ and call it done. Some want to JS all the things. Erlang is a bit niche but it&#x27;s indispensable like C, and Python is just such a great gen purpose platform. The most value is in the C&#x2F;Python&#x2F;Erlang triforce.
kozukumiover 9 years ago
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.<p>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 primary language is C++ and I am open to any recommendations for what direction to go in :)
评论 #10225725 未加载
评论 #10227374 未加载
评论 #10228555 未加载
评论 #10227106 未加载
kartanover 9 years ago
Because adding more engineers will make the development slower (<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Mythical_Man-Month" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Mythical_Man-Month</a>).
评论 #10225533 未加载
rwjover 9 years ago
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.<p>The app is still a remarkable achievement. Those engineers have done a remarkable job integrating everything (plus their own business logic on top), but they are also leveraging a great deal of work done by others.
评论 #10226912 未加载
评论 #10228209 未加载
paraditeover 9 years ago
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.<p>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.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tencent_QQ" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tencent_QQ</a>
feldover 9 years ago
They didn&#x27;t cover that they use FreeBSD and are handling 2 million tcp connections per server which is not a trivial task
评论 #10226505 未加载
codeisawesomeover 9 years ago
&quot;Code in Parallel In using Erlang, WhatsApp is part of a larger push towards programming languages that are designed for concurrency, where many processes run at the same time.&quot;<p>Concurrency is not parallelism! &#x2F;whacks author over the head with a Go manual
评论 #10227941 未加载
alkonautover 9 years ago
Language&#x2F;platform choice explains why they need 50 engineers rather than 100. The trivial scope of the application explains why it&#x27;s 50-100 and not 5000. It&#x27;s a messaging service! If they weren&#x27;t extending their application by developing new functionality then 50 even sounds like a lot (assuming they don&#x27;t run any of their own hardware).
评论 #10225938 未加载
hudellover 9 years ago
I&#x27;ll never understand why so many people prefered WhatsApp over anything that already existed previously and even worked better.
评论 #10227791 未加载
评论 #10226032 未加载
评论 #10228520 未加载
评论 #10226029 未加载
hashinover 9 years ago
This articles doesn&#x27;t look that convincing to me. I has no technical details to prove that Erlang was the major reason why WhatsApp was scalable. I think the low number of engineers has more to do with the simplicity of their product than with this particular language choice.
评论 #10225680 未加载
mcintyre1994over 9 years ago
I have to say I was expecting this to be a little older - it&#x27;s really impressive that Facebook have kept the culture and tiny headcount of that team.<p>I doubt it&#x27;s ever a good idea for a company like Facebook to do layoffs but I wonder if there are any lessons from the WhatsApp team for a company that size - their intern cohort looked way bigger than 50 and they seem to have almost 50 offices [0]. Obviously a very different product and much more complex but it&#x27;s interesting to wonder what the same product led by Jan Koum would hypothetically look like.<p>[0] <a href="http:&#x2F;&#x2F;newsroom.fb.com&#x2F;company-info&#x2F;" rel="nofollow">http:&#x2F;&#x2F;newsroom.fb.com&#x2F;company-info&#x2F;</a>
apexkidover 9 years ago
I wish there were some good online resources around Erlang. Most of the content is very theoretical and not explanatory. Its hard to find implementation of common algorithms like Sorting, graphs, link-list and other dataStructures in erlang.
评论 #10225884 未加载
评论 #10225842 未加载
评论 #10225948 未加载
评论 #10225826 未加载
KuhlMenschover 9 years ago
The language and culture of simplicity are great aspirations, all companies should look at doing this. However, not all companies are going to get such a huge benefit, as not all companies operate within a narrow problem domain. INSTAGRAM is another similar case: relatively simple solution (share photos with limitations), uses only single language PHP (at least since last I heard).<p>I mean this is partly a reflection of the teams brilliance, and the foresight. But its also that the operational cost is relatively low compared to a payroll system that needs to abide by government regulations and reporting requirements (for instance).
评论 #10226199 未加载
joelthelionover 9 years ago
I think part of it is their awesome product design: their app has few features, but they are well thought out and enough to make WhatsApp very useful. Fewer features mean less people needed for development and operations.
wslhover 9 years ago
I would love to see a list of these 50 engineers, their skills and how they are organized. It provides guidance for other teams (even if part of their software is written in Erlang!).
评论 #10225802 未加载
KirinDaveover 9 years ago
For reference, Level Money sold to C1 and had 1 backend engineer, 1 android engineer, and 1 ios engineer.<p>This scale isn&#x27;t unusual at all. Really it&#x27;s a lot more about feature development. The smart way to build most mobile startups is to use managed providers like google app engine, AWS Container Service, or Heroku. Between that and how not-bad both Android and iOS are to develop for these days (compared to their history), it&#x27;s possible to get your engineering team size pretty small.
评论 #10229280 未加载
ghshephardover 9 years ago
&quot;Enlightened Product Management&quot; is the phrase I&#x27;ve heard to describe WhatsApp&#x27;s success in keeping their engineering requirements to a bare minimum.
ericjangover 9 years ago
Question for HN: what is your estimate on the minimum man&#x2F;womanpower needed to scale a product&#x2F;service up to 10K users? 1M? 900M? For instance, what fraction of Facebook&#x27;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&#x2F;IaaS services like Google App Engine and Amazon Elastic Beanstalk help a lot but I&#x27;m curious as to what you think.
评论 #10227524 未加载
hokkosover 9 years ago
Because they kept their product simple and focused, it does a few things well.<p>The Erlang thing is nice a nice fit, but mostly because they leveraged an open source product.
e0mover 9 years ago
What I want to hear more about is how they got those users in the first place. Supporting 900M users might be easier then acquiring 900M users.
评论 #10226924 未加载
pbreitover 9 years ago
I think this is the key line: “The number-one lesson is just be very focused on what you need to do”.<p>My sense is that WhatsApp spends all of its energy on the very core product offering and not a bunch of superfluous activities. I don&#x27;t think the language choice has much to do with it unless there&#x27;s some sort of &quot;keep it simple&quot; thinking that the languages somehow exude.
guj11over 9 years ago
Does anyone know if WhatsApp uses Scrum (or similar methodology)? Also, do they do pair programming?<p>My company has recently learned about scrum and pair-programming, that seems like the only way to success to them. So, it would be nice to know how other successful companies are organized and develop software.
评论 #10235183 未加载
calgooover 9 years ago
I heard that they have the philosophy of &quot;you build it, you own it&quot;, meaning that anything you build, you are also responsible for running. So if you don&#x27;t want a call at 3am, make sure your code works correctly.
vinceyuanover 9 years ago
I did know WhatsApp uses Erlang which supports hot deployment. But after reading this article, I still don&#x27;t know <i>Why WhatsApp Only Needs 50 Engineers for Its 900M Users</i>.
rurbanover 9 years ago
Why would you need more than 3 engineers?<p>This article should talk about what the 47 others are doing.
mahyarmover 9 years ago
The reason why whatsapp can keep it small is because they decide features based on engineering cost first. Does the designer want a feature or UX design that would be a pain in the ass to create with this UX kit? Is there a probably uglier equivalent that would take 1&#x2F;10th of the engineering time? It gets shot down and we do it the engineer-simpler way.<p>One UX example in the iphone app is the action sheet that pops up when you want to send photos or your location. While in facebook it gets embedded in a fancy keyboard drawer. The action sheet version probably took about 5 hours total for all of it, while facebook messenger&#x27;s version probably took 500 hours minimum.<p>Another example on the backend is how they are relatively stateless, do not keep chat histories, do not have real multi-device w&#x2F; one account capabilities and so on. Each of those features would increase engineering and machine cost, sometimes significantly.
评论 #10228540 未加载
linkydinkandyouover 9 years ago
Our company is solving a similar large-scale problem with very few engineers. And our answer, too, is Erlang! (And also, a few very smart, highly experienced, people with Math graduate degrees.)
评论 #10227709 未加载