SAN JOSE — No single programming language will be a panacea for developer teams, but picking the right open-source code for specific tasks, and for scale, is paramount to any project, according to Sam Shillace, senior vice president of engineering at Box, who spoke at Facebook’s @Scale developer conference last week.
Shillace and his counterparts from LinkedIn and WhatsApp discussed the challenges they face and tough choices they must make about programming languages, but they also cautioned programmers to avoid chasing shiny, new languages if more trusted frameworks meet their needs.
LinkedIn focuses on Java
“Language choice is a huge issue for any company trying to do software at scale,” says Kevin Scott, LinkedIn‘s senior vice president of engineering. The professional social network’s developer team mostly uses Java, and it has for a long time because changing to another language is too prohibitive, according to Scott.
“There’s constantly going to be new interesting programming environments out there for all of us to use,” Scott
[Related News Analysis: How Facebook uses IT automation to manage 16,000 MacBooks]
says. “The trick is figuring out when it makes sense to efficiently support one in a big team of developers because there are costs of changing … We have tens and tens of millions of lines of code that would have to be rewritten in the new language.”
Scott wouldn’t share exact numbers, but he said LinkedIn has more than 1,000 employees who contribute to the company’s code base, and the site has 380 million registered members. There’s a limit to how many languages the company can support without getting bogged down in complexity, he says. “There’s all this stuff that you end up having to build for yourself, and at some point you have to make hard choices.”
At WhatsApp, 15 engineers for 900 million users
WhatsApp, a popular mobile messaging application owned by Facebook, has 15 engineers who manage the code that supports its more than 900 million users. Jamshid Mahdavi, a WhatsApp software engineer, says the company basically “fell into” the Erlang programming language after its founders considered various other open-source options.
“All the guts have been replaced now, but the Erlang part of it proved to be just really valuable,” Mahdavi says, so the company stuck with the framework, which it started using in 2009. “They were able to completely replace the guts of the system while it was running,” a major factor considering the potential disruption that would come as a result of downtime.
Box’s Shillace says WhatsApp’s use of Erlang is the best example he’s ever seen of a language making a genuine difference to an engineering program and product efficiency.
[Related News Analysis: What CIOs can learn from Facebook’s use of open source]
Finally, LinkedIn’s Scott says open-source languages are ultimately only as valuable as organizations and team structures allow. “People have this tendency to create silos of teams where they have relative autonomy,” he says. “Sometimes your problem gets so big that it can’t be completely siloed. A lot of companies don’t invest as much as they should [in] teaching folks how to collaborate. We’re engineers, we like to solve technical problems, but sometimes there are people problems that need to be solved as well.”