YOW! 2019 Melbourne Day 1

Wed, Dec 11
08:30
  • Added to My Schedule
    keyboard_arrow_down
    Martin Thompson

    Martin Thompson - High-Performance Messaging & Services with Aeron

    schedule  08:30 AM - 04:30 PM place Room 1 people 2 Interested shopping_cart Reserve Seat

    In this workshop, you will learn how to build services with Aeron and SBE in Java. Services capable of handling millions of messages per second with very low and predictable response times. We will cover some networking theory and the design of Aeron so you know how to use it with mechanical sympathy.

  • Added to My Schedule
    keyboard_arrow_down
    James Shore

    James Shore - Faster, More Effective Test-Driven Development

    schedule  08:30 AM - 04:30 PM place Room 2 shopping_cart Reserve Seat

    Are your tests slow and brittle? Do you get a sinking feeling when you need to refactor? Do you worry that your unit tests aren’t actually testing anything important? If so, you could benefit from writing tests that don’t use mock objects. In this workshop, you’ll use Node.js to explore a cutting-edge approach to test-driven development (TDD) that doesn’t need mocks or end-to-end tests. We’ll re-examine test-driven development from first principles to create tests that are fast, effective, and easy to write. We’ll tackle real-world problems such as testing infrastructure, evolving mock-free designs from scratch, and working with existing mock-based designs.

  • Added to My Schedule
    keyboard_arrow_down
    Simon Brown

    Simon Brown - Visualising software architecture with the C4 model

    schedule  08:30 AM - 04:30 PM place Room 3 shopping_cart Reserve Seat

    It's very likely that the majority of the software architecture diagrams you've seen are a confused mess of boxes and lines. Following the publication of the Manifesto for Agile Software Development in 2001, teams have abandoned UML, discarded the concept of modeling and instead place a heavy reliance on conversations centered around incoherent whiteboard diagrams or shallow 'Marketecture' diagrams created with Visio. Moving fast and being agile requires good communication, yet software development teams struggle with this fundamental skill. A good set of software architecture diagrams are priceless for aligning a team around a shared vision and for getting new-joiners productive quickly.

    This hands-on workshop explores the visual communication of software architecture, based upon a decade of my experiences working with software development teams large and small across the globe. We'll look at what is commonplace today, the importance of creating a shared vocabulary, diagram notation, and the value of creating a lightweight model to describe your software system. The workshop is based upon the C4 model, which I created as a way to help software development teams describe and communicate software architecture, both during up-front design sessions and when retrospectively documenting an existing codebase. It's a way to create maps of your code, at various levels of detail. Static structure, runtime and deployment diagrams are all covered, so you'll be able to tell different stories to different audiences. We'll wrap up the day by looking at the tooling landscape and diagram automation to keep your diagrams in sync with your source code.

YOW! 2019 Melbourne Day 1

Thu, Dec 12
08:00

    Registration for YOW! Melbourne 2019 - 45 mins

08:45

    Session Overviews and Introductions - 15 mins

09:00
  • Added to My Schedule
    keyboard_arrow_down
    Gene Kim

    Gene Kim - The Unicorn Project And The Five Ideals

    schedule  09:00 - 10:00 AM place Grand Ball Room

    In my previous books, I’ve focused on principles and practices (e.g., Three Ways, Four Types of Work). However, I’ve always wanted to describe the spectrum of cultural, experiential and value decisions we make that either enable greatness or create chronic suffering and underperformance. They are currently as follows:

    • The First Ideal — Locality and Simplicity
    • The Second Ideal — Focus, Flow and Joy
    • The Third Ideal — Improvement of Daily Work
    • The Fourth Ideal — Psychological Safety
    • The Fifth Ideal — Customer Focus

10:00

    Morning Tea - 30 mins

