3 ms·
WhatsApp had less than 50 engineers (or was it employees total?) when Facebook bought them out, and they had millions of users.
by giancarlostoro 2y ago
WhatsApp had less than 50 engineers (or was it employees total?) when Facebook bought them out, and they had millions of users.
- droideqa 2y agoThe power of Erlang.
- zerr 2y agoModified Erlang. Genuine one didn't scale.
- mg74 2y agoHow so? Is there anything on what changes they made to Erlang/BEAM?
- toast0 2y agoThe whole point of running an opensource OS/vm/runtime/etc is that you can tweak things here and there when you need them. Yeah, we had to make changes, some changes to FreeBSD too, but mostly little changes here and there. Erlang and FreeBSD were both lovely to work on. Re the sibling's question about what was changed, I don't remember everything, Rick Reed's presentations at Erlang Factory / Elixir describe most of them though (although those ended in 2014, I think). Many or most of the changes got into upstream one way or another. But most of it were things because AFAIK, we had much larger Erlang clusters than the rest of the community; I remember seeing advice about large clusters of 50 when we were running 300 nodes in a cluster, and I'm pretty sure we had dist clusters above 1000 later when we also had separate cross cluster messaging. We also had huge mnesia tables, other people said don't use mnesia over 2GB, and we had nodes with more than 512GB of data in mnesia. I don't really remember much that we had to do with dist, although pg2 needed help and our replacement became pg in OTP, mnesia did need some help to scale. We changed the ETS hash kernel to avoid everything hashing the same way, I don't know if that made it out. We also needed to do things like timer wheel improvements, but OTP also did timer wheel improvements and we dropped ours. Not so many people were running quite so many timers. Then there were things that I don't think are upstreamable. Adding a way to drop a process's message queue. Adding a way to add a message to the front of a process's message queue. Those two are very not in line with OTP, but handy for operations if you use them carefully.
- 1024core 2y agoBSD too.
- criddell 2y agoSince Instagram had only 13 employees when Facebook bought them for $1 billion, does that mean: power(Python) > power(Erlang)?
- izacus 2y agoWhat a bizarre comparison, WhatsApp engineers didn't have to review code for millions of users.
- giancarlostoro 2y agoHow is it bizarre to compare the impact of a low number of engineers affecting millions of people. In the case of WhatsApp it was 35 engineers affecting 350 million people. https://news.ycombinator.com/item?id=39447564 https://news.ycombinator.com/item?id=39447564
- xmprt 2y agoThe support needs of developers is generally higher than those of a messaging user. How often have you had to contact the support of a messaging app you use? Now think about how often you create a Github issue or PR for an open source repo.
- chrisandchris 2y agoWhat a bizarre statement. cURL is basically maintained by a single person, and nearly the whole world uses it.
- ignoramous 2y ago> cURL is basically maintained by a single person Suppose Flutter may be an order or two magnitude more complex than cURL.
- brnt 2y agoglib then?
- deleted 2y ago[deleted]
- chrisandchris 2y ago
- steve_adams_86 2y agoWhatsApp has a very narrow use case and feature set to support. Flutter is a multi-platform framework for developing apps like WhatsApp. It seems like a apples and oranges here.
- giancarlostoro 2y agoI'm comparing the impact. Small tens of developers, affecting millions of people.
- siamese_puff 2y agoSure and 1 guy built flappy birds played by tens of millions. The complexity is a completely different ball game IMO.
- giancarlostoro 2y agoFlappy Bird was taken off the store by its author, if you take WhatsApp off the app store, that would be a completely different reaction to Flappy Bird.
- Apocryphon 2y agoMillions of people can be affected in different ways.
- kgeist 2y agoWhat about Python? They had 34 core developers in 2017 [0]. Python is used by millions of devs. They have to support a multitude of platforms as well. Same goes for a lot of programming languages like Go: a pretty small core, the rest is external contributions. And they have to support all sorts of platforms/configurations as well (probably more than Flutter does). [0] https://pythondev.readthedocs.io/core_devs.html https://pythondev.readthedocs.io/core_devs.html
- sterlind 2y agoto be fair, Python's performance has lagged far behind comparable languages (e.g. JS) for at least a decade. maybe more devs could give it the V8 treatment?