9.00am - Registration
9.30am - Welcome
Keynote: Building Evolutionary Architectures - Rebecca Parsons, CTO at ThoughtWorks
For many years, software architecture was described as "the parts that are hard to change later". But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This talk, based on the recently published book Building Evolutionary Architectures co-authored by Rebecca anf Neal Ford, investigates how to build evolvable systems. The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework or technique leads to disruption and the establishment of a new equilibrium.
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Development - Marcos Mercuri & Daniel Lockman
A talk around various development environment automations us and other ThoughtWorkers have seen and built on many different projects, and learnings around best practices. We've seen serious work put into this drastically increase the productivity of developers, and solve a lot of the problems that microservices can otherwise cause.
NAO Robot: Mask of eNAOtion - Lina Alagrami
What is a NAO robot? What is the Mask of eNAOtion? I want to discuss how it is used, why and how this project is contributing to the treatment of autism.
11.35am - Break
A Microservices Journey - Susanne Kaiser
The journey from monolith to microservices is different for every organization. A variety of challenges come with introducing microservices itself, but also organizational circumstances impacting the transformation that needed to be considered. In this talk I would like to share some lessons learned from a microservices journey from a startup perspective - and in hindsight, what to watch out for if starting the journey again.
CI For Embedded Software - Lucas Jenss (@fresskoma) & Folker Bernitt (@folkerbernitt)
What are the approaches and challenges we encounter when applying continuous integration techniques to embedded software, where the behaviour is dictated by how the hardware, it’s (3rd party) firmware and its peripherals behave.
12.30pm - Lunch break
Blockchain - Jill Irving
The profound impact of lightweight API gateway written in a LISP (Clojure) - Chris Birch (@cpbirch)
We’ve all witnessed numerous projects stagnate in delivery because they have to maintain enormous quantities of POJOs, transforming those POJOs and having huge amounts of boilerplate code to manage these as immutable state. I’ll be sharing techniques that have resulted in teams deleting hundreds of classes, speeding up delivery and increasing quality.
Running windmills with machine learning - Anette Bergo (@anettebgo)
We use machine learning with advanced neural networks to accurately forecast production. There is big data processing, a data hub that we built ourselves and is actually quite cool, and even a data lake for complete buzzwordyness. And once we have the forecast, we start and stop the machines to optimise production. Hard problems = good times!
A Functional Approach to Architecture - Kafka & Kafka Streams - Kevin Mas Ruiz (@skmruiz) & Alexey Gravanov (joining in Munich & Barcelona only)
How to implement a solution using Kafka as a distributed database, KafkaStreams as a glue for different services and how to apply some Domain Driven Design concepts to ensure data integrity and design the boundaries of each service.
3.05pm - Break
FrontendOps - Giamir Buoncristiani (@giamir)
In this presentation Giamir will describe what modern frontend work looks like. He will talk about why compilers seem to be the new generation of frontend frameworks. He will highlight common pitfalls in building and serving web assets, and present a set of concrete practices teams can adopt to provide the best user experience while keeping most of their autonomy. All of the above to draw one conclusion: teams require a FrontendOps culture to succeed in the era of Microfrontends.
TRACK 2 (MANCHESTER)
Experience report on the intentional and unintentional evolution of a distributed architecture over 5 years - Shodhan
We are in a very interesting space where we own and maintain an estate of 30+ services (mix of java, clojure). Apart from the usual challenges with evolutionary architecture, the problem domain and operational structures of the organization constraint us to only evolve on a yearly cadence. This is the story of the things we managed to do well and not so well, things we planned for and things we missed planning for, the impact of tech hype cycles and the implications of ~300 different hands.
TRACK 2 (MUNICH & BARCELONA)
A hands-on introduction to your first data science project - by Emma Grasmeder
In this session we'll run you through the entire workflow of a machine learning application and introduce you to the different phases of a data science project: data exploration, prototyping, validation, and productization. From there on we will guide you to work hands-on on improving prediction accuracy or other features of the application.
Building application in a "Microfrontends" way - Prasanna N Venkatesen (@pvenk)
In this talk, we plan to explain some general tech considerations that developers need to be aware of while building a micro-frontends application. This comes from my year-long experience in building a micro-frontends application in a geographically distributed team. I will share some approaches and practices that worked for us and things that were learned from them!
QAing in a data platform project - Kalyan Muthiah
Dataplatforms evolve by solving 'first' ,the 'one' business problem that an existing system cannot solve or solves in a very painful way and uses this 'first' success to drive adoption.
While a huge amount of effort is required in building a platform from the ground up , it is very easy to be distracted (rightfully) by the 'one' usecase/application that will decide the future of the platform.
How do we ensure the speed of development of the application and the quality of the platform on which the application lives , at the same time ? The order in which things are built ( platform components/features vs application features ) dictate how testing evolves for the whole lot. This talk is to share how ours evolved..