Live data from Hacker News

WhatsApp scaled to 1B users with only 50 engineers

quastor.org

421–430 of 462 posts

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

#421
post #181

Earlier quoted context omitted.

FreeBSD was a more stable/mature platform to build on when WhatsApp was designed, particularly in terms of network performance.

Is the implication that FreeBSD is less mature now, intended? I'm assuming not. The BSDs have grown in popularity significantly in the last couple years.

> The BSDs have grown in popularity significantly in the last couple years.

Is the market share for BSDs growing?

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

#422

Earlier quoted context omitted.

> I'd pick it over many other languages. I'd be interested to know which ones, because I can't think of one advantage that Javascript has - aside from the ubiquity of browsers. If we're comparing any other aspect of it though, I just don't know what advantage it has (seriously).

Functions are first class. Async i/o by default. Familiar syntax (I'm sure Haskell or Clojure are better languages, but they sure take some time to get used to. You can be fairly productive in js in very little time). There are packages for anything you can think of, no need to reinvent the wheel most of the times. And I even like it's single threaded nature. Being able to keep a process waiting without needing to sp…

Firstly, thank you for answering. I think most people would be too defensive (devs are a touchy lot:) to bother or just dismiss my sincere question. I'm going to disagree though (quite gently, I hope:)

> Functions are first class.

Always a good thing to have in a language but I struggle to think of a language that doesn't have this now. Java has it, C#, Python… if a language is being developed and didn't have it then now it does, right? Perhaps C doesn't - I checked, functions may be passed as arguments but does not allw nested functions, but it has callbacks so a type of closure is possible… hard to tell. Still, I'd say not using C was an advantage!:)

> Async i/o by default

I'm not sure which languages this gives an advantage over?

> Familiar syntax

I don't think this is an advantage, most languages are much of a muchness, and there are some serious footguns that still lay around in JS. Is `==` familiar? No, that's a footgun. Automatic semicolon insertion (ASI) rules? No, they're another footgun. Are fat arrow operators familiar? Doubtful. The new backticks? They're the other way round to what I'm used to.

Certainly though, it can be picked up quickly enough.

> There are packages for anything you can think of

This is definitely an advantage over some newer languages, but over those in major use, it's not. Still, the way packages are installed and handled is… eye-opening. That wheel has been reinvented several times, and it still looks wonky.

> I even like it's single threaded nature

Sometimes that's a good thing, true, but it's not an advantage to have it set that way all the time.

> TS is also one of the best type systems you can ask for

I haven't used it, tbh, but I would say that an optional type system (it's optional in that you don't have to use TS, I don't know if it's optional once you start using TS, that would be better) is a definite advantage over some languages. It's not baked in though so that's half a point.

I just don't see it. I think the driving force of the move to Javascript everywhere was because devs were tired of learning at least three languages (JS, something, SQL) and not being very good in all three (usually poor at SQL) and thinking they'd get more control by kicking out the DB guy who'd stop their bad ideas (because they didn't know SQL) and they could become an expert in one language to rule them all. Companies love it because of fungibility and more new devs tend to start with Javascript than anything else.

Perhaps I've just got used to keeping several languages in my head?

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

#424

Earlier quoted context omitted.

> I'd pick it over many other languages. I'd be interested to know which ones, because I can't think of one advantage that Javascript has - aside from the ubiquity of browsers. If we're comparing any other aspect of it though, I just don't know what advantage it has (seriously).

Typescript has a pretty cool type system. A mixture of dynamic and static typing. You can be as dynamic as with js (or python), or stricter than Java (you can state a reference cannot be null for instance), or anything in between (and have dynamic parts and static parts in the same program).

I haven't used Typescript but I've generally heard very good things about it. I didn't know you can mix and match, that might give me a bit more of kick to include it in a project, thanks.

Whether or not it's an advantage of Javascript… I'm not sure. I mean, if someone wrote a transpiler for Java that overlayed stricter typing, would that really be an advantage of Java? Not sure, but of course, worth considering when choosing a language for a project.

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

#425
post #170

Earlier quoted context omitted.

