Engineering the Future of Software
29–31 Oct 2018: Tutorials & Conference
31 Oct–1 Nov 2018: Training
London, UK

Speaker slides & video

Presentation slides will be made available after the session has concluded and the speaker has given us the files. Check back if you don't see the file you're looking for—it might be available later! (However, please note some speakers choose not to share their presentations.)

Heidi Waterhouse (LaunchDarkly)
Here's some sad news: staging is a lie and will never be identical to production, because production is unknowable. But here's the good news: production can contain multitudes, including features you aren’t ready to turn on or activate yet. Join Heidi Waterhouse for an exploration of the ways that you might be able to kill staging and perform better.
Yan Cui (DAZN)
Chaos engineering is a discipline that focuses on improving system resilience through controlled experiments that expose the inherent chaos and failure modes in your system. While most of the publicized literature and tools focus on killing EC2 servers, Yan Cui explains how to apply the same principles of chaos to a serverless architecture built around AWS Lambda functions.
Liz Rice (Aqua Security)
Liz Rice explores the security implications of microservices, containers, and serverless and addresses the questions you need answers to: Will your deployments be less secure or more? How do DevOps processes like CI/CD and cluster orchestration affect your security profile? And what can we all do to minimize the risk of exploits?
Maggie Carroll (MAG Aerospace)
Software architects and enterprise architects work with a variety of roles, and often the deep technical work is performed by other application architects or solutions architects. Maggie Carroll shares useful skills and actionable techniques for creating a new architecture function and leading other architects in developing a system of systems.
Dennis Bijlsma (Software Improvement Group), Haiyun Xu (Software Improvement Group)
Dennis Bijlsma and Haiyun Xu explain how to measure the maintainability of software landscapes that consist of many systems communicating with each other—and what that means for the teams working on them. Along the way, they explore a number of trade-offs to consider when designing the landscape and share best practices for modern software landscape architectures.
Trisha Gee (JetBrains)
Trisha Gee shares advice and lessons she learned the hard way while managing her career as a developer, lead, and technical advocate. She also gives you tools for working out what your next steps are along with plenty of examples of what not to do.
John Chapin (Symphonia)
With systems like Travis CI, Circle CI, and CodeBuild, we're never more than a few lines of YAML away from a complete continuous delivery pipeline. However, ephemeral build systems constantly recreate the world from scratch, increasing build time and lengthening the CD feedback loop. John Chapin addresses those challenges and shares a reference pipeline using AWS CodePipeline and CodeBuild.
Tyler Treat (Real Kinetic)
Distributed systems are not strictly an engineering problem. Tyler Treat looks at distributed systems through the lens of user experience, observing how architecture, design patterns, and business problems all coalesce into UX. Tyler also shares system design anti-patterns and alternative patterns for building reliable and scalable systems with respect to business outcomes.
Asher Sterkin (Blackswan Technologies)
We don't yet have an adequate language for describing serverless architectures. Today, we use informal diagrams in which no precise meaning can be attached to the diagram as a whole or to any particular element. Asher Sterkin explains why this is a problem and what we can do about it.
Wenbo Zhu (Google)
Wenbo Zhu illustrates the key architectural properties and underlying technologies to create and deploy a real-time, stateful application on top of the completely stateless serverless architecture.
Danske Bank is implementing ideas and practices such as CI/CD, microservices, and DevOps within the extreme conditions of a financial enterprise. Angelo Agatino Nicolosi explains how the bank is defining and delivering brand-new financial services at startup speed through the simple concept of an enclave.
Michael Van Kleeck (Mozilla)
How can Mozilla evolve its products and capabilities to serve the global, human-driven internet of the future? The company is guided by its mission and supported by the capabilities of its staff and community. Michael Van Kleeck dives into how Mozilla uses its version of enterprise architecture to wisely explore, evaluate, and pivot to and from future opportunities.
Kishau Rogers (bigThinking)
The future of software is being driven by intelligent applications. By the year 2020, more than 85% of customer interactions will be carried out without humans. The road to enterprise intelligence starts with the humans behind the curtain. Kishau Rogers explains how to reduce the friction of AI adoption in the enterprise using systems thinking and people-centered workflows.
Rotem Hermon (SAP)
We developers and architects are a major force influencing software, technology, and the world it creates. If we really want to create a better world, we need to open our eyes to the link between ethics and software. Rotem Hermon discusses ethical challenges related to technology, sense of self, politics, and truth and explains what we can do about it.
Marco Emrich (codecentric)
Event-driven programming has been proven useful in many situations. However, the asynchronous programming model often needs some time to get used to. Marco Emrich explores event concepts in a familiar language and walks you through solving an exciting kata with the help of event-driven programming.
Microservices provide a way to break up a monolithic architecture into multiple atomic units, allowing an independent scalability of a service. They also provide a better way to divide the domains across multiple teams. Luca Mezzalira explains how to apply the same principles to frontend applications, enabling you to scale up a project with tens of developers without reducing the throughput.
Bulama Yusuf (Intellectual Apps)
As people with strong technical backgrounds, we know how to get most out of the tools and devices we use, but this doesn't necessarily guarantee best results on a team. Bulama Yusuf explores proven ways to communicate and connect with a team as a software architect, ensuring that your team is working at its best.
Communicating about architecture to non-IT and business stakeholders is a valuable skill for architects. After all, many architectural decisions are made by others, so they need to be informed with clear, honest, intelligible, and helpful information and advice. Jochem Schulenklopper shares theory and practical tips on eight facets of the visual communication of architecture.
Szymon Pobiega (Particular Software)
And you shall do it only once. Exactly once. That's a very common assumption for most of business software. One trigger equals one outcome. Szymon Pobiega explains why duplicate messages are a fact of life in distributed systems (and why no infrastructure can help you). Fortunately, Szymon also shares tips on how to deal with nasty duplicate zombie messages.
Mike Roberts (Symphonia)
Serverless computing offers the benefits of accelerated delivery and reduced operations costs. However it also brings tooling and architectural challenges. What are safe yet effective methods to introduce serverless to your organization? Mike Roberts discusses several options, drawn from his experience with teams that have faced this precise question.
Mike Amundsen (, Inc.)
Microservices is a popular but vague term. Definitions of microservices can vary depending on what you want them to accomplish and how you want them to communicate with each other. Join Mike Amundsen to learn about the three types of microservices, see what makes them unique, and discover when you deploy each of them.
Tom Hofte (Xebia), Marco van der Linden (Xebia)
A web API is a channel into your business domain. Because of its simplicity, REST is the de facto standard for developing web APIs, but translating complex domain behavior to simple REST concepts is typically not straightforward. Tom Hofte and Marco van der Linden explore RESTful resource modeling and share practical solutions to bridge the gap between a domain model and a RESTful API.
Maria Gomez (BCG Digital Ventures)
Think of this talk as a Microservices 201. You know microservices basics, but can you successfully maintain them in production? Join Maria Gomez to explore the concept of observability as a way of maintain a healthy production environment.
Chris Richardson (Eventuate)
Chris Richarson details several anti-patterns of microservices adoption that he's observed while working with clients around the world. You'll learn the challenges that enterprises often face and how to overcome them as well as how to avoid the potholes when escaping monolithic hell.
Building microservice architectures is complex. Handling the involved complexities is usually left up to the development teams to implement. Using open source components to address these challenges is an option, but this quickly leads to excessive library bloat in your microservices. So let's put them on a diet—with Istio. Join Mario-Leander Reimer to learn how.
Allard Buijze (AxonIQ), Nakul Mishra (Casumo)
The architectural principle of CQRS makes great promises about the scalability of applications. Allard Buijze and Nakul Mishra elaborate on these promises and explain how to bring them into practice. Along the way, they provide insight into the challenges Casumo faced while scaling from thousands to billions of events and how they were resolved.
Rob Wilson (SailPoint Technologies)
Microservices have quickly become a popular way to develop software systems. But as organizations implement production systems based on microservices, they are recognizing the importance and complexity of securing microservices. Rob Wilson shares techniques for securing microservice APIs and details a practical multiplatform model that you can use for securing your own microservice environments.
Michael Garski (Fender Digital)
Fender Digital’s service infrastructure is 100% serverless. The promises of serverless include reduced costs and simplified operations; the challenge lies in how to implement complex applications on a FaaS platform. Michael Garski shares best practices Fender Digital has established to optimize function performance and ensure observability.
Vladik Khononov (DoiT International)
Vladik Khononov shares his experience using the domain-driven design methodology at Plexop, a large-scale marketing system that spans over a dozen of different business domains, from the management of advertising spaces to sales agents’ commissions.
Seth Dobbs (Bounteous)
Communication is not an optional soft skill for architects. It's essential to your success. You may have the most brilliant ideas, but if you're ineffective in communicating their value or if you can't obtain buy-in from your stakeholders, you won't be successful. Seth Dobbs shares a process for effectively shaping and communicating your solutions to different stakeholders.
Tobias Uldall-Espersen (, Thomas Krogsgaard Holme ( )
Tobias Uldall-Espersen and Thomas Krogsgaard Holme explain how they applied microservice architecture and privacy by design principles to break down a monolithic portal containing 50+ products—the Danish national ehealth portal—redesign it, and produce a scalable and flexible platform in compliance with the EU General Data Protection Regulation (GDPR).
Sarah Wells (Financial Times)
How do you decide whether to adopt a leading-edge technology? The Financial Times recently migrated its content platform to Kubernetes. Join Sarah Wells to find out what it takes to migrate 150+ microservices from one container stack to another without affecting the existing production users and while the rest of your teams are working on delivering new functionality.