4 ms·
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 pre
by mrweasel 5y ago
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 replicated, and easier to accept, in my opinion.
- dgb23 5y agoAbsolutely. A relatively small, highly efficient team that invests in their knowledge, skill and processes is the cause of correct technology choices and not the other way around.
- bjarneh 5y ago> 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. I guess that "hire extremely good developers" is less sexy than just choose Rust/Erlang etc...
- emerongi 5y agoLanguage choice does act as a filter, though. If you choose Erlang, do you get smarter developers by default?
- bjarneh 5y agoFrom my experience it's always a good idea to choose a language that people would have to learn by themselves, i.e. none of the school languages (Java, C, C++, C#, Python, Javascript etc). In that way you only attract people who do sit down and learn new languages by themselves in their spare time, which filters out people with less interest in programming at least.
- dgb23 5y agoSmarter? I think that's too broad. But if you choose technology for its intrinsic merits you attract engineers with taste, who have the drive and luxury to care about their work on a different level. There are plenty more people who can't be arsed to or don't have the time or simply don't find it valuable enough to adopt "niche" technology, despite technical merits. I don't think it has anything to do with smarts, but rather with priorities and human nature. Most people follow the mainstream because they favor stability and convention, those who break out in different directions favor autonomy and freedom.
- WJW 5y agoIt'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.
- Renaud 5y agoI think the technology stack they choose is highly relevant to their success. The choice of Erlang was crucial: it's basically built for communications and has all pesky issues like version updating, resilience to failure and scalability already taken care of by nature of its architecture and framework. Of course, these 50 engineers were smart, most in that specialised space are, but I strongly doubt that they could have achieved the reliability and scalability of what made the success of WhatsApp with a PHP or Ruby back-end without more complexity, more ressouces and more hardware (like what FB and Twitter had to go through).
- mrweasel 5y agoWell true, but my point is that you're not going to be able to scale as successfully as WhatsApp, just by using the same technology stack, if your problem is different. You're right that Erlang was/is the right choice for WhatsApp, and it was most likely picked as the language of choice, because of the smart people working there. It's the same with FreeBSD, a failing startup isn't going to be able to layoff 50% of its engineers just by switching from Linux.
- crate_barre 5y agoErlang was picked for a particular reason. WhatsApp uses a prebuilt open-source chat solution, an XMPP server written in Erlang, ejabberd. This thing was first released in 2003 (old). Already a smart move to get started. I’m pretty sure they hired Erlang developers to dig into ejabberd internals and optimize certain things. They didn’t just decide to become an Erlang shop out of the blue. It wasn’t Erlang that was the initial right choice, it was using xmpp and ejabberd that was the root reason. Erlang just happened to be a consequence of that. https://www.ejabberd.im/ https://www.ejabberd.im/ I will contest your attribution of ‘smart’ with Erlang. These types of correlations are generally bias fitting. It justifies ‘smart’ being correlated with any and all niche languages, eg ‘so and so likes Haskell, so they must be smart’. No good. It’s better to attribute ‘smart’ with the pragmatic decision they made to simply use a pre-existing chat server solution that already has the capability to scale. Harder to assess this as smart since there’s no ‘signaling’ here, you have to objectively assess if it was the right tech (which it seems like it was). Way less vanity in this assessment as opposed to what I already pointed out, how your Haskell or Rust devs must be particularly smarter, as opposed to say PHP or JavaScript devs who are considered dumber. I don’t buy it, I need to see more than just your affiliations. So, I reject your initial post contending ‘The technology stack isn't even that relevant.’ It was precisely the tech decisions that mattered, and the right people to make such decisions. Chicken and egg scenario, I’ll concede that. In any case, one does not simply pick a old chat server written in Erlang out of the blue - this decision was critical. How many over-funded tech teams would try to do this from scratch in Go? Plenty, and that whole team would easily be full of ‘smart’ people.