I attended this years JAX London conference from the 13th to the 14th October in the Business Design Centre, Islington, which is a nice building within the surrounding area of buzzing Angel.
JAX London is a 2 day conference for software engineers and DevOps. The topics of the JAX Conference focus in the fields of JAVA, microservices, continuous delivery and DevOps together with the agile methodology and lean business.
The main topics this year have been around microservices and Java 8 and the experiences and best practices collected so far. I focused mainly on visiting the talks around Java 8.
To summarise the Keynotes: they talked all about the agile methodology we use today, to embrace changes within your company and organisation and to involve the whole business to be more agile. It is not enough to be agile within your development and operations team but to involve the business and customers to retrieve better feedback through demo’s and such a like. IT is business!
One of the best talks around Java 8 was the JAVA 8 Best practice, where the speaker showed DO and DON’Ts around Java 8 features in a practical way. It was one of the last talks of the conference, so if you attended the other Java 8 talks which spoke more about concepts and performance, this was a good add-on to that. The talk was given by Stephen Colebourne, who worked on the Joda library which is now part of Java 8.
Another talk spoke about performance around using Streams. If you use sequential Streams they sometimes can have the same or less performance as simple loops. JIT compilers have been optimised to speed up loops for years, they still need more time to do the same for Streams. You also have to be careful when to use parallel Streams as you do not necessarily profit from using them, taking number of cores and how your operations are split into account. The best thing to do is to do your own benchmarking.
One talk was about Generics. Nowadays, these are mainly used to type-safe your Collections, but with lambda expressions we might see the wildcard ? expression (and ‘? super X’) more often in the future.
Beside lots of Java talks I also listened to the following:
A talk about TDD stated that TDD does not necessarily introduces better design. There are different styles of TDD which lead to differently designed code. Get familiar with different TDD styles, at least the two main ones: the classic style (Chicago-school around Kent Beck) and Outsite-In (London school) and see how they lead to different code designs and even tests. Therefore it is better to understand what good code design is and not rely just on your TDD programming, rather see it as a software development workflow.
One talk about the dark site of metrics made you think about misuse of numbers. We use metrics in different variations such as story points to measure how many features we can deliver within a Sprint, benchmarking etc. They are suppose to help by providing better insights and time estimates or find errors in a system. But if metrics are used to steer a project, e.g. management sets metrics level to increase productivity or a certain number of bugs must be found in the code (no matter if they are there or not), this can lead to a misuse of metrics and their benefits.
All in all it was an interesting conference that had a number of good speakers and an interesting, forward-looking set of topics.