I have written and spoken about Java’s staying power a lot over the years. It continues to be a thing. The rise of cloud native companies, disrupting industries, was seen by some as presaging the end of Java. But when startups grow up they turn into Java shops, or at least start extensively using Java. Why would a startup, built from the ground up to take advantage of the latest technologies for competitive advantage, even consider using Java? Apart from a couple of decades of virtual machine optimisation, a huge skills base, libraries for everything, and the fact it can be used to be build maintainable code, I mean. Our programming language rankings consistently show Java’s strength. One of the things that RedMonk identified some time ago is that frameworks drive programming language adoption. Without Rails, Ruby would never have grown so explosively. Node.js has a new framework of choice seemingly every week.
Recently Spring and Spring Boot have emerged as the key frameworks driving Java forward. Developer interest is off the charts. But alongside the data, a good anecdote or two can be helpful in understanding the landscape. A couple of stories caught my eye recently.
The first concerns New Relic, which was looking for a framework that best suited a containerised, microservices framework. New
How We Chose an Application Framework for New Relic Alerts. Here are the criteria New Relic used it its decision making:
- Extensibility: Spring Boot uses convention over configuration, but customization is straightforward. (For example, we use Jetty over the default Tomcat container.)
- Reduced friction: The framework handles boilerplate configuration and setup, such as logging, configuration, security, etc. That helps the team focus on business logic instead of plumbing.
- Pragmatism: The core offering focuses on currently adopted technologies for integrations and doesn’t try to predict needs that might arrive years in the future. It leaves bleeding-edge extensions up to the community.
- Familiarity with the underlying technology: Spring Boot is built on top of the Spring Framework and Java, both of which are strong suits of our team.
- Support: There’s an active open-source developer community for Spring Boot, and it’s backed by Pivotal, which has a vested interest in improving and expanding the framework.
Spring Boot also meets our criteria for containerization listed above:
- Easy builds: For application building, it provides first-class Gradle build support out of the box.
- Self-contained distributions: It produces an executable JAR file with all dependencies included, so there’s just one executable JAR to deploy.
- Simple application execution: The executable JAR does not require additional commands or permissions to run.
- Supportability: For support, it provides a collection of “actuator” HTTP endpoints that expose environment/configuration information, health status, runtime stats, and other data.
New Relic has been around since 2008, so it’s not exactly a new company. But it was built for and on the cloud.
So what about another company of note – Tesla? Tesla is a very cool company, making a huge impact. A few months back I was in Germany for an IBM IoT event and was lucky enough to sit with a number of German auto industry people at dinner. Not one of them was dismissive of Tesla. The threat is real, and they know it. Circling the wagon isn’t going to work. Tesla is a profoundly disruptive company. With car-as-a-service business models, and autonomous vehicles, the revolution is coming, and it is going to be electrified.
Tesla’s Mission is to accelerate the world’s transition to sustainable energy. Can you please just hurry up with that, Mr Musk?
Last night I saw this pointer to a Tesla job ad for a software engineer to work on the company’s customer facing apps.
— mattatron (@mattatron) August 9, 2017
Here are some the requirements:
- 6 to 10 Years of experience in web application design and development
- Experience with micro-services architectures, Docker eco-system and API first approach with hands-on expertise in developing rest APIs supporting multiple versions
- Hands-on design and development for customer facing applications that require high availability, concurrency, multi-tenancy, high scalability for a large global user base
- Strong Core Java Experience with Expertise in enterprise Java technology eco-system including Spring Boot, JPA/Spring Data, maven, JUnit
- Strong SQL Experience (MySQL, PostgreSQL, MSSQL)
- Strong Web Services Experience (SOAP/REST)
- Spring Experience (Spring Boot, Spring Batch)
Bottom line – there are some really interesting opportunities for Java developers out there. In the case of Tesla world-changing, even. Spring Boot is part of the skill set.
This piece can be read as a companion to my recent post about Dell, Pivotal and Digital Transformation. Being able to point at digital natives like New Relic and Tesla using your software makes it easier to convince enterprises of the value of making similar technical decisions.
full disclosure: Pivotal is a client. Opinions are our own.