10:30
  • Added to My Schedule
    keyboard_arrow_down
    Casey Rosenthal

    Casey Rosenthal - Evolving Chaos Engineering

    schedule  10:30 - 11:20 AM place Red Room

    Almost five years ago I published at manifesto of sorts at https://principlesofchaos.org to define a new discipline in software engineering called Chaos Engineering. It wasn’t about creating chaos, but rather identifying the chaos inherent in a complex system. The other practices that commonly address availability (incident management, alerting, monitoring, disaster recovery, etc) are all reactive: they focus on time to detect, and time to remediate. Chaos Engineering on the other hand is proactive: finding systemic vulnerabilities before they affect customers. Now that Chaos Engineering has high adoption at big tech companies and non-digital native orgs alike, we can look at how the practice is maturing. Our knowledge of systemic properties of complex systems is improving and leading us into a new era of Continuous Verification.

  • Added to My Schedule
    keyboard_arrow_down
    Aino Corry

    Aino Corry - Retrospective Antipatterns

    schedule  10:30 - 11:20 AM place Green Room

    Anti-Patterns are like patterns, only more informative. With anti-patterns you will first see what patterns reoccur in "bad" retrospectives and then you will see how to avoid, or remedy, the situation.

    Based on her experience with facilitating retrospectives, join Aino for an entertaining and informative presentation on the anti-patterns she has seen and how to overcome the problems. She gave the first version of this talk at YOW! 2014, and since then she has identified more and this talk will be interesting for everyone facilitating any kind of meeting, with retrospectives in focus.

  • Added to My Schedule
    keyboard_arrow_down
    Lars Klint

    Lars Klint - Building APIs Rapidly with Azure Functions

    schedule  10:30 - 11:20 AM place Blue Room

    APIs are what makes the Internet go around. Every SaaS, data driven and on-demand kitten business exposes their data over an external or internal API. Which means you need one too, right? Of course you do.

    Creating a secure API that be set up almost instantly for a whole development team to use, can scale up and out, can be extended easily, and can be easily maintained is the Nirvana of API architecture. This is exactly the promise of building an API with Azure Function Proxies.

    In this session, you will learn to quickly create a complete API using Azure Function proxies, forward requests, adhere to best practices, easily extend and more. At the end of the talk we will have built an API that is ready straight away for development against. We then compare this process to other API frameworks to get the real world picture.

11:30
  • Added to My Schedule
    keyboard_arrow_down
    Liz Fong-Jones

    Liz Fong-Jones - Cultivating Production Excellence

    schedule  11:30 AM - 12:20 PM place Red Room

    Taming the complex distributed systems we're responsible for requires changing not just the tools and technical approaches we use; it also requires changing who is involved in production, how they collaborate, and how we measure success.

    In this talk, you'll learn about several practices core to production excellence: giving everyone a stake in production, collaborating to ensure observability, measuring with Service Level Objectives, and prioritizing improvements using risk analysis.

  • Added to My Schedule
    keyboard_arrow_down
    Jason Yip

    Jason Yip - 3 insights from 4 years at Spotify

    schedule  11:30 AM - 12:20 PM place Green Room

    Thinking back over my 4 years at Spotify, I see 3 main insights: 1. Aligned autonomy is an ongoing struggle; 2. Building teams in the context of high growth require different assumptions; 3. Consulting companies are generally better at forming high-performing teams fast.

  • Added to My Schedule
    keyboard_arrow_down
    Scott Shaw

    Scott Shaw - Sensible Multicloud - An Enterprise Perspective

    schedule  11:30 AM - 12:20 PM place Blue Room

    We've reached a turning point in public cloud adoption where established businesses, even in highly regulated industries, are going cloud-first and making plans to eliminate their fixed, on-premise hosting environments entirely. But this wholehearted embrace of cloud hosting also brings risk. It's easy to ignore how deeply entangled and interdependent you might be with your chosen cloud vendor. This works to the vendor's advantage and the steady adoption of ever-more-attractive, higher-order services only deepens the entanglement. For some businesses this may be entirely appropriate, but for others, it poses a difficult question; how do you take advantage of the amazing delivery acceleration and developer experience offered by cloud vendors while retaining control over your IT assets and choice of hosting vendor? The answer is developing a sensible, pragmatic multicloud strategy for your business.

    This talk will summarise some of my experience consulting to enterprises in Australia. I’ll first review the state of public cloud adoption and examine why some businesses are falling short of their cloud expectations. Then I'll introduce a risk-based methodology for assessing the appropriate level of lock-in. Achieving cloud vendor portability introduces costs over the entire application lifecycle so I will show how to understand and balance those costs appropriately. Finally, I'll discuss some pragmatic architectural approaches to multicloud that avoid entanglement while minimising the amount of duplicated effort across vendors.

