I don't quite understand the correlation. If the article was about how Whatsapp achieves scale and parallelism through functional languages, then fair enough. But I'm not sure it'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'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.
I think most seasoned game developers would be faster making a simple 3D game with Unity rather than just openGL + C ( mainly because with Unity you get soon much boilerplate-y stuff out of the box)
The language and the amazing properties of failure tolerance could be productivity multipliers ( think of the times you've had to deal with catastrophic failures of software)
Nah, language alone isn't a good enough reason. It can contribute, just like every choice of tool can contribute.
You example, unity, isn't a language, but instead an off the shelf engine and toolchain.
But just like the development on an individual game seem less impressive technologically the more they rely on existing tech [1], admitting "Yeah, we forked ejabberd and rigidly fight scope creep" doesn't have the same ring as hyping up features in the runtime of a hip yet obscure programming language.
[1] Fun side note: If you watch the games press interviews devs, pay attention to when they ask about what engine they use. The press don't and viewers often don't know anything about software projects, so the devs are reluctant to to admit how much they've relied on off the self components for their admittedly-huge undertaking. Fun to watch the paid hype men try to talk around that.
Actually I believe that answer is in the article:
“Our strategy around recruiting is to find the best and brightest engineers. We don’t bring them in specifically because the engineer knows Erlang,”
WhatsApp only needs 50 engineers because of who they hire. Even using Erlang, I pretty sure they would need more than 50 engineers if they hired mainly around average engineers.
How do you know if an engineer is average vs one of the best?
I haven't heard of anyone who has figured out how to measure an engineer's abilities.
Some people test algorithms. Others test how often they've shipped things. Most just look for years of experience. A few even test whether you know certain facts.
I haven't heard of a single company that has nailed down interviews. I was going to mention interviews but figured that if you couldn't measure how much an employee contributes, you'd have a much harder time measuring how much a prospective employee could contribute given a much shorter time to test them.
> Surely they need 50 engineers because their product is fairly simple and there's no need to have more engineers than features.
Right. There's not even a way to adjust notification levels based on person or group. I ended up turning off notifications for the whole app, so it stopped serving the same use cases that text messages do. People still need to text or call me if they need an urgent answer.
On the Android app there is. Choose the "View Contact" or "View Group" menu option from the top right and then change that contact or group's notification settings.
Ah, right. Thanks. Still, if there were 60 developers, could they have this feature on all clients.
That was just an example anyway. I could easily have pointed to the ambiguous end-to-end encryption (are my messages even being encrypted?) or the lack of encryption in group chats.