Live data from Hacker News

WhatsApp scaled to 1B users with only 50 engineers

quastor.org

191–200 of 462 posts

Re: WhatsApp scaled to 1B users with only 50 engineers

#191
post #134

Earlier quoted context omitted.

Heroes are a red flag for me, as a manager, trying to build a resilient team. Which is not to say that you can't have a range of experience levels. But what happens when those heroes are unavailable? Maybe they're out on vacation, or medical leave, or they eventually retire or leave the organization because they're tired of propping it up? Heroes tend to be a single point of failure.

You hire more "heroes". Pay what they're worth. Make them happy. Or you just pay an order of magnitude on hosting, performance consults, bandwidth, etc. etc. etc. And STILL won't EVER get to the same result, because you can't always pay (I'd say almost never) your way into a stable and performant solution. Look at all the others.. Nothing works as well as whatsapp. Good luck hiring 500 engineers who have no idea what…

> You hire more "heroes". Pay what they're worth. Make them happy.

i dont think its as easy as you make it sound. these "heroes" generally are as productive because they dont sync and already have a clear idea of what they want to achieve/how to implement what they wish.

if you add a second person like that to the same team you run a massive risk of having two competing ideas which creates a lot of friction.

Re: WhatsApp scaled to 1B users with only 50 engineers

#192
post #16

"The simpler product makes it much easier to maintain and scale." This is good news for the developers, the product owners and the customers. I still can't understand why today people choose a (Javascript) stack of build systems, ton of dependencies, and all kinds of exotic tech that is the latest and most hyped. As a developer you need to support this in the future. It might be nice to build today but it will be a n…

I still can't understand why today people choose a (Javascript) stack of build systems, ton of dependencies, and all kinds of exotic tech that is the latest and most hyped. As a developer you need to support this in the future. It might be nice to build today but it will be a nightmare later.

You know that JavaScript developers don't see JavaScript as weird or exotic, right?

Re: WhatsApp scaled to 1B users with only 50 engineers

#193
post #5

Earlier quoted context omitted.

That was its fate anyway. Some things just can't really make money unless they do it in scummy ways (or we haven't found a viable alternative or a way to protect them). Public instant messengers, public forums, public file hosting, public image hosting.

Whatsapp is built on a massive, mature, global system specifically designed for sending messages. It's sad that it needs to exist and even more sad that it has to "make money" for someone. Aren't we already paying for our internet connexion/phone bill? Why do we need to be used by Whatsapp just to utilise it for its most basic purpose?

Because it needs to be built, supported, etc.?

Re: WhatsApp scaled to 1B users with only 50 engineers

#194
post #115

Earlier quoted context omitted.

For all sorts of reasons, good and bad. One is that the future is unknown. Your goal might be to keep the product simple and scale to 1bn users, but you don't really know if it will play out like this. Maybe you plateau at 1m users with the initial idea and pivot the product somehow. Now the app does dating, social media or specialised communications for highway construction teams. Tradeoffs are easier to make in hin…

I think the Unix philosophy should apply here. The fact that WhatsApp did one thing well and it had a good business model (was it $1 per year?) is the important bit. When you say, “Now the app does dating…” I think the right move is to scrap the project because that’s a colossal fuckup. Unless you have Microsoft cash to have multiple colossal fuckups in a row, don’t add another dating app to your messaging app. Ergo,…

>Another thing WhatsApp did well is they targeted ALL phones. They didn’t abandon their users like the fang-bangers (sorry been watching True Blood— FAANG is an annoying acronym so they are hereby fang-bangers).

That was clearly the killer "feature." Whatsapp is synonymous with communication on the developing world because of this. I remember when I was introduced to it fairly early on in Brazil and someone claiming that yeah, anyone no matter the OS could get on it. I couldn't believe it, to be honest, it felt like what iMessage was starting to look like... but for everyone? I can't imagine what it would've been like to support so many things, but clearly it was a lot of sweat that paid off extremely handsomely.

Re: WhatsApp scaled to 1B users with only 50 engineers

#195
post #45

I think one thing to consider is that WhatsApp is probably by nature a scalable application. It is in the end, simply a client app that sends data to other client apps. So by nature, you scale in parallel very well, there are no 1-all communications. So unlike something like facebook where the data all needs to go to a central server and be polled by an unknown (but potentially arbitrary large) number of clients, in…

Why do you assume that WhatsApp uses point-to-point connections? My assumption is that most devices cannot talk to each other directly and require central servers.

Re: WhatsApp scaled to 1B users with only 50 engineers

#196
post #64

Earlier quoted context omitted.

The technology stack isn't even that relevant. There have been a few different articles about WhatsApp and their 1B users with only 50 engineers. The key in previous articles was that WhatsApp hired really smart people. Having extremely talented engineers and a rather small scope is what allowed them to grow til 1B users, with a minimum staff. Yet people seem to focus on the technology, because that's more easily rep…

