YOW! 2019 Melbourne Day 1

Wed, Dec 11
Timezone: Australia/Melbourne (AEST)
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 star_halfRate

    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 star_halfRate

    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 star_halfRate

    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
Timezone: Australia/Melbourne (AEST)
08:00

    Registration for YOW! Melbourne 2019 - 45 mins

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
    Casey Rosenthal

    Casey Rosenthal - Evolving Chaos Engineering

    schedule  10:30 - 11:20 AM place Red Room people 537 Interested star_halfRate

    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 people 222 Interested star_halfRate

    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 people 60 Interested star_halfRate

    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 people 330 Interested star_halfRate

    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 people 337 Interested star_halfRate

    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 people 199 Interested star_halfRate

    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

13:20
14:20
15:10

    Afternoon tea - 30 mins

15: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 people 400 Interested star_halfRate

    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 people 175 Interested star_halfRate

    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 people 130 Interested star_halfRate

    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.

16: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 people 308 Interested star_halfRate

    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 people 202 Interested star_halfRate

    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 people 32 Interested star_halfRate

    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.

17:45
  • Added to My Schedule
    keyboard_arrow_down
    Sabine Hauert

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

    schedule  05:45 - 06:45 PM place Red Room people 288 Interested star_halfRate

    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.

18:45

    Reception - 60 mins

YOW! 2019 Melbourne Day 2

Fri, Dec 13
Timezone: Australia/Melbourne (AEST)
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 people 390 Interested star_halfRate

    "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 people 169 Interested star_halfRate

    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 people 170 Interested star_halfRate

    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
12:20

    Lunch - 60 mins

13:20
14:20
15:10

    Afternoon tea - 30 mins

15:40
16:45
  • Added to My Schedule
    keyboard_arrow_down
    Troy Hunt

    Troy Hunt - Rise of the Breaches

    schedule  04:45 - 05:45 PM place Red Room people 434 Interested star_halfRate

    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.

17:45

    Closing Drinks - 60 mins