-
keyboard_arrow_down
Jeff Patton - Keynote - MVP: and Why We Confuse Building to Learn with Building to Earn
60 Mins
Keynote
Intermediate
Minimum viable product is one of the most misunderstood, misused, and abused terms in contemporary software development. In this talk Jeff will explain the misunderstandings made by thought leaders that lead to confusion we all deal with today. You’ll learn the counter-intuitive concepts hidden in the term and why really using them is so hard. You’ll learn about techniques that will ultimately help you find smaller successful releases, test your ideas faster, develop higher quality software more predictably, and release more confidently than ever before. Because hidden in this nasty little term are clues that can help you do all that.
-
keyboard_arrow_down
Michael Nygard - Keynote - Uncoupling
60 Mins
Keynote
Intermediate
We overload our terms a lot in this industry. "Coupling" is one such. That word covers situations ranging from essential to accidental to comical to cosmic. Coupling seems to be the root of all ills. It is the molasses that slows our every move. And yet, in the industry from which we borrowed the term, "coupling" was not a dirty word. It meant something ingenious. Let us contemplate coupling for a time and see what we can do about it.
-
keyboard_arrow_down
Gregor Hohpe - Keynote - Enterprise Architecture = Architecting the Enterprise?
60 Mins
Keynote
Intermediate
Architects in the enterprise are often regarded as ivory tower residents who bestow their utopian plans upon project teams in the form of colorful diagrams that bear little to no resemblance to reality. The most suspicious in this group are often the “Enterprise Architects” who are perceived as being furthest from actual technical problems.
However, large-scale IT operation and transformation require transparency across hundreds or thousands of applications running on all sorts of middleware in data centers around the globe. The very enterprise architects are likely the only ones who stand a chance to bring transparency into such an environment and who can direct IT investments in the hundreds of millions of Euros towards modernization and run-cost reduction. This sounds a lot more exciting and valuable than drawing pictures!
This session takes a serious but light-hearted look at the role of enterprise architects in modern IT organizations.
-
keyboard_arrow_down
Cameron Joannidis - Building a centralised Machine Learning Pipeline with Spark and Kafka
50 Mins
Talk
Intermediate
Many organisations face the difficult challenge of enabling Machine Learning projects to get to market more quickly and to allow data science teams to share their features. In this talk, I will be discussing the machine learning pipeline developed at a large Australian telecommunications company to achieve this goal using Kafka and Spark as well as the challenges faced along the way. I’ll begin by discussing the utility and motivation for a centralised feature store, before looking at the complexities of such an undertaking (both technical and organisational). We will then dig into the technical details of implementation by discussing the scalability headaches we faced and dive into the details of the solutions used to drastically improve the speed and organisational scalability of the system. Several areas that will be covered are providing a declarative API that allowed us to compile feature definitions into optimised spark code, the complexity of a true streaming dedupe, adjusting the workflow for different machine learning use cases, fine tuning the resource allocation to avoid unnecessary bottlenecks and allowing for streaming and batch data sources. Finally we will touch on lessons learnt along the way and offer advice on things to avoid as well as how to take things to the next stage.
-
keyboard_arrow_down
Sebastian von Conrad - Go Back to the Future with Event Sourcing and CQRS
50 Mins
Talk
Intermediate
Event Sourcing is an approach to building software with a long track record of success. By placing business concepts at the heart of our code, we can decouple systems into small services that can be quickly built, changed, and replaced. Although Event Sourcing has been around for many years, it remains outside the mainstream paradigm of software development–much to our detriment.
With Event Sourcing, we place the highest value on the simple capture of essential business events without attempting to interpret them. We can then relegate all interpretations of those events to subsystems that are easy to build, change, and replace when necessary. The resulting systems have single responsibilities and are decoupled from each other, which makes them simple to modify. Event Sourcing can enable us to move faster by supporting rapid experimentation with new perspectives, new user interactions, and new insights into our business.
Event Sourcing is agnostic of technology stack and language style, but it goes well with another pattern called CQRS: Command Query Responsibility Segregation. In this talk, we will do a deep-dive into both of these two patterns and discuss:
What is Event Sourcing, and how does it differ from systems designed around current state.
Interpreting Events into denormalised projections for very fast reads (Queries).
Receiving and validating Commands that, if successful, result in new Events.
Single responsibility services for reacting to Events by creating other events and, if necessary, triggering external behaviour.
We will cover the advantages of the pattern, to give us an idea for when and why it makes sense to use it. But it isn’t a silver bullet, and we will also talk about its disadvantages, including the most commonly mentioned downside: eventual consistency, and how we can deal with it. -
keyboard_arrow_down
Vincent De Smet - Terraform and Enabling Self-Service Developers with Terraform Modules
50 Mins
Talk
Intermediate
As companies adopt cloud and SaaS providers, 'elastic' resource usage easily explode if ungoverned. How can we ensure controlled costs, versioned changes and a repeatable infrastructure across teams? In this talk Vincent will highlight what challenges tools such as Terraform helped him solve, how to start adopting Infrastructure as Code and how to provide a self-service workflow for other engineers to ease IaC adoption across your company.
-
keyboard_arrow_down
Heidi Helfand - Dynamic Reteaming at Fast-Growing Companies
50 Mins
Talk
Intermediate
Team change is inevitable, especially when your company is hiring like crazy and doubling in size. Your teams might grow and split. 20 people might arrive in one day. What feels like tectonic shifts happen as you morph structurally to refocus people and work. How can we bring a humanistic stance to this dynamic reteaming? How can the people be empowered to have ownership over their team change? How can we integrate the new people and redefine our sense of “culture?” We will explore questions like these and will discover practical strategies to master dynamic reteaming.
-
keyboard_arrow_down
Dave Farley - The Rationale for Continuous Delivery
50 Mins
Talk
Intermediate
The production of software is a complex, collaborative process that stretches our ability as human beings to cope with its demands. Many people working in software development spend their careers without seeing what good really looks like. Our history is littered with inefficient processes creating poor quality output, too late to capitalise on the expected business value. How have we got into this state? How do we get past it? What does good really look like? Continuous Delivery changes the economics of software development for some of the biggest companies in the world, whatever the nature of their software development, find out how and why.
-
keyboard_arrow_down
Heidi Helfand - Dynamic Reteaming at Fast-Growing Companies
480 Mins
Workshop
Intermediate
Team change is inevitable, especially when your company is hiring like crazy and doubling in size. Your teams might grow and split. 20 people might arrive in one day. What feels like “tectonic shifts” happen as you morph structurally in an attempt to refocus work and people. How can we bring a humanistic stance to this dynamic reteaming? How can the people be empowered to own their own team changes? How do you integrate the new people in without losing your sense of “culture?” We will explore questions like these with an interactive format. Along the way, I’ll share case studies from 3 successful startups I’ve been a part for nearly 20 years.
-
keyboard_arrow_down
Dr. Denis Bauer - Serverless compute and artificial intelligence transforms life science research
50 Mins
Talk
Intermediate
Genomic data is outpacing traditional Big Data disciplines, producing more information than Astronomy, twitter, and YouTube combined. As such, Genomic research has leapfrogged to the forefront of Big Data and Cloud solutions using artificial intelligence and machine learning to generate insights from these unprecedented volumes of data. This talk hence showcases how we find the disease genes responsible for ALS using VariantSpark, which is a custom random forest implementation built on top of Spark to deal with the 80 million columns in genomic data. This talk also outlines how we use a serverless architecture to translate these insights onto the clinical practice by provide a decision support framework for clinicians to find actionable genomic insights and process medical records at a speed fit for point-of-care application. Furthermore, the talk also touches on how to evolve serverless architecture more efficiently through an hypothesis-driven approach to DevOps and how we keep data and functions secure in a serverless environment.
-
keyboard_arrow_down
Mark Hibberd - Failure and Change: Principles of Reliable Systems
50 Mins
Talk
Intermediate
As we construct larger or more complex systems, failure and change are ever-present. We need to accept and even embrace these tensions to build software that works and keeps working.
This is a talk on building and operating reliable systems. We will look at how systems fail, particularly in the face of complexity or scale, and build up a set of principles and practices that will help us implement, understand and verify reliable systems. -
keyboard_arrow_down
Katie Bell - Containers in Production
50 Mins
Talk
Intermediate
Docker containers are appearing everywhere. They give you a reproducible and isolated environment for your code to run in. Great, so how do I take my container and run it in production? I need load balancing, service discovery, autoscaling, logging etc. and they don't magically appear in container land.All the big cloud providers offer hosted ways for you to run Docker containers in production. This is great because most of us don't have a large ops team to set that up. Unfortunately these systems still require a fair amount of setup and configuration to run a production ready service. With a particular focus on the AWS and cross-platform tools available, I'll show you how to launch a containerised service on each of them and go through why you might pick one over another. -
keyboard_arrow_down
Simon Raik-Allen - From the Caveman to the Spreadsheet and Beyond
50 Mins
Talk
Intermediate
In this talk Simon will take us on a historical voyage through the representation of information in software and the internet. From tables and charts, through mind maps, info-graphics, multi-dimensional views, and Minecraft. On the way he will explore tooling such as spreadsheets, 4GLs, RADs, workbooks, AirTable, Coda and more. With that background he’ll then dive deeply into the software architecture of a new and exciting platform currently in development, The Big Crunch, which will lead us to an interesting discussion on scale and the making of assumptions that can allow you keep growing a system... or not! Its going to be fast paced and fun, so don’t miss out.
-
keyboard_arrow_down
Dave Thomas - Living Live in Big Data – Vector Programming and Visual Analytics
50 Mins
Talk
Intermediate
And Now For Something Completely Different?
What do stock ticker feeds, web click streams, micropayments, online games, smart meters, and sensors on a formula one race car have in common? They all need to compute over and visualize large volumes of time series data. In this talk how one can interactively explore and visualize massive data sets using a vector functional programming.
Vector languages are heavily used in finance for the analysis of stock market data. They have inspired array capabilities in other languages, such as R, MatLab, Python NumPy, and Pandas. Vector languages and runtimes enable rapid interactive development of concise and efficient applications. Vectors are a natural low impedance abstraction for dealing with high-performance column stores. We introduce the key concepts of vector programming, applicative style, and idioms of FP. We then illustrate their use on typical data science problems exploring large data sets using visual analytics.
-
keyboard_arrow_down
Erin Zimmer - Adventures with the JavaScript Event Loop
50 Mins
Talk
Intermediate
The Event Loop underpins everything that happens in JavaScript. It’s how JavaScript handles I/O events without blocking, even though it’s single-threaded. It's responsible for executing callbacks and managing repainting.
In this talk, we'll have a look at how the Event Loop interacts with WebAPIs and the rendering pipeline and how it manages tasks and task queues. And we'll see what's so special about Promises and check out event loops outside the browser window, in Node and web workers.
-
keyboard_arrow_down
Martin Thompson - Interaction Protocols: It's All About Good Manners
50 Mins
Talk
Intermediate
Distributed and concurrent systems can be considered a social group which collaborate to achieve collective goals. In order to collaborate a system of rules must be applied that affords good hygiene, fault tolerance, and effective communication to coordinate, share knowledge, and provide feedback in a trusted manner. These rules form a number of protocols which enable the group to act as a system that is greater than the sum of the individual components.In this talk we will explore the history of protocols and their application when building distributed systems. Protocols provide the foundation on which the quality attributes are delivered. Qualities such as performance, resilience, and security. -
keyboard_arrow_down
Heidi Helfand - A Practical Introduction to Coaching Conversations
480 Mins
Workshop
Intermediate
Listening is power. By tuning in and applying self-management and directed curiosity, you can help others solve their own problems instead of telling them what to do, giving them the tools they need to be leaders in your organization rather than order takers. Heidi Helfand leads a crash course in coaching conversations, helping you become a better and more empowering leader, coworker, and friend.
Heidi first makes the case for focused attention, listening, and awareness—skills that help people feel “heard.” You’ll then learn specific strategies like the three levels of listening, paraphrasing, and mirroring and discover how you can draw people out by asking powerful, open-ended questions. You’ll be able to apply these lessons to all areas of your life. -
keyboard_arrow_down
Dave Farley - Advanced Deployment Pipeline Techniques
480 Mins
Workshop
Intermediate
The Deployment Pipeline is a central concept in Continuous Delivery. It represents an effective, controlled channel through which all changes destined for production pass.
A defining objective in CD is to work so that our software is always in a “releasable state”. By applying high levels of automation to our development process, in the form of a Deployment Pipeline, we pass all changes to our production systems through this channel and evaluate them prior to release.
This means that the pipeline quickly becomes a strategic resource.
As our use of this important tool grows, the performance of the pipeline, in terms of the rapidity with which it can give valuable feedback on the quality of your work, becomes a central concern.
-
keyboard_arrow_down
Michael Nygard - Production Ready Software
480 Mins
Workshop
Intermediate
In this full-day workshop, you will learn how to create applications that survive the rigors of life in production. Too often, project teams aim to pass QA instead of aiming for success in production. Testing is not enough to prove that your software is ready for continuous availability in the corrosive environment of the Internet. During this workshop, you will receive an understanding of the architecture and design patterns that can produce high availability in distributed, multithreaded systems. You will also learn about the antipatterns that can sabotage your systems availability and capacity.
-
keyboard_arrow_down
Jeff Patton - Passionate Product Ownership: A Certified Scrum Product Ownership Workshop
960 Mins
Workshop
Intermediate
Product Ownership is hard! If you’re working as a product owner in an Agile team, you already know this is the toughest and most critical role in a successful product organization. If you’re a UX practitioner, senior engineer, or marketing professional in your organization, it may seem like adopting Scrum or Agile development has stripped away your ability to contribute as a product decision maker.
If you’re adopting an Agile approach, your organization may be struggling with bloated backlogs that aren’t well understood, stressful planning meetings that last too long and fail to get at details needed to deliver predictably, a nagging feeling that you’re building the wrong thing, a lack of time to work with customers and users, chronically late delivery, and frustrated business stakeholders...There’s hope!
The Passionate Product Ownership workshop takes on the bad assumptions and bad practices that often emerge from overly simplistic approaches to agile development and Scrum. Jeff Patton will leverage his past product leadership experience, and years of coaching product teams to teach an effective product ownership strategy.