YOW! Perth 2018 Workshop Day 1

Mon, Sep 3
09:00
  • Added to My Schedule
    keyboard_arrow_down
    Dave Farley

    Dave Farley - Continuous Delivery Fundamentals

    schedule 09:00 AM - 05:00 PM place Bankwest shopping_cart Reserve Your Seat

    Continuous Delivery is a complex, holistic approach to software development and has a significant impact on the way in which organisations operate. This approach demands a broad range of skills and techniques. This course is designed to introduce, and explore a deeper understanding of, these ideas and techniques. It is primarily aimed at “Change Agents” within organisations, Managers, Leaders, Lead Developers, Lead Architects and so on, but is relevant to anyone who works on delivering valuable software to users in any capacity. More specifically this course will give you the tools to help your company become a 'Learning Organisation'. Increase efficiency and quality, and reduce risk in your software development process. Our training can teach the techniques that will allow you to increase user satisfaction and make your organisation more innovative. We do this by teaching an approach that will allow your company to become more experimental and capable of reacting quickly and efficiently to change and allowing your software development process to become a tool that enables this flexibility rather than an impediment to it.

  • Added to My Schedule
    keyboard_arrow_down
    Heidi Helfand

    Heidi Helfand - A Practical Introduction to Coaching Conversations

    schedule 09:00 AM - 05:00 PM place Bankwest shopping_cart Reserve Your Seat

    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.

  • Added to My Schedule
    keyboard_arrow_down
    Michael Nygard

    Michael Nygard - Production Ready Software

    schedule 09:00 AM - 05:00 PM place Bankwest shopping_cart Reserve Your Seat

    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.

YOW! Perth 2018 Workshop Day 2

Tue, Sep 4
09:00
  • Added to My Schedule
    keyboard_arrow_down
    Michael Nygard

    Michael Nygard - Architecture Without an End State

    schedule 09:00 AM - 05:00 PM place Bankwest shopping_cart Reserve Your Seat

    Architecture plans in enterprises tend to resemble late-night infomercials. First, you see a person or system that seems incapable of survival—a situation that can be immediately rectified if you just buy into the product. (One popular infomercial shows incompetent people mangling tomatoes transitioning into Ginsu-wielding sous chefs; the architecture pitch starts with hideous complexity then moves to clean orthogonal box diagrams.) Operators are always standing by.

    Real architecture never reaches that blissful end state. Something always interrupts the program: businesses change, technology changes, or funding dries up. What would happen if you did reach the end state, anyway? Is IT in the company done? Of course not.

    The truth is that there is no end state. We must all learn to build systems that evolve and grow. We need to stop aiming for the end state and understand that change is continuous. We cannot predict the details, but we can learn the general patterns.

    Michael Nygard demonstrates how to design and architect systems that admit change—bending and flexing through time. Using a blend of information architecture, technical architecture, and some process change, Michael walks you through examples of rigid systems to show how to transform them into more maneuverable architecture.

  • Added to My Schedule
    keyboard_arrow_down
    Heidi Helfand

    Heidi Helfand - Dynamic Reteaming at Fast-Growing Companies

    schedule 09:00 AM - 05:00 PM place Bankwest shopping_cart Reserve Your Seat

    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.

  • Added to My Schedule
    keyboard_arrow_down
    Dave Farley

    Dave Farley - Advanced Deployment Pipeline Techniques

    schedule 09:00 AM - 05:00 PM place Bankwest shopping_cart Reserve Your Seat

    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.

YOW! Perth 2018 Day 1

Wed, Sep 5
08:00

    Registration for YOW! Perth 2018 - 45 mins

08:45

    Opening Introductions - 15 mins

09:00
  • Added to My Schedule
    keyboard_arrow_down
    Michael Nygard

    Michael Nygard - Keynote - Uncoupling

    schedule 09:00 AM - 10:00 AM place Grand Ball Room people 240 Interested

    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.

10:00

    Morning Coffee - 30 mins