12:20

    Lunch - 60 mins

01:20
  • Added to My Schedule
    keyboard_arrow_down
    Todd L. Montgomery

    Todd L. Montgomery - Level Up: Quality, Security, and Safety

    schedule  01:20 - 02:10 PM place Red Room

    Increasingly our software systems have to be right the first time. The costs of software failures can devastate companies and hinder governments. Security breaches can have societal impacts that can last years. Software is hard to design and implement. Let alone design and implement well. What can we do to be better at designing and delivering better, safer, and more secure software and systems? Does language choice, such as Java vs. C++ vs. C vs. Erlang matter in terms of producing better software? When does security become a quality concern? Will AI lead to better or worse software and systems? In this session, we will discuss lessons learned from, among other things, almost a decade of working on NASA software projects that had to work correctly or people could die. And how these lessons continue to impact the speaker's mindset and outlook daily.

  • Added to My Schedule
    keyboard_arrow_down
    Ken Scambler

    Ken Scambler - Grow your own tech leads

    schedule  01:20 - 02:10 PM place Green Room

    Great technical leaders don't grow on trees - but they can be grown in-house all the same. This can be an important source of opportunity, learning and satisfaction for team members, and dramatically improve retention. However, there are specific things that can be done to make this process smoother - and a multitude of ways to make it fail. There is a real and underappreciated art not just to being a great technical leader, but giving new ones the tools, the space -- and the constraints -- they need to thrive.

    We'll look at the ways that architects, tech leads and managers can succeed or fail to help grow new technical leaders without excluding underrepresented folks, and a raft of actionable ideas for aspiring tech leads to take on board.

  • Added to My Schedule
    keyboard_arrow_down
    Michael Hunger

    Michael Hunger - How Graphs Help Investigative Journalist to Connect the Dots

    schedule  01:20 - 02:10 PM place Blue Room

    The Journalists of the ICIJ used graph technology to understand the relationships between the leaked pieces of information in the Panama and Paradise Papers.
    NBC News applied graph algorithms to the messages and follower networks of Russian Twitter trolls to gain further insights.
    The Trumpworld organizational data correlated with US bills and government contracts offers starting points for further investigations.

    New tools like graph databases allow data journalists to understand the intricate networks of the criminal, economic and political world better as those three examples show. Each journalist adding new connections helps others to validate their stories. They say "It's like magic".

    Join Michael for a look behind the scenes of graph based data ingestion, analysis and investigation.

    We will use the open source graph database Neo4j, data visualization and graph algorithms to read between the lines.

02:20
  • Added to My Schedule
    keyboard_arrow_down
    Martin Thompson

    Martin Thompson - Interaction Protocols: It's All About Good Manners

    schedule  02:20 - 03:10 PM place Red Room

    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.

  • Added to My Schedule
    keyboard_arrow_down
    John Le Drew

    John Le Drew - Once Upon A Time In Agile

    schedule  02:20 - 03:10 PM place Green Room

    Stories are the foundation of human experience. They are what define us, individually and collectively. They engage us, entertain us, bring us together and drive us apart.

    What stories do you tell about you? Who knows your stories? Everyone? Perhaps just a select few? Maybe, just you.

    In this session, we explore how our individual journeys to self-acceptance and alignment are also the heart of how we can work with and support teams. We will learn about how to truly help teams move towards agility, by helping them find and own their process and tell their own story. So they stay aligned and can continually realign when their context changes.

    Why authenticity and self-acceptance matters for both individuals and teams.
    How to create lasting change in teams, without imposing process or creating learned helplessness.

    How to help teams own their process and tell their own story.

    Over the last 20 years, John has helped countless teams. But in the last 3 years, when his world was turned upside down, he realised that changing a team is exactly what gets in the way of a team changing.

  • Added to My Schedule
    keyboard_arrow_down
    Juliet Hougland

    Juliet Hougland - How to Experiment Quickly

    schedule  02:20 - 03:10 PM place Blue Room

    The ‘science’ in data science refers to the underlying philosophy that you don’t know what works for your business until you make changes and rigorously measure impact. Rapid experimentation is a fundamental characteristic of high functioning data science teams. They experiment with models, business processes, user interfaces, marketing strategies, and anything else they can get their hands on. In this talk I will discuss what data platform tooling and organisational designs support rapid experimentation in data science teams.

