Roy van Rijn is a Software Craftsman at JPoint. He worked on miscellaneous projects and has given talks at Devoxx BE, Devoxx UK, Devoxx PL, Joy of Coding, J-Fall and J-Spring. He regularly gives trainings on various topics, including Spring, Software Architecture, Testing and Agile/Lean. He's also a blogger (http://www.royvanrijn.com) and you can follow him on Twitter (@royvanrijn).
What is software architecture? Is it the decision to adopt microservices? Is it the document that describes the layers in your Java EE application? No, every line of code you commit is part of your evolving architecture.
During this talk I'll explain how we, at the Port of Rotterdam, manage our software architecture in an highly agile environment building a successful harbour management system. We spend the last two years transitioning from a modular monolith to a microservice environment.
How did our architecture evolve? What is the role of the architect? Do we even need an architect? We'll dive into problems like cargo cult, survivorship bias, shared responsibility, technical debt and system design. In the talk I'll tell about our experiences and the do's and don'ts we've encountered.
Roy finds out the subject of this Blind Ignite talk at the same time as the audience - when the slides start. After the intensity of a hectic conference day, join us for something improvised - it could be hectic, it will be fun!
Google's AlphaGo is an extraordinary breakthrough for Artificial Intelligence. The game of 19x19 Go has 1.74×10^172 unique positions and is about a 'googol' times harder to calculate than chess. Experts thought it would take at least another decade before AI would be able to beat the best human players. So how did Google tackle this problem? What algorithms did they use and how do they work?
Who should attend your session?
It turns out I'm giving two talks at Devoxx UK. If you're interested in math, AI and deep learning and you'd like to learn more about what it takes to write a program that plays games, the first talk (From Tic Tac Toe to AlphaGo: Playing games with AI and machine learning) is right up your alley.
The second talk (Fostering an evolving architecture in the agile world) focusses on software architecture in an agile environment. I'll mainly speak about the adventures, both good and bad, we've had making a large application for the Port of Rotterdam and transitioning it to a microservice landscape. Architecture is something we all have to deal with, not just your TOGAF certified dictator. Every line of code you write is part of your evolving software landscape. Do you write code and do you like agile? You are the one I'm looking for.
What are the 'next steps' for an attendee to take after attending your session?
There are two take-aways from my sessions: 1) If you haven't experimented with AI and deep learning (for example with deeplearning4J), start doing that right now. It is the future of our profession.
2) Architecture always needs to be on your mind, with every line of code. Next time you code, think about the basic rules of architecture.
Who is your favourite fictional British character?
My favourite fictional British character? Wow... I'll have to go with Q from James Bond. Full of humor, gets to work with the greatest gadgets in the world. He's an inventor and in recent movies he's also a hacker.
How did you get started with AI?
When I started programming (in QBASIC) as a teenager the first things I programmed were simple games. To make these games more interesting I had to also program opponent's, game AI. This is where I learned about tree-search and other basic tools you need in AI, and these things are still relevant, even in programs like AlphaGo and Deep Blue.
What tools did Google use for Alpha Go?
Well, Google didn't invent AlphaGo, it was a startup company called DeepMind (later acquired by Google). They started out using a combination of C++, Lua and Torch (for machine learning). But, not surprisingly, they've now moved from Torch to Google's own machine learning framework TensorFlow.