> But consumers are increasingly demanding an app-like experience from the web This seems tendentious. Which average user was looking for these changes? Can you point to a site that shifted to an "app-like experience" and became successful because of it?

I think it's a "general trend" rather than a website by website trend. I think that 20 years ago most of the discussion online took place with things that looked like websites (forums, mailing lists). These days, most of it takes place in places that look like apps (Twitter, Facebook).

I agree, but is that trend really pushed by consumers or a by-product of developers' and companies' wishes? I'd say it's more of the latter.

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

#426

Earlier quoted context omitted.

The worst team is the one with a single point of failure. All hell breaks loose if they're unavailable. This makes me wonder why managers have teams like this?

Not all managers have a primary concern of "trying to build a resilient team". Sometimes, the #1 goal is building a high-performance and/or high-quality product. Lack of team resilience, (temporary) downtime, risk of project failure due to an insufficient bus factor...they're all not good things, but they can be compromised in the pursuit of that goal. If you want high resilience as well as high performance and also…

I was talking about regular tech companies not NASA or startups with funding issues.

I think that your point stays valid there because reality is far far away from ideal case.

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

#427

This site is getting quite repetitive. I think the balance of News to things of interest has gotten quite out of whack. This article is not news, and is also in recent memory so not an interesting re-visit. Is HN average age decreasing? The content character has changed in recent years. Something's changed/changing.

Started visiting hn 4/5 years ago, i agree. The content/discussion quality decreased substantially the past 2 years.

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

#428

Earlier quoted context omitted.

Ditto. As an engineer, it feels like product managers often feel a need to keep cranking out new features as a way to justify their seat at the table. I would love to work in an engineering culture which found a way around that problem. If that means the job falls on me instead, so be it.

> If that means the job falls on me instead, so be it. Precisely this. I don’t know when “engineer” turned into “order taker”. There’s no reason to have a Product Manager define and engineers work. Good engineers are more than capable of defining their own work.

> There’s no reason to have a Product Manager define and engineers work

The PM isn't supposed to define features in isolation, but crystalize them into consensus between engineers and stakeholders the PM is accountable to.

If your PM isn't your peer, the org is setup wrong. Tech leadership should be helping define this, but people don't know what they don't know and so things end up with PM's becoming de-facto "team leads".

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

#429

My experience is, # of engineers is directly related to # of product people, which is in turn related to quantity (not quality) of ideas that the founders/leaders are desperate to try out. Higher quantity of ideas == More engineers. Higher quality of ideas == Fewer engineers. WhatsApp success is not about what WhatsApp did, it's about everything they didn't do. No desktop, no browser (until after reaaaaaaallly long),…

I've always called this Feature Cram, and it's standard procedure at basically every company I've ever worked, small and large, B2B or B2C. Nobody is willing to say "Our software is a success and it's done . Let's fix the major bugs, put it into maintenance mode and start a new, separate, great idea!" Nope, instead it's always "OK the MVP is going well. Let's jam ten other unrelated things into it and see what takes…

> Our software is a success and it's done

Because no such state exists. Imagine if Photoshop stopped with updates twenty years ago, or even five.

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

#430

Earlier quoted context omitted.

This is a strange way to phrase the question. Sites that had to shift to app-like experiences are hard to find, because nowadays pretty much every web app is an app-like experience from the beginning and is created with a JS framework. The shift happened years ago. Barring informational sites like blogs and news publications, it’s actually more challenging to come up with new web products that are NOT app-like in nat…

Depends how you define 'app-like experience' If I start with 1990s ebay, does it become app-like when I add the ability to zoom images without a pageload? When I add a WYSIWYG listing editor? When I let people drag and drop images into their listings? When I add JS infinite scrolling to search results? When I add AJAX search autocomplete? Or do I have to go as far as Google Docs, re-implementing copy/paste functions,…

My personal "line" is when links won't work without js and urls aren't written in the location bar. It makes a site quite useless without js. I know that progressive enhancement is supposed to be a thing but I've yet to see it outside of tutorials (browsers not properly supporting PWAs could be part of that, but I doubt it).
Post reply on HN