> Yet people seem to focus on the technology, because that's more easily replicated, and easier to accept, in my opinion. I think you are correct. It also works as some sort of advertisement. Others feel like they made the right tech choices, if they choose the same tech as WhatsApp or Spotify. Completely forgetting that they probably need to be somewhat proficient in Erlang to get the benefits from the language etc.…

It's not just less sexy, it leads to frustrated readers/viewers of your article/blog post/conference talk etc. If someone asked how to build a better system for their company and the answer they got was "first spend 5-10 years becoming a better programmer", they will be less happy than if you sell them on the idea that adopting Rust/Erlang/etc will magically make the hard task easier.

Re: WhatsApp scaled to 1B users with only 50 engineers

#197
post #163

Earlier quoted context omitted.

Being replaceable tends to make work less satisfying. All the places I've worked at that followed your advice had the most churn and the least productivity/ROI on engineering $ spent.

Being replaceable tends to make work less satisfying. In my experience the opposite is true. My personal goal on any project is to make myself replaceable. There's nothing I find more tedious than having to work on the same thing for years because no one else can take over from me.

You’re talking about something else, where you are an key employee building a valuable system that doesn’t need you. The other person is talking about a company hiring you to fit into a system that never needed you.

Re: WhatsApp scaled to 1B users with only 50 engineers

#198
post #125

Earlier quoted context omitted.

Yes, if you don't write a native app for every platform the result will be rubbish. That's not a "good architecture decision", that is common sense. If they don't do it that way it's to save money, because as we all know Facebook is strapped for cash. (Talking about Facebook and Instagram here, because as far as I know WhatsApp is completely native on every platform)

This then also means a well defined server API without undocumented behaviour that individual implementations depend on. I stand by my assertion that the good scaling and separable builds is a sign of good architecture.

Isn't a non-leaky abstraction a given too?

All these requirements are like saying "having a good experience using this app requires an app that doesn't crash all the time". Well, duh?

Re: WhatsApp scaled to 1B users with only 50 engineers

#199
post #163
post #134

Earlier quoted context omitted.

Heroes are a red flag for me, as a manager, trying to build a resilient team. Which is not to say that you can't have a range of experience levels. But what happens when those heroes are unavailable? Maybe they're out on vacation, or medical leave, or they eventually retire or leave the organization because they're tired of propping it up? Heroes tend to be a single point of failure.

Being replaceable tends to make work less satisfying. All the places I've worked at that followed your advice had the most churn and the least productivity/ROI on engineering $ spent.

If you think being replaceable is unsatisfying, try being indispensable. In the long run, it’s way worse.

Re: WhatsApp scaled to 1B users with only 50 engineers

#200
post #135

Earlier quoted context omitted.

> I still can't understand why today people choose a (Javascript) stack of build systems, ton of dependencies, and all kinds of exotic tech that is the latest and most hyped. So the same cannot be said for "newer" languages like Rust, Go, and other's whose ecosystems and paradigms aren't completely fleshed out yet? This comment reeks of someone who is looking from the outside in when it comes to building stuff in JS.…

Why do you compare it to Rust though? JS is as old as Java, however its ecosystem seems to be much less mature (at least from outside). I haven't touched Java for 15 years, but I am fairly confident that people still use Apache Ant as build system. Every time I try to peak into JS world, it appears similar to tiktok trends in terms of how quickly people move from one thing to another.

It's even worse from the inside. The last 2 companies I have worked at have had significant amounts of JS code (even the majority of code) and it's inevitably became unmaintainable mess through a combination of lack of solid frameworks to instill structure and trying to apply it outside of its domain of the browser.

The last 3-5 years have convinced me that JS isn't appropriate outside of a browser almost ever. I am sure if you think hard enough you can think of cases where it's superior to some other lang but in general it's a very poor choice for almost anything that isn't DOM manipulation.

Worst was definitely attempting to diagnose an off-heap memory leak due to C extensions. Naturally the JS folk gave up and dumped the problem on my lap so I proceeded to do my usual "C guy" stuff and was amazed at just how bad stuff like node-gyp and friends are and just how fragile everything is. I found the leak and patched it and all was "ok" again but just peeking inside those layers makes you deeply uncomfortable with the runtime in production.

The rest of the problems can probably be attributed to lower quality developers but point remains. Things like lack of structure leading to insane architectures, pushing for microservices without understanding the tradeoffs because they didn't want to work on "legacy" JS code that was built with last years hipster tech rather than this years, etc. These problems are endemic to to culture and ecosystem which IMO are inseparable from a language/tool in practice despite what we want to believe in theory.

I don't refuse to work with JS but I definitely make my concerns abundantly clear and I generally don't hold back with "I told you so" when it inevitably bites people in the ass.

Post reply on HN