I thoroughly enjoyed the conference, there was a very good mix of speakers and and technical talks at the conference and the atmosphere was great, my favorite type of conference.
I can not possibly do the 21 sessions that I attended over the 2 days justice but will attempt to provide a summary of my thoughts for each one. There is no doubt from the list of todo’s I have following the conference and asterisks next to things in my notes I will be writing more blog posts on individual subjects in the very near future.
Devoxx like to kick off their conferences with something a little different. James Vetch certainly provided with this, within minutes nobody in the audience could contain their laughter as he relied how he beat the scammers. All of those blatant scamming emails: unclaimed insurance bonds, diamond-encrusted safety deposit boxes, close friends marooned in a foreign country.. Standard procedure is to delete on sight, comedian James Veitch used it as the perfect opportunity to have some fun, with hilarious results.
To give you a flavor check out a video of one of the email responses:
“Failure is matter of when not if”. We build systems which can cope with failure, that deal with exceptions and we accept failure but not within our teams often with toxic results.
“We embrace failure in our systems code, but not in our processes”
Mazz talked about her Voldermort boss (“he who must not be named”), who is not happy if somebody dares to question his process in retrospectives and makes their life a misery if they dare to question and get in the way of their velocity points. We’ve all had these bosses, Mazz talks about her struggles in these teams and suggested some great books we should all read:
Emphasizes the importance of retro’s and why we shouldn’t be skipping retro’s as that often signals things are not right. So make sure you have them and everybody is actively participating. Listen more than you talk if you are senior, make sure the same people don’t talk every retro
Redistribute the power
Remember, “it is not your failure if you leave somewhere toxic”
Had, talks about all of the amazing stuff we get for free: continuous integration, source control management, SSL, open source libraries, but at what cost? Hadi provided a summary of the various start-up business models and asks people to consider at what cost when using free stuff, whether your privacy, or what you would do if the writer of your free open source library decides to do something else.
There have been recent examples, for example NPM packages being pulled and causing failures for software reliant on those packages. Remember;
“who owns your availability, you!”
Adventures with concurrent programming in Java: A quest for predictable latency” by Martin Thompson
Martin ran through the various patterns for concurrent programming in Java, explaining the difference between parallelism and concurrency and why it is important.
The presentation considered the following patterns:
A similar presentation by Martin is available on InfoQ
Build a recommender system using Apache Spark and Akka by Willem Meints
Unusually Willem is a Microsoft MVP at a Java Conference coding in Java and Scala. Willem demonstrated a recommender system similar to one which would be used by Netflix to recommend video content.
After this presentation my head was filled with ideas, which is how I know it was good. It literally blew my mind and has reignited my love of machine learning, once I get over the amount of heavy maths involved with machine learning!
Recommendations are the exploration mode of the internet
Willem used Apache Spark to load a series of movies into the engine and train the system to recommend movies based on the users interest, along the way explaining the algorithms behind the machine learning.
Arquillian Cube: Production Near Unit Tests Against Docker Images by Andy Gumbrecht
I think Andy might have worked for Tomitribe, he didn’t really mention it though, but did mention a TomEE container a few times was the way to go.
Andy demonstrated the use of Arquillian to write real tests and the use of Arquillian Cube to deploy using Docker. There is a getting started guide on Arquillian’s site
The Art of Angular in 2016 by Matt Raible
I enjoyed Matt’s overview of Angular2 and demo of it’s features, I have done a little with Angular 1 and look forward to trying Angular 2. It certainly looks like the technology to have on your CV based on the statistics shown within the talk.
From object orientated to functional domain modeling by Mario Fusco
I really enjoyable talk on functional programming, it even had references to 50 shades of grey.
You can use the ideas of functional programming in your everyday domain modeling, not just when you want to model the Fibonacci series
Mario, explained how OOP makes code understandable by encapsulating moving parts, functional programming makes code understandable by minimizing moving parts.
Leveling up your application security program by David Rook
I enjoyed David’s talk at Devoxx, particularly liked hearing about the interaction between the development and the security teams and how this is handled within Riot Games. Lots of ideas to take back to my work and apply, Riot Games security department aren’t your typical security team which action a checklist and vito a change (neither are ours), instead they work with developers and ask how to best help development teams. This might be from producing best practice guides on things to avoid and do in the languages used by the development teams or embedding a member of the security team into the development teams.
When I am bored in the winter I don’t download every Java application server and benchmark start-up times but that is exactly what Antonio Conclaves does, I am glad he does because it means I don’t have to.
Antonio’s talk was on the state of application servers, there is a summary on his site here
Java, Devices and the iOT Cloud by Andy Gilbert
Andy looked at why Java is the perfect language to bridge the gap between operational technology and information technology.
James demonstrated Counterpoint Composer he has written to leverage rules expressed by composers in the 16th – 18th centuries to create counterpoint music.
Java 9 Modularity in Action by Sander Mak and Paul Bakker
This talk supplemented a talk I went to a Manchester Java Community last month nicely and gave me the opportunity to get more exposure to Java 9.
Modularity is the ultimate agile tool
Sander and Paul explain how in the first few months of development it is really fast but after it starts to slow down and then after a year you wish you could get out of the project.
You find you create a spaghetti codebase
Jigsaw scheduled for release in March 2017 brings modularity to Java.
Monoliths to Microservices: Transforming the architecture of Criminal Justice by Stephen Strudwick
Stephen discussed how the criminal justice system are moving to micro services and how difficult this is and how they have chosen to approach it. The talk gave me loads of ideas of things I can apply. The Criminal Justice have developed a set of data principles and architectural principles and have worked hard to communicate these and make it easy for people to reason about the state of a software system.
Scaling Engineering by Hacking Conway’s Law by Aviran Mordo
Aviran works for Wix and he talks about how they scaled from 100 people to 1,000 people in 5 years and how the structure of the company has changed as a result. Wix have implemented something similar to Spotify’s Tribe’s and Squads model with Gangs, Guilds and Companies.
MVC 1.0 – by Example by Ivar Grimstad
Ivar ran through the new Action-based MVC framework for Hava which is being implemented as part of JSR 371.