03:10

    Afternoon tea - 30 mins

03:40
  • Added to My Schedule
    keyboard_arrow_down
    Cat Swetel

    Cat Swetel - 193 Easy Steps to DevOpsing Your Monolith

    schedule  03:40 - 04:30 PM place Red Room

    Is it possible to enable the evolution of a monolith? After a hugely expensive (financially and culturally) failed attempt at a complete rewrite, Ticketmaster is attempting to do just that, bounce back and evolve the monolith that is Ticketmaster’s core ticketing platform. This multi-year effort requires striking a delicate balance between showing appropriate respect for the platform’s highly profitable 40 plus year history while not allowing past success to blind us to demands of a highly dynamic market of fans, artists, venues, and more. This is not a session about best practices for developing your monolith; this session is the true (and at times ugly) story of one company’s journey towards a more flexible, adaptable, and easily maintainable architecture supported by a culture that prizes learning and respect above all else.

  • Added to My Schedule
    keyboard_arrow_down
    Rebecca Wirfs-Brock

    Rebecca Wirfs-Brock - Growing Your Personal Design Heuristics

    schedule  03:40 - 04:30 PM place Green Room

    The ouroboros is a mythical serpent shaped into a circle, clinging to and devouring its tail in an endless cycle of self-destruction, self-creation, and self-renewal. Becoming a good designer of software sometimes feels like that. Cultivating and refining personal design heuristics is one way we become better software designers.

    Whether we are aware of it or not, we each use heuristics that we have acquired through reading, practice, and experience. Heuristics aid in design, guide our use of other heuristics, and even determine our attitude and behavior. You can grow as a designer by becoming more conscious of your heuristics. What are your “go to” heuristics? How well have they worked? Do your successes or failures lead you look to discover new heuristics? While you may read others’ design advice—be it patterns, blog posts, books or stack overflow replies, the heuristics you personally discover on your own design journey are likely to be the most important.

  • Added to My Schedule
    keyboard_arrow_down
    Tommy Hall

    Tommy Hall - Data Pipelines À La Mode

    schedule  03:40 - 04:30 PM place Blue Room

    In all businesses, there is some kind of data pipeline, even if it’s powered by humans working off a shared drive somewhere. Lots of places are better than this - they have workflow systems, ETL pipelines, analytics teams, data scientists, etc - but can they say months later which version of which code is running on what data generated insights? Can they be reproduced? What if the algorithms change, do you go back and re-run everything?
    Science itself has a reproducibility problem, but it’s worse in most companies, and mistakes can be expensive.

    There is a useful subset of data pipelines, let's call them “pure”, that only depend on the data flowing through them. For pure pipelines, we can use techniques from distributed build systems to allow us to know what code was used for each step, not lose any previous results as we improve our algorithms and avoid repeating work that has been done already.

    This talk contains interesting theory but is resolutely practical and with concrete examples in several languages and distributed computation frameworks.

