Agenda - Barcelona
9.00am - Registration
9.30am - Welcome
Keynote: 'Stories Every Developer Should Know' - Neal Ford, Director, ThoughtWorks
Those who cannot remember the past are condemned to repeat it. –George Santayana
The past is never dead. It’s not even past. –William Faulkner
Most developers pursue the Latest and Greatest with intense fervor, yet the history of engineering, including software projects, contains rich lessons that we risk repeating ad nauseam. This session recounts a variety of stories of projects that failed…and why. Ranging from the Vasa in 1628 to Knight Capital in 2012, each story tells of a mistaken interpretation of some architectural fundamental principle and the consequences–some good, some less so. I also look at the common threads for these stories, which resonates with problems many companies have but don’t realize.
Pets. Com, San Francisco project, The Vasa, F16, Sagrada Familia, Tacoma Narrows Bridge, null, Ada, Serialization, Knight Capital, Ariane 5, Webvan, Chandler project
This is kinda cool, but can I serve it from my Raspberry Pi? - Gesa Stupperich
Infrastructure-related skills are essential for developers in cross-functional teams who build microservices for the cloud. Becoming proficient in infrastructure development is not just about understanding the hardware and software components on top of which applications run in the cloud. It's also about being able to use the tools that provide virtual access to this infrastructure and enable us to provision, configure, monitor it, and deploy applications to it. In this talk Gesa shares how building a Kubernetes cluster of Raspberry Pis and serving applications from it can help in acquiring fundamental infrastructure skills.
A Different Type of Supermarket Delivery - Phil Jenkins
In a world of seamless deployments to auto-scaling cloud environments, a ThoughtWorks team found itself in a very different place - trying to deploy a RESTful pricing API to every one of a UK supermarket’s 40,000 tills in a reliable, repeatable fashion.
11.35am - Break
All your things will change: Build evolvable cloud infrastructure to make it easy - Kief Morris
Let's explore ways to implement cloud-based systems using automation tools like Terraform, CloudFormation, Ansible, Chef, Puppet, Docker, Kubernetes (anything, really) with change as a first-class concern. Apply agile engineering practices like Test Driven Development, Continuous Integration, and Continuous Delivery to your infrastructure. Adopt design patterns to make your infrastructure architecture loosely coupled and resilient.
CD in Machine Learning systems - Juan López López
This talk will focus on Techniques, metrics and different tests (code, models, infra and features/data) that help the developers of machine learning systems to achieve CD.
Building the first enterprise blockchain platform - Lucy Kurian & Shodhan Sheth
On VAKT we built a decentralised architecture with blockchain for commodity post-trading. During this session we would like to talk through; key considerations & challenges around decentralised architectures, patterns around maintaining & evolving immutable code [smart contracts] and building a real world system on top of the utopia of blockchain.
Kotlin and Arrow: the functional way - Noe Luaces
Kotlin is a great language for developing server-side applications; it's an object-oriented language and also a functional one, supporting features such as function types, lambdas or higher order functions. But...is this enough to switch completely from a imperative paradigm to a functional paradigm?
In this talk we'll see how features from Arrow library completes Kotlin in order to follow a pure functional way.
1.25pm - Lunch break
Reactive for the rest of us - Stefan Kuerten from OTTO & Lisa Junger
Reactive is being supported in more and more widely adopted frameworks and languages. We are expecting to see more coding along reactive paradigms, especially in systems of high throughput.
But what does it mean to go reactive with a team of people coming from a mostly imperative world? In what ways does it feel different, how do you get in the flow and how do you onboard new team members?
Chaos Engineering, when should you release the monkeys? - Steve Upton
Chaos Engineering is listed as 'Trial' in the ThoughtWorks Tech Radar, but what is it really and how is it different from traditional testing? When and why should you get started with Chaos Engineering and is Chaos Monkey the right place to start when you do?
3.10pm - Break
The Curse of the Data Lake Monster - Lucy Chambers & Kiran Prakash
Artificial intelligence and machine learning are currently all the rage. Every organisation is trying to jump on this bandwagon and cash in on their data reserves. At ThoughtWorks, we’d agree that this tech has huge potential — but as with all things, realising value depends on understanding how best to use it.
Towards a Secure Path to Production - Felix Hammerl
While some are still recovering from treating security as a second-class citizen, the rise of agile and lean methodologies have opened a door for information security into software development with an opportunity to arrange security along the team's value stream. Teams that write secure software often do so because of the efforts of individuals. This talk dives into the mindset, tools, and ceremonies necessary to systematically create a culture around information security.
When Data Meets Device: Looking forward to a data-driven physical world - Emily Gorcenski
The algorithms being used in machine learning are not actually new; they're decades old, and many of them were first used in problems in systems engineering. As early as the 1990s, researchers realized that the field of AI was studying the same concepts with different terminology, but for a variety of factors it was the AI space that found the most success. Nevertheless, we're coming back full circle as we see the integration of data, software, and physical equipment starting to blend together. What comes next in the world of data? And how can we learn from the technology of the past?
UI tests are dead, long live UI tests!- Aida Manna Loyarte
Is it really worth automating UI tests? In most of the cases, the cost of maintenance is much higher than the benefit they bring. However, it can still provide a lot of value, if kept to a minimum. In this talk I’ll explain what other kind of tests or techniques can be implemented to avoid doing that much UI testing. We will revisit the testing pyramid and explore how it can be adapted to context we now find in projects.