Agenda - Manchester
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.
Delivering Value in Short Term Data Engagements - David Michel
This talk will focus on lessons learned over the last year during participation data science client engagements. A number of common themes emerged during these projects. Client maturity in terms of expectations, infrastructure and data history were all key contributors to success.
12.35pm - Lunch break
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 in the real world - Astrid Novicky
The modern JVM language Kotlin is known to overcome some of Java’s limitations by providing for example null-safety, type inference, data classes and real functions. Last year we built a new online platform for a mentoring organisation 'One Million Mentors' using Kotlin with SpringBoot as API ecosystem. This talk will elaborate the ups and downs of working with Kotlin in a team with high fluctuation of just a few core members and many brilliant volunteers contributing to the project.
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.05pm - 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.
Continuous security in pipelines - Foo Meden
As the industry embraces a culture of automation and continuous delivery, the rate of change is faster than ever. Security testing traditionally happens just before deploying to production: can this scale when deployments happen more frequently? This talk will discuss how the same automation tooling that enables continuous change can be leveraged to enable continuous security too.
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.