04:40
  • Added to My Schedule
    keyboard_arrow_down
    Lee Campbell

    Lee Campbell - Cost of a Dependency

    schedule  04:40 - 05:30 PM place Red Room

    This presentation will challenge a common movement that is sweeping the lands unnoticed. Agile micro-service projects that live in a single VCS repository, that are slow to test, hard to understand need to be deployed and versioned as a single unit. While that sounds silly, ask these questions of your project:

    • Are you using a layered architecture?
    • Do you generally have an interface for each class (Java/.NET)?
    • Do your Views live in one folder and your ViewModels in another?
    • Has your platform’s package manager made it too easy to just add, more?
    • Has your team mistaken “reuse” as a goal, not an outcome?
    • Does your team favor living code over doco, yet no one understands how the system works?
    • Could you make a one line code change, test it, commit it, package it and deploy it in under 15min?
    • Do you think you are doing Microservices, but all the code lives in the same repo? Share the same contracts? Get versioned and deployed together? Share a data store?

    Even if you are not on the Microservices band wagon, will your framework of choice be relevant in 5 years? Can your team pivot to new libraries, GUI or data store technologies in days or weeks? Or, are you actively building the next legacy project churn-and-burn style?

    This session will pose some challenges to prevailing convention and ask how did we get here. More importantly we will discover the costs of our decisions and how we start applying an engineering instead of religious approach to design.

  • Added to My Schedule
    keyboard_arrow_down
    Mandy Michael

    Mandy Michael - Frictionless Frontends for Backend Developers

    schedule  04:40 - 05:30 PM place Green Room

    For your users and customers, your frontend is your product. And if you are interested in learning how to build better frontends for them, Mandy has you covered. No matter your skill level and familiarity with HTML/CSS or JavaScript.

    She will be walking you through some easy to use, but very powerful, techniques to put together simple layouts, and interactions. As we will be using straight HTML & CSS, it doesn’t matter if you use a front-end framework like React or Vue or write your HTML and CSS by hand.

    By the end of the talk, you’ll see what a few practical tips can do to bring your frontend to the next level.

  • Added to My Schedule
    keyboard_arrow_down
    Sonia Cuff

    Sonia Cuff - Cloud Governance and Cost Management

    schedule  04:40 - 05:30 PM place Blue Room

    Handing out access to the Cloud is like giving your kids the credit card. In a rapid deployment world, how do you retain configuration control while still allowing people to spin up the resources they need? Come and learn about building your Enterprise Scaffold, enforcing Policies and configuration in Azure and tools & best practices for estimating, managing & reviewing your costs.

05:45
  • Added to My Schedule
    keyboard_arrow_down
    Troy Hunt

    Troy Hunt - Rise of the Breaches

    schedule  05:45 - 06:45 PM place Grand Ball Room

    Data breaches are the new normal. We’ve created ecosystems with so many moving parts and so
    many complex units, it’s little wonder that we so frequently see them go wrong. A combination of
    more systems, more people, more devices and more ways than ever of producing and publishing
    data stack the odds in favour of attackers breaching more systems than ever.

    In this talk, you’ll get a look inside the world of data breaches based on my experiences dealing with
    billions of breached records. You’ll see what’s motivating hackers, how they’re gaining access to data
    and how organisations are dealing with the aftermath of attacks. Most importantly, it will help you
    contextualise these incidents and understand both what these attacks actually look like and how to
    defend against them in your organisation.

06:45

    Reception - 60 mins

YOW! 2019 Melbourne Day 2

Fri, Dec 13
08:45

    Session Overviews and Introductions - 15 mins

09:00
10:00

    Morning Tea - 30 mins

10:30
  • Added to My Schedule
    keyboard_arrow_down
    Simon Brown

    Simon Brown - The lost art of software design

    schedule  10:30 - 11:20 AM place Red Room

    "Big design up front is dumb. Doing no design up front is even dumber." This quote epitomises what I've seen during our journey from "big design up front" in the 20th century, to "emergent design" and "evolutionary architecture" in the 21st. In their desire to become "agile", many teams seem to have abandoned architectural thinking, up front design, documentation, diagramming, and modelling. In many cases this is a knee-jerk reaction to the heavy bloated processes of times past, and in others it's a misinterpretation and misapplication of the agile manifesto. As a result, many of the software design activities I witness these days are very high-level and superficial in nature. The resulting output, typically an ad hoc sketch on a whiteboard, is usually ambiguous and open to interpretation, leading to a situation where the underlying solution can't be assessed or reviewed. If you're willing to consider that up front design is about creating a sufficient starting point, rather than creating a perfect end-state, you soon realise that a large amount of the costly rework and "refactoring" seen on many software development teams can be avoided. Join me for a discussion of the lost art of software design, and how we can reintroduce it.

  • Added to My Schedule
    keyboard_arrow_down
    Matthew Keesan

    Matthew Keesan - Quantum Computing and You

    schedule  10:30 - 11:20 AM place Green Room

    Richard Feynman proposed harnessing quantum systems for computational power in a thought experiment almost forty years ago. In October, a quantum computer achieved in minutes what the world's most powerful classical supercomputer would take days to compute. Soon, quantum computers will be able to perform calculations that will never* be solvable classically.

    Yet in spite of their power, programming these devices has remained largely the province of theoretical physicists. Have you ever wondered how quantum computers work, or what's up with quantum mechanics, anyway? This talk will provide an introduction to quantum computing and quantum information science, the state of the field today, where it's headed, how it will affect us all, and how you can get involved. We'll write a simple quantum program together and turn on lasers thousands of miles away to make atoms do math.

    *All bets are off if P=NP.

  • Added to My Schedule
    keyboard_arrow_down
    Jennifer Scheurle

    Jennifer Scheurle - A Game Designer Walks Into NASA Astronaut Training: What Other Industries Can Learn From Us

    schedule  10:30 - 11:20 AM place Blue Room

    A Game Designer walks into NASA Astronaut Training: What other industries can learn from us
    In 2016, a NASA engineer found screenshots of a technical virtual reality demo of a potential astronaut game on a Reddit forum and decided to contact the developers to discuss how game developers can help train astronauts for the next missions into space. In the upcoming two years, NASA worked closely with said game developer to introduce new and innovative techniques to virtual astronaut training.
    My name is Jennifer Scheurle and I'm a game designer. For many years, my industry has been largely isolated from other fields despite our intricate knowledge of UX, behavioural psychology and how to teach players complex and difficult systems and concepts. Games have one of the most unique parameters of an interactive experience in existence. They need to keep people interested for many, many and they need to do so with millions of different kinds of people to be successful. It is an opportunity to expose a large group of people to ideas in the most personal and compelling way imaginable. Game design has cracked the code for how to engage people deeply and thoroughly in experiences completely new and alien to them - for better or worse.

    In this talk, we will walk through how game designers think about problems, how we use behavioural psychology to guide our users and why designing with heart and compassion is your key to reach and compel the masses.

11:30
  • Added to My Schedule
    keyboard_arrow_down
    James Lewis

    James Lewis - Scale, Microservices and Flow

    schedule  11:30 AM - 12:20 PM place Red Room

    Recent research summarised in the book Accelerates points to a set of practices that lead to high software development organisation performance. Simultaneously, research from the Santa Fe Institute on Complex Adaptive Systems over the last 20 years seems to point to a grand unified theory of organisational design. So have we cracked it? Do we now have the answer to the question: how do we create and scale high performing software and organisations? In this talk, James explores this research and takes a look at the surprising links between microservices, elephants, Sydney and companies.

  • Added to My Schedule
    keyboard_arrow_down
    Matt Callanan

    Matt Callanan - Automating Operations with Machine Learning

    schedule  11:30 AM - 12:20 PM place Green Room

    How much money would you save if AI could detect and fix your outages as soon as they happen? In a multi-billion dollar business, outages are very expensive. MTTR has a direct effect on the bottom-line, so every second count in resolving issues. But with millions of metrics being generated by thousands of microservices, how do you choose which metrics to pay attention to? How do you make your alerts meaningful to avoid alert fatigue and desensitisation? How do you respond to those alerts in a timely manner?

    In this talk, Matt covers how Expedia is using Machine Learning to "close the loop" involved in detecting, diagnosing and remediating outages post-release. You will learn about how to use ML to build models for anomaly detection in metrics. You will also learn about "ML-Ops" and how to build a platform for training and deploying ML models.

  • Added to My Schedule
    keyboard_arrow_down
    Dwight Sullivan

    Dwight Sullivan - Game Developer or Game Designer?

    schedule  11:30 AM - 12:20 PM place Blue Room

    In the last 30 years I have been a software engineer, a game developer, and a game designer. My YOW talk will be about the difference of those three titles. When my current boss asked me what I wanted my new title to be I choose Senior Game Developer. To me a game developer is something in between someone that implements rules and a game designer.

    In the 1980s I taught myself to write software and make games on my Commodore 64. After College, in 1989, I landed a job developing the software for pinball machines, writing code in 6809 assembler. I am still doing that today except its in C++. Developing games is a blast but its been a journey of challenges and solutions. My YOW talks will also be about the challenges of creating something fun, on time and on budget, of course.

12:20

    Lunch - 60 mins

01:20
  • Added to My Schedule
    keyboard_arrow_down
    Sarah Wells

    Sarah Wells - Mature microservices and how to operate them

    schedule  01:20 - 02:10 PM place Red Room

    At the Financial Times, we built our first microservices in 2013. We like a microservices-based approach, because by breaking up the system into lots of independently deployable services - making releases small, quick and reversible - we can deliver more value, more quickly, to our customers and we can run hundreds of experiments a year.

    This approach has had a big - and positive - impact on our culture. However, it is much more challenging to operate.

    So how do we go about building stable, resilient systems from microservices? And how do we make sure we can fix any problems as quickly as possible?

    I'll talk about building necessary operational capabilities in from the start: how monitoring can help you work out when something has gone wrong and how observability tools like log aggregation, tracing and metrics can help you fix it as quickly as possible.

    We've also now being building microservice architectures for long enough to start to hit a whole new set of problems. Projects finish and teams move on to another part of the system, or maybe an entirely new system. So how do we reduce the risk of big issues happening once the team gets smaller and there start to be services that no-one in the team has ever touched?

    The next legacy systems are going to be microservices, not monoliths, and you need to be working now to prevent that causing a lot of pain in the future.

  • Added to My Schedule
    keyboard_arrow_down
    Edith Harbaugh

    Edith Harbaugh - Mistakes were made - Patterns & Anti-Patterns For Effective Feature Flagging

    schedule  01:20 - 02:10 PM place Green Room

    Feature flags are a valuable DevOps technique to deliver better, more reliable software faster. Feature flags can be used for both release management (dark launches, canary rollouts, betas) as well as long term control (entitlement management, user segmentation personalization). However, if not managed properly, feature flags can be very destructive technical debt. We'll discuss patterns & anti-patterns for effective feature flag management.

  • Added to My Schedule
    keyboard_arrow_down
    Erik Dörnenburg

    Erik Dörnenburg - Ready for Rust

    schedule  01:20 - 02:10 PM place Blue Room

    In the StackOverflow developer survey, Rust has been the "most loved" programming language for three years in a row (2016-2018). Time to see why Mozilla's creation is so popular. In this talk, you'll encounter examples of Rust that show its core features. As someone who has worked in a number of programming languages, Erik will also highlight where Rust is different and what that means for concrete applications. You'll also get a glimpse of the growing ecosystem around Rust.

02:20
  • Added to My Schedule
    keyboard_arrow_down
    Chris Read

    Chris Read - Under Pressure: Expanding from Bare Metal Infrastructure to the Cloud

    schedule  02:20 - 03:10 PM place Red Room

    Many organizations these days need to manage a mix of the following infrastructure types:

    • Bare Metal
    • Public Cloud
    • Private Cloud

    While each type has its own challenges, many organizations now need to expand from managing bare metal to managing two or three types in parallel.

    We have a look at some common challenges teams face adapting to these changes, and look for patterns and principles to help ease the expansion.

  • Added to My Schedule
    keyboard_arrow_down
    James Shore

    James Shore - Evolutionary Design Animated

    schedule  02:20 - 03:10 PM place Green Room

    Modern software development welcomes changing requirements, even late in the process, but how can we write our software so that those changes don’t create a mess? Evolutionary design is the key. It’s a technique that emerges from Extreme Programming, the method that brought us test-driven development, merciless refactoring, and continuous integration.

    James Shore first encountered Extreme Programming and evolutionary design nearly 20 years ago. Initially skeptical, he’s explored its boundaries ever since. In this session, James will share what he’s learned through in-depth animations of real software projects. You’ll see how designs evolve over time and you’ll learn how and when to use evolutionary design for your own projects.

  • Added to My Schedule
    keyboard_arrow_down
    Allen Wirfs-Brock

    Allen Wirfs-Brock - JavaScript: Skeletons in the Closet

    schedule  02:20 - 03:10 PM place Blue Room

    May 2020 will be the twenty-fifth anniversary of JavaScript. Love it or hate it, as a developer you can't avoid JavaScript. How did a ten day hack, created to be a sidekick for Java become the world’s most widely used programming language? What went wrong and what went right? Who should we blame or thank? Allen Wirfs-Brock has spent the last two years digging into the dark corners of JavaScript's history. He knows where the skeletons are hidden, who buried the treasures, and why. This talk will shine the light on how it all came to pass.

03:10

    Afternoon tea - 30 mins

03:40
  • Added to My Schedule
    keyboard_arrow_down
    Michael Brunton-Spall

    Michael Brunton-Spall - Does agile make us less secure?

    schedule  03:40 - 04:30 PM place Red Room

    Organisations adopting agile practices tend to throw out the old practices of requirements gathering, up front system design and careful analysis in favour of writing code just in time and pushing into production multiple times per day.

    Doesn’t this make us far less secure?

    Michael will provide a whirlwind tour of real world security today and use that to address this question and talk about the tension between agile and security - and offer ways that you can resolve this tension.

  • Added to My Schedule
    keyboard_arrow_down
    Arty Starr

    Arty Starr - The Ultimate Metric

    schedule  03:40 - 04:30 PM place Green Room

    Since the dawn of software development, we've struggled with a huge disconnect between the management world and the engineering world. We try to explain our problems in terms of "technical debt", but somehow the message seems to get lost in translation, and we drive our projects into the ground, over and over again. What if we could detect the earliest indicators of a project going off the rails, and had data to convince management to take action? What if we could bridge this communication gap once and for all?

    In this session, we'll focus on a key paradigm shift for how we can measure the human factors in software development, and translate the "friction" we experience in “Idea Flow” into explicit risk models for project decision-making.

  • Added to My Schedule
    keyboard_arrow_down
    Hillel Wayne

    Hillel Wayne - Designing Distributed Systems with TLA+

    schedule  03:40 - 04:30 PM place Blue Room

    Concurrency is hard. How do you test your system when it’s spread across three services and four languages? Unit testing and type systems only take us so far. At some point, we need new tools.

    Enter TLA+. TLA+ is a specification language that describes your system and the properties you want. This makes it a fantastic complement to testing: not only can you check your code, but you can also check your design, too! TLA+ is especially effective for testing concurrency problems, like stalling, race conditions, and dropped messages.

    This talk will introduce the ideas behind TLA+ and how it works, with a focus on practical examples. We’ll also show how it caught complex bugs in our systems, as well as how you can start applying it to your own work.

04:45
  • Added to My Schedule
    keyboard_arrow_down
    Sabine Hauert

    Sabine Hauert - Swarm Engineering Across Scales: From Robots To Nanomedicine

    schedule  04:45 - 05:45 PM place Grand Ball Room

    Birds do it, bees do it. Even ants and fish in the sea do it. When certain individuals group together, they create a “swarm intelligence”— a collective brain capable of solving complex problems which would be insurmountable for an isolated individual. In the world of artificial intelligence, swarm engineering allows us to make robots that work in large numbers (under 1000), and tiny sizes (under 1 cm). Swarm strategies are either inspired from nature (ant colonies, fish shoals, bird flocks, cellular systems) or are automatically discovered using machine learning and crowdsourcing. Demonstrated applications range from the deployment of swarms of flying robots to create outdoor communication networks, or the use of 1000 coin-sized robots to form structures and explore the environment, to the design of nanoparticles for cancer treatment.

05:45

    Closing Drinks - 60 mins