James Governor's Monkchips

When Web Companies Grow Up They Turn into Java shops

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit


I presented at JAX London 2016 yesterday, with a talk entitled Java for Cloud Natives. It’s a theme that Stephen and myself have been working on for a few years now – the rise and fall and rise of Java. After its inexorable and steep rise Java plateaued, so people started saying it was “dead”. In our culture after all, not growing seemingly means dying. But open source Java has showed surprising resilience – it is the ecosystem that has fostered much of the interesting work in the Big Data space. One intriguing phenomenon is that Web companies have been a big part of Java’s third act.

Because the Java ecosystem was open source, the platform, notably the JVM, became relevant to second generation Web companies as they hit scaling problems. Firms that started with strong biases to Rails or PHP, with a strong Java sucks mentality, discovered over time that Java was kind of useful. JVM optimisation allows for scale. Java language skills are plentiful. Doug Cutting chose to write Hadoop in Java because he felt it was going to be more maintainable over time. Facebook, which was all about the PHP, runs probably the world’s biggest biggest Hadoop cluster today. Twitter is on the JCP.

The Apache Software Foundation has fostered most of the interesting projects in the Big Data space – many of them written in Java,  see for example Hadoop and Giraph, or Spark and Kafka which are written in Scala, a JVM language. Back in April Heroku (originally one of those “Java sucks” companies) announced it was supporting Kafka, and writing Scala code to contribute. Today Twitter is a major contributor to popular projects such as Netty. I have made the point about Web companies before, but it blew up again yesterday.

At least 50 retweets and 50 likes, and it just got shared by @java so we can expect some more. Given the virality, and some useful comments on twitter, notably from @joshbloch

I thought it was important to clarify a couple things. For one thing, when I say Java shops, I don’t mean Java Only shops. I am certainly not arguing that any of the companies above have stopped using other languages or platforms, but rather that as they have matured they have come to see Java as a useful tool, part of the engineering arsenal, rather than something they just filed under “sucks”.

With respect to Google, it can be somewhat opaque, and while it was my understanding there is a fair bit of core engineering in Java, it was pointed out (thanks @chris_gaun) that Borg is written in C++, and of course Google is a major Go shop.

The next order effect that I think is potentially really interesting however is that as industry leaders and Cloud Immigrants such as Bosch and GE, which are using open source methods, culture and software to underpin their digital transformations they start naturally making open source contributions, just as the likes of Netflix do. And where GE leads, other corporations follow.

And enterprises of course write software in Java.

Slide decks can be a bit deceptive of course, without the words being said in the room, but here are mine if you’re interested. Jaxenter did a really nice write up of the talk here – 5 things we learned from James Governor | JAX London 2016.

GE is a client.


  1. […] this year Andrew Clay Shafer encouraged me to give the narrative a little spin. What if, instead of When web companies grow up they turn into Java shops, we did something a little different – When Java shops grow up they turn into web companies. […]

  2. […] talk suggesting grown up web companies become Java shops started me thinking.  Discussion on that talk can be found here. The title suggests that start-up […]

  3. […] – James Governor has a saying: “When web companies grow up, they become Java shops”.Java is built for […]

  4. […] – James Governor has a saying: “When web companies grow up, they become Java shops”.Java is built for […]

Leave a Reply

Your email address will not be published. Required fields are marked *