10:30
  • Added to My Schedule
    keyboard_arrow_down
    Dave Farley

    Dave Farley - The Rationale for Continuous Delivery

    schedule 10:30 AM - 11:20 AM place Grand Ball Room 1 people 224 Interested

    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.

11:25
  • Added to My Schedule
    keyboard_arrow_down
    Vincent De Smet

    Vincent De Smet - Terraform and Enabling Self-Service Developers with Terraform Modules

    schedule 11:25 AM - 12:15 PM place Grand Ball Room 1 people 235 Interested

    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.

12:15

    Lunch - 75 mins

01:30
  • Added to My Schedule
    keyboard_arrow_down
    Dr. Denis Bauer

    Dr. Denis Bauer - Serverless compute and artificial intelligence transforms life science research

    schedule 01:30 PM - 02:20 PM place Grand Ball Room 1 people 215 Interested

    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.

02:25
  • Added to My Schedule
    keyboard_arrow_down
    Heidi Helfand

    Heidi Helfand - Dynamic Reteaming at Fast-Growing Companies

    schedule 02:25 PM - 03:15 PM place Grand Ball Room 1 people 202 Interested

    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.

03:15

    Afternoon Tea - 30 mins

03:45
  • Added to My Schedule
    keyboard_arrow_down
    Simon Raik-Allen

    Simon Raik-Allen - From the Caveman to the Spreadsheet and Beyond

    schedule 03:45 PM - 04:35 PM place Grand Ball Room 1 people 203 Interested

    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.

04:40
  • Added to My Schedule
    keyboard_arrow_down
    Jeff Patton

    Jeff Patton - Keynote - MVP: and Why We Confuse Building to Learn with Building to Earn

    schedule 04:40 PM - 05:40 PM place Grand Ball Room people 187 Interested

    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.

05:40

    Reception - 60 mins

YOW! Perth 2018 Day 2

Thu, Sep 6
08:00

    Registration for YOW! Perth 2018 - 45 mins

08:45

    Opening Introductions - 15 mins

09:00
  • Added to My Schedule
    keyboard_arrow_down
    Gregor Hohpe

    Gregor Hohpe - Keynote - Enterprise Architecture = Architecting the Enterprise?

    schedule 09:00 AM - 10:00 AM place Grand Ball Room people 194 Interested

    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.

10:00

    Morning Coffee - 30 mins

10:30
  • Added to My Schedule
    keyboard_arrow_down
    Mark Hibberd

    Mark Hibberd - Failure and Change: Principles of Reliable Systems

    schedule 10:30 AM - 11:20 AM place Grand Ball Room 1 people 211 Interested
    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.
11:25
  • Added to My Schedule
    keyboard_arrow_down
    Katie Bell

    Katie Bell - Containers in Production

    schedule 11:25 AM - 12:15 PM place Grand Ball Room 1 people 210 Interested
    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.
12:15

    Lunch - 75 mins

01:30
  • Added to My Schedule
    keyboard_arrow_down
    Sebastian von Conrad

    Sebastian von Conrad - Go Back to the Future with Event Sourcing and CQRS

    schedule 01:30 PM - 02:20 PM place Grand Ball Room 1 people 181 Interested

    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.

02:25
  • Added to My Schedule
    keyboard_arrow_down
    Erin Zimmer

    Erin Zimmer - Adventures with the JavaScript Event Loop

    schedule 02:25 PM - 03:15 PM place Grand Ball Room 1 people 200 Interested

    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.

03:15

    Afternoon Tea - 30 mins

03:45
  • Added to My Schedule
    keyboard_arrow_down
    Cameron Joannidis

    Cameron Joannidis - Building a centralised Machine Learning Pipeline with Spark and Kafka

    schedule 03:45 PM - 04:35 PM place Grand Ball Room 1 people 180 Interested

    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.

04:40
  • Added to My Schedule
    keyboard_arrow_down
    Dave Thomas

    Dave Thomas - Living Live in Big Data – Vector Programming and Visual Analytics

    schedule 04:40 PM - 05:30 PM place Grand Ball Room 1 people 156 Interested

    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.

05:30

    Reception - 60 mins