JavaOne 2017 was a great event packed with interesting content. In fact, I’ve found the sessions at this conference to be of very high quality consistently over the years. Aside from giving a talk, I attended over 30 other sessions covering a range of topics. Here are my top 5:

No. 5: Scaling Your API Development Workflow: Five Simple Things You Can Do Today

Emmanuel Paraskakis and Adam Kliment (Oracle) discussed 5 things you can do to improve your API development workflow – keep your APIs consistent, treat them like the products they are, don’t let change manage you, automate testing, and treat API design as the single source of truth.

The talk was largely about various advanced features of Apiary, an API design platform acquired by Oracle earlier this year, and it felt a bit too “sales-pitchy”. Having said that, the features presented in this session are available in other platforms as well, I was not aware of many of them, and I left convinced that the presented approach really is a good way of designing APIs. I’m excited about looking into applying these techniques in practice.

You can find a recording of this session on YouTube.

No. 4: Docker Tips and Tricks for Java Developers

Ray Tsang (Google) delivered a talk on best practices for using Docker with Java applications. As I have a few years of experience of using Docker in production, I was familiar with the majority of the practices discussed during the talk. Ray, however, brought up a few interesting points about the Union File System, which showed me how I can improve my Docker images.

No. 3: Java 8 Programming Idioms

Venkat Subramaniam (Agile Developer) is one of my favourite conference speakers. His talks are always educational, engaging, and entertaining. I’ve attended most of his sessions at JavaOne this year, but this one stood out. In his typical style, Venkat showed examples to justify several practices he recommends for writing clean Java 8 code, particularly code utilizing the Streams API. I completely agree with the points he presented and I’m determined to include some of them in my code style.

You can find the materials from this talk on

No. 2: Need-to-Know Patterns for Building Microservices

Vincent Kok (Atlassian) gave an interesting talk covering several different patterns for developing and running microservices – basics, deployments, testing, security, operations, and decomposition – as well as the practices for implementing them.

You can find the slides from this talk on SlideShare.

No. 1: The Secret Sauce of Successful Teams

In this talk, Sven Peters (Atlassian) explained why he thinks the teams at Atlassian are successful, and shared some of the practices the company employs to keep their teams that way. Sven identified 4 key properties of great teams – compelling direction, strong structure, supportive context, shared mindset – and proceeded by explaining some of the tools and concepts used at Atlassian to support these properties. Although several items were specific to Sven’s company, I believe there were many things other companies can take inspiration from.

Check out the slides in the JavaOne session catalog.