JAX London is a four-day conference for cutting-edge software engineers and enterprise-level professionals. JAX brings together the world’s leading innovators in the fields of JAVA, microservices, continuous delivery and DevOps.
Daniel Bryant – Empathy: The Missing Ingredient in Effective Software Development?
When I ask fellow developers what they think about empathy, the answer is often “not much”. However, I believe that the skill of empathy, being able to place yourself in another’s position, is crucial to designing, building and operating software at any scale. Join me for a whistle-stop tour of the benefits of empathy, which I learned from working on a large variety of software projects over the past ten years. I will share success stories and battle scars, and suggest practical techniques that you can harness in order to help your team develop empathy.
Monica Beckwith – A Guide to OpenJDK HotSpot Garbage Collection
Monica Beckwith is a JVM/GC Performance Engineer and has worked with the HotSpot VM for more than a decade. In this presentation, she will talk about GC Performance Engineering while providing GC facts and examples. She will also discuss various OpenJDK HotSpot GC algorithms and will provide advice on this topic.
Niklas Gustavsson – Operating the Spotify Backend
Spotify has a highly distributed engineering organization with more than 80 autonomous teams and has been experiencing fast growth. Matching the organization, the Spotify backend consists of hundreds of small services, each owned by one of the teams. Teams not only build their services, they fully operate them. In this talk, you’ll learn how Spotify went from a small centralized operations team, to fully distributed operations and how that has enabled us to both grow as a company and constantly scale our backend to an ever growing number of users.
Keynote: Nigel Abbott – InnerSource, Adopting Open Source Principles
More and more organisations are adopting open source principles in order to build software. They recognise that open source projects are a productive and successful way of delivering high quality code that solves complex business problems. These organisations allow their developers to share their work without boundaries, require code reviews to be focussed and open to everyone in the company, encourage documentation to be added to the same code repository and implement rigorous automation to test and deploy their code. By adopting these principles they increase productivity and build better software that is shipped earlier and more often.
Dan Allen – Write in AsciiDoc, Publish Everywhere
AsciiDoc takes the pain out of writing and keeps your content DRY. As with any solution, you need to learn the tools and best practices to be effective, such as:
* How to organize your documentation * How to make your documentation approachable to contributors * How to make your documentation easy to maintain * What tools to use to simplify collaboration & maximize reuse
I’ll address some of the challenges I’ve encountered while writing documentation in AsciiDoc, offer a set of tips and recommendations that have helped me improve my writing flow, evaluate the tools available in the Asciidoctor ecosystem and provide advice on how to keep presentation from leaking into your content…and why that matters.
Steve Poole – Defending Against the Dark Arts of CyberCriminals
In the emerging world of DevOps and the Cloud, most developers are trying to learn new technologies and methodologies. The focus tends to be on adding capabilities such as resiliency and scaling to an application. Still, one critical item consistently overlooked is security. The world of the Cyber Criminal is closer than you realize. Watch a real man-in-the-middle demonstration and learn just how simple it can be for others to steal your secrets. In this talk you’ll learn about other practical examples of how you can inadvertently leave the doors open and what you can do to keep your system secure. In the end, security is everyone’s concern and this talk will teach you a few of simple actions you can take (and some behaviours you must change) to create a more secure application in the Cloud.
Vladi Shlesman – Thinking Out of the Container
Enterprises are looking to reduce the complexity of continuous delivery of enterprise applications by utilizing the benefits of container technology. Leveraging Docker’s containers is quickly becoming an increasing component in our customers’ strategies, and we invite you to join our session to learn more about how AUTOMIC continues to centrally orchestrate and speed up the continuous delivery process.
Duncan Pearson – Decision-Making in the Face of Disruption
Today’s markets are in constant motion and traditional planning methods are not the silver bullet anymore. When it comes to adapting to customers’ fast-changing expectations, startups are usually considered the champions at delivering results that satisfy their demands. Larger companies which used the scale of their business as leverage are now obligated to rethink their planning and decision-making profoundly.
This applies across all areas of the business, including finance, sales, marketing, workforce planning and supply chain. Anaplan is an online platform for building planning and forecasting applications that help to solve that problem and has proven already its success with many of the largest companies in the world.
John Davies – Understand Your Data
If your CSV, JSON, XML, database table, NoSQL store or Java Object has “20160704000000” in it as a String or even a number then you are part of the Big Data problem and a long way from Fast Data. The space is occupies is one thing but performance is another. To perform any sort of analytics on your data you need it in an efficient form for the CPU, in this case an int. From a business perspective if you’re trying to consolidate your counterpanes limit table with the daily Legal Entity Identifiers (LEIs) for risk compliance how are you going to do that if you can’t understand your data? John will walk through and demonstrate Java, mostly lambdas, that analyses your data and leaves you with data you can understand.
Bart Blommaerts – The Serverless Cloud
In recent years, the uprise of the cloud has brought us a lot of new and disruptive technologies. Everybody is talking about SaaS, PaaS, IaaS and other sorts of aaS. In 2014, Amazon launched AWS Lambda as the pinnacle of the cloud computing. It allows developers to focus on code, without spending time on managing servers. The goal of this talk is to introduce the serverless architecture style, but it will also contain demos (eg. using AWS Lambda and Google Cloud Functions) on how to make this style work. Expect Lambda functions in NodeJS, using DynamoDB, consuming other functions via the AWS API Gateway.
Tim Berglund – Four Distributed Systems Reference Architectures
Developers and architects are increasingly called upon to solve big problems, and we are able to draw on a world-class set of open source tools with which to solve them. Problems of scale are no longer consigned to the web’s largest companies, but are increasingly a part of ordinary enterprise development. In short, we are all distributed systems engineers now. In this talk, we’ll look at four reference architectures based on real-world systems that you can apply to solve the problems you will face in the next few years. We’ll look at the strengths and weaknesses of each architecture and develop a set of criteria for knowing when to apply each one. You will leave knowing how to work with the leading data storage, messaging, and computation tools of the day to solve the daunting problems of scale in your near future.
Chris Richardson – Developing Microservices with Aggregates
The Domain Model pattern is a great way to develop complex business logic. Unfortunately, a typical domain model is a tangled, bird’s nest of classes. It can’t be decomposed into microservices. Moreover, business logic often relies on ACID transactions to maintain consistency. Fortunately, there is a solution to this problem: aggregates. An aggregate is an often overlooked modeling concept from the must read book Domain Driven Design. In this talk you will learn how aggregates enable you to develop business logic for the modern world of microservices and NoSQL. We will describe how to use aggregates to design modular business logic that can be partitioned into microservices. You will learn how aggregates enable you to use eventual consistency instead of ACID.
James Governor – Java for Cloud Natives
Java for Cloud Natives – or better said the tale of how people and companies became Java shops. In this session James will talk about how Java’s resurgence was massively helped by the following buzzwords: microservices and big data . Are you curious to find out how a plethora of web companies transformed into Java shops? This is your chance to learn all about it..
Jan Ypma – Scalable Development of Reactive Event Sourced Systems
Event sourcing is an architectural pattern that derives current application state from a journal of changes, called events. Traditionally, this is only internal and not directly visible on a system’s API. An alternative is presented which exposes the events themselves as a real-time streaming REST API. This way, connected systems can materialize their own data, while being deployable and versioned independently. We will talk about how reactive programming helps with keeping the system performant and clusterable, how to deal with past vs. real-time events, what to do with security, in addition to sharing general event sourcing advice. The presented use case represents the development of a real-time document conversation tool, which in addition to its own message stream extracts data from several other existing sources. The core system is built in Java, Scala and Akka Streams, on a Cassandra database. Event consumers are written in other languages.