Why WhatsApp Only Needs 50 Engineers for Its 900M Users

DutchDaemon

Administrator
Staff member
Administrator
Moderator
Developer
From Wired:

One of the (many) intriguing parts of the WhatsApp story is that it has achieved such enormous scale with such a tiny team. When the company was acquired by Facebook, it had 35 engineers and reached more than 450 million users. Today, it employs only about 50 engineers, though the number of WhatsApp users has doubled, and this tiny engineering staff continues to run things almost entirely on its own. In a world where so many internet services are rapidly expanding to millions upon millions of users, WhatsApp shows the way forward—at least in part. Software engineer Jamshid Mahdavi joined WhatsApp about two years ago, after the startup was up and running, and its approach to engineering was unlike any he had seen—in part because it used Erlang and a computer operating system called FreeBSD, but also because it strove to keep its operation so simple. “It was a completely different way of building a high-scale infrastructure,” he said on Monday. “It was an eye-opener to see the minimalistic approach to solving … just the problems that needed to be solved.”
 
An app is really just a glorified web-UI to a server back-end that does the actual work. Same thing with Netflix.
 
An app is really just a glorified web-UI to a server back-end that does the actual work. Same thing with Netflix.

It may seem unglamorous, maybe, but true. HTML5, Cascading Stylesheets, jQuery, JSON, maybe XML, OAUTH/OAUTH2, and some kind of a web API documentation -- an "App stack in a box," so to speak. Alternative to the HTTP silo, there are some native-platform appplications and application toolkits around, primarily for mobile embedded computing platforms, albeit -- not a lot of popular support for "old" distributed computing models, such as CORBA and/or OpenDCE.

If there may be a thesis developed as towards a an app framework for FreeBSD -- new to the forums, noticing it's an off topic thread, LoL I've been reading about the Enlightenment Foundation Libraries (EFL) for instance, and Samsung's Tizen project. I wonder if anyone could approach Samsung with a proposal for developing a Tizen release on a FreeBSD kernel and FreeBSD base system? I think that it could serve to lend some interest towards embedded computing with FreeBSD, if not adding a kind of new quality to FreeBSD on desktop PCs.

As a short overview about the Tizen platform: Tizen applies EFL on a Linux kernel, as in the Samsung Z smartphone and with some of Samsung's In Vehicle Infotainment (IVI) and TV platforms. EFL is applied in Tizen, along with the Caro UI framework (GTK implementation). Tizen also offers a Qt5 development model. It allows for development in C, C++, certainly also Java -- with Java, as in reference to the OpenMobile Android Compatibility Layer for the Tizen platorm. In regards to the C interface for EFL and Cairo, I've noticed that it could serve to allow for portability into interpreted programming languages -- such as Ruby, Lua, and PERL -- and the interpreted/compiled language that is Common Lisp.

At a projects level, Tizen is pretty well transparently managed. The Tizen IRIS web application provides an overview about the source code level of Tizen components. There's also a Tizen Wiki.

Supposedly, the HTML GUI model allows for rapid application development. I don't personally believe as if it represents an ideal model for application of computing resources, however, not insomuch as in regards to human computer interface (HCI) applications, or LAN-oriented systems. I believe it creates a silo in the shape of HTTP, moreover. I would not wish to seem too forward in proposing any more of a LAN-oriented application development model, however. Kerberos, LDAP, basically all of UNIX network architectures -- maybe it's hard for startups to spin those at SXSW. I think they're quite worth a gander, so to speak.
 
Back
Top