YOW! 2017 Brisbane Day 1

Mon, Dec 4
08:00

    Registration for YOW! 2017 Brisbane - 45 mins

08:45

    Session Overviews & Introductions - 15 mins

09:00
  • Added to My Schedule
    keyboard_arrow_down
    Lynn Langit

    Lynn Langit / Denis Bauer - Cloud Data Pipelines for Genomics from a Bioinformatician and a Developer

    schedule 09:00 AM - 10:00 AM place Red Room

    Dr.Bauer and her team have been working to build genome-scale data pipelines that address the computational challenges and limits present in today’s cancer genomic (bioinformatics) data workflows.

    Dr. Bauer and her team have built solutions which use modern architectures, such as serverless (AWS Lambda) and also customised machine learning on Apache Spark. AWS Community Hero and cloud architect Lynn Langit is also collaborating with the CSIRO team to push solutions at the cutting edge of bioinformatic research which best utilise advances in cloud technologies..

    In this demo-filled session Lynn and Denis will discuss and demonstrate some of the latest cloud data pipeline work that they’ve been working together to build out for the bioinformatics community.

10:00

    Morning Break - 30 mins

10:30
  • Added to My Schedule
    keyboard_arrow_down
    Brian LeRoux

    Brian LeRoux - Architecture as Text: Setup AWS Lambda, API Gateway, SNS, and DynamoDB on Easy Mode

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

    With functions as a service, cloud providers have signaled the smallest billable unit of computation is a single function execution. It’s a beautifully simple idea, rejecting the metaphor of a server, and freeing developers to design smaller and simpler services. We can iterate on our code with a high degree of isolation, without fear of affecting other parts of the system; deploy systems in seconds with zero downtime; and always be available regardless of load.

    However, building serverless-y apps is very new and as such fought with early days complexity:

    • Configuration tooling was designed for the last generation of computing metaphors (and often lags behind the releases of new functionality)
    • AWS is massive and overwhelming with many similar, but not the same, products
    • The web console is confusing, with divergent interfaces between interlocking services
    • Deep proprietary knowledge is required to configure and maintain common infrastructure primitives

    In this talk Brian will walk you through a new approach to architecting applications with plain text using arc.codes to create apps in minutes and subsequently deploy in seconds with zero downtime and unprecedented availability.

  • Added to My Schedule
    keyboard_arrow_down
    Dave Farley

    Dave Farley - Reactive Systems

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

    21st century problems cannot be solved with 20th century software architectures. So why is the starting point for so many projects built on the assumption of a simplistic monolithic, three-layer architecture sat on top of a RDBMS? Hardware has progressed. It has changed many of the assumptions that such architectures were built upon. Modern systems are distributed, deal with massive throughput of data and transactions. Users expect 24/7 service.

    The Reactive Manifesto describes what it takes to build systems that meet these demands. Such systems are Responsive, Resilient, Elastic and Message Driven. What does this mean in terms of software architecture and design? This presentation will introduce these ideas and describe how systems built on these principles work.

  • Added to My Schedule
    keyboard_arrow_down
    Jeff Patton

    Jeff Patton - How Agile Screwed Up Product Ownership, and 5 Things You Can Do to Fix It

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

    Agile development has fixed lots of problems in software development, Companies using it consistently deliver working software more predictably than ever before, But, the software they make isn’t necessarily better, or more successful in the market. Because the things we need to do to make a product successful aren’t baked into agile development,. And, in fact, strict adherence to common agile practice can result in even worse products.

    This talk explains why and gives you 5 concrete changes to Agile development you can make to improve things. These aren’t things your product owner or product manager must do. They’re the things the whole team need to do. And, they’re not easy things. But, they’re necessary if you want to more consistently make products people love.

11:30
  • Added to My Schedule
    keyboard_arrow_down
    Aaron Bedra

    Aaron Bedra - AWS Security Essentials

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

    Are you using or moving to AWS? Have you considered how you organize and secure your AWS environments? The growing push to cloud providers has allowed us to move faster and tackle problems more efficiently. The same freedoms that have allowed us to move faster have also created scenarios where security issues are exposed by accident and/or without proper management and review. As companies move toward more and more cloud usage, teams are pushed harder to ensure the same compliance and security requirements that exist in slower moving private environments. This has the potential to put us right back where we came from.

    Join Aaron as he talks through the most critical security decisions you can make for you AWS environments.

  • Added to My Schedule
    keyboard_arrow_down
    Mike Amundsen

    Mike Amundsen - Twelve Patterns for Evolvable Web APIs

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

    The speed of feature release for web and mobile apps continues to increase, but it can grow costly and time consuming to constantly rebuild and redeploy client applications—especially through app stores, where updates can take more than a week to appear. What if you could add new features to an existing client without repeatedly installing new versions of the application? What would the code look like? What changes are needed to create a client that can adapt to changes in the service API? How much change is reasonably possible when both the client and API are able to evolve over time?

    Mike Amundsen offers 12 patterns and practices for building APIs that can safely evolve over time and client applications that can adapt to those changes without relying on explicit versioning systems or repeated redeployment. Whether you are responsible for building web front-ends or APIs to serve those apps, Mike helps you identify key principles to increase the adaptability and evolvability of your web implementations.

  • Added to My Schedule
    keyboard_arrow_down
    Woody Zuill

    Woody Zuill - Estimates or NoEstimates?

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

    “The only sure thing about forecasts is that they are WRONG” – James P. Womack and Daniel T. Jones. Estimates have been the bane of software development projects for decision makers, managers, and programmers alike for decades. Managers/Customers want to know: When will it be done? How much will it cost? Which project should we do? Programmers are told: “A professional can do meaningful estimates”, and “We won’t hold you to the estimate”, and yet they often are.

    It’s my contention that estimates are often not useful for this purpose, and even worse they can misinform the decisions they are meant to support. Do we really need estimates? Is simply “getting better” at estimates worthwhile? Can we live without them? Will things be better without them? I don’t have answers for you, but I’ve worked with “no estimates” for over 8 years and I’m still alive and doing well. We’ll explore the idea of estimates, what they are, why they are pervasive in the programming world, how they might be harmful, and see if we can start a dialog about finding a better way.

12:20

    Lunch Break - 60 mins

01:20
  • Added to My Schedule
    keyboard_arrow_down
    Jim Webber

    Jim Webber - Mixing Causal Consistency and Asynchronous Replication for Large Neo4j Clusters

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

    In this talk we’ll explore the new Causal clustering architecture for Neo4j. We’ll see how Neo4j uses the Raft protocol for a robust underlay for intensive write operations, and how the asynchronous new scale-out mechanism provides enormous capacity for very demanding graph workloads.

    We’ll discuss the cluster architecture’s new causal consistency model. Causal consistency is a big leap forward compared to the commonplace eventual consistency which makes it convenient to write applications that use the full capacity of the cluster. In particular we’ll show how despite the mixture of concensus protocols and asynchronous replication, that Neo4j allows users to read their own writes straightforwardly and discuss why this is such a difficult achievement in distributed systems.

    For the application developer, we’ll show how Neo4j’s Causal Clustering optimised drivers makes it easy to write applications that scale smoothly from a single server to a large, distributed cluster: a practical motivation for the distributed systems enthusiast.

  • Added to My Schedule
    keyboard_arrow_down
    Simon Brown

    Simon Brown - Software Architecture for Developers

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

    The software development industry has made huge leaps in recent years; with agile, lean, software craftsmanship, evolutionary design and microservices being just a few of the buzzwords we throw around. Despite this, software development teams are often more chaotic than they are self-organising, with the resulting code being more of a mess than was perhaps anticipated. Successful software projects aren't just about good code though, and sometimes you need to step away from the IDE for a few moments to see the bigger picture. This session is about that bigger picture and is aimed at software developers who want to learn more about software architecture, technical leadership and the balance with agility.

    This talk will debunk some of the common myths as we look at five things every developer should know about software architecture; a guide to software architecture on modern software projects that's pragmatic rather than academic and lightweight rather than "enterprisey".

  • Added to My Schedule
    keyboard_arrow_down
    Tony Morris

    Tony Morris - Functional Programming in Aviation

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

    In this talk, we have a look at some of the low-hanging problems in general aviation and how functional programming can be applied to provide significant improvements in efficiency and air safety. The current solutions to problems such as navigation, traffic/terrain collision avoidance and weight/balance calculations will be demonstrated to the audience, mostly for amusement. More seriously, we will have a look at the legacy that has led to the way things are, and how to improve by applying our programming skills.

    We will look at:

    • how aviation safety is regulated.
    • how aeronautical services are provided to flight operators.
    • how aeronautical navigation is conducted and regulated.
    • how the weight and balance for a flight is conducted.
    • the methods by which aircraft and ground coordinate between each other.

    We will see:

    • some real (and basic) data management problems in aviation, that very obviously threaten safety, then solve them, using programming.
    • we will see a live demonstration of aeronautical navigation methods, investigate incident reports where lives were lost as a result, and consider how our programming skills can yield improvements, possibly even save lives.
    • we will conduct a real weight&balance calculation for a flight, then once hilarity inevitably ensues, we will look at the problems that arise by this method, then solve them using data structures and functional programming. Some of these practical problems are obvious, even to a non-aviator, and the predictable incident reports are the end result.
    • finally, we will have a look at a live demonstration of a software defined radio (SDR), receiving ADS-B transmissions from aircraft (live), an AHRS implementation and GNSS receiver using off-the-shelf, low-cost parts. We will look at why these instruments are helpful to aircraft pilots and interact with that device using the Haskell programming language.
02:20
  • Added to My Schedule
    keyboard_arrow_down
    Chanuki Illushka Seresinhe

    Chanuki Illushka Seresinhe - Quantifying the Influence of Beautiful Environments on Human Well-Being

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

    Does spending time in beautiful settings boost people’s happiness? The answer to this question has long remained elusive due to a paucity of large-scale data on environmental aesthetics and individual happiness. Here, we draw on two novel datasets: first, individual happiness data from the smartphone app, Mappiness, and second, crowdsourced ratings of the “scenicness” of photographs taken across England, from the online game Scenic-Or-Not. We find that individuals are happier in more scenic locations, even when controlling for a range of factors such as the activity the individual is engaged in at the time, weather conditions and the income of local inhabitants.

    However, what might these beautiful places be comprised of? Is beauty in this context synonymous with nature? We extract hundreds of image features from over 200,000 Scenic-Or-Not images using the Places Convolutional Neural Network to understand the composition of beautiful places. We also find that a neural network can be trained to automatically identify scenic places, including both natural and built locations.

  • Added to My Schedule
    keyboard_arrow_down
    Phil Calçado

    Phil Calçado - The Next Generation of Microservices

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

    How are microservices in 2017 different from how we used to build them at the beginning of the decade?

    More traditional Service-Oriented Architectures were defined by protocols and standards published and curated by industry consortiums. Knowledge of the architectural style usually called "microservices", on the other hand, is often in the form of patterns, cautionary tales, and tools extracted from real-world reports and software made available by organisations that have adopted this style.

    Almost ten years since the first wave of such reports, the landscape has changed considerably. Many hard challenges from the past have been eased or completely solved, and a lot of the custom software created by the microservices pioneers have been made off-the-shelf open source software.

    In this talk, Phil Calçado will contrast what we first found in the first generation of microservices architectures against the current generation's landscape. Let's talk about which previous common knowledge and patterns are deprecated, which ones are still active, and introduce some of the ones that have been recently added to our toolbox.

  • Added to My Schedule
    keyboard_arrow_down
    Brian Beckman

    Brian Beckman - Kalman Folding for the Brave and True

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

    There might be 25 or more Kalman filters or variants thereof in your phone and its apps. This essential class of algorithm empowers every aspect of navigation, tracking, control, and beyond to business, finance, and machine learning. Kalman filters can be tricky to test and tune, and it's essential that exactly the same code as was tested be deployed. But Kalman filters are just foldable functions! I show how to fold exactly the same code over repeatable data in a friendly testing environment and over asynchronous data in a harsh, real-world environment.

03:10

    Afternoon Break - 30 mins

03:40
  • Added to My Schedule
    keyboard_arrow_down
    Julie Pitt

    Julie Pitt - Machines that Learn Through Action: The Future of AI

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

    Deep Learning has led to breakthroughs in many previously unsolved problem domains, from image classification to machine translation to medical imaging analysis. Venture capital firm Andreessen Horowitz recently cooked up an AI playbook, which posits that AI will impact software as broadly as relational databases have since the late 20th century. It’s hard to think of a technological problem that AI doesn’t touch.

    In this talk, we will explore the limits of today’s most popular approaches to AI. In particular, what kinds of problems can’t we solve today and how might the solutions shape the way we approach software development? Training a model for your particular domain is easier than ever, but why is it so difficult to make sense of what is going on inside the model? How can we move toward a more intuitive and accessible model for understanding what our AI has learned?

  • Added to My Schedule
    keyboard_arrow_down
    Gregor Hohpe

    Gregor Hohpe - Enterprise Integration Patterns 2: The Making of a Pattern Language

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

    The book Enterprise Integration Patterns, published some 14 years ago, has become the common language for most open source ESBs. Still, integration is much more than just messaging, so there are bound to be many more integration patterns. The second volume of EIP will contain conversation patterns that describe interactions between systems over time. This talk reflects on EIP and gives a behind-the-scenes look at how this new pattern language evolves.

  • Added to My Schedule
    keyboard_arrow_down
    Yao Yue

    Yao Yue - Lies, Damned Lies, and Timeouts

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

    Wherever systems are distributed, timeouts are present. However, they don’t necessarily mean what you expect, and often come from unexpected sources. Don’t be fooled- let’s take a close look at what timeouts are made of, and learn how to use them wisely.

04:40
  • Added to My Schedule
    keyboard_arrow_down
    Jennifer Marsman

    Jennifer Marsman - Using EEG and Machine Learning to Perform Lie Detection

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

    Using an EPOC headset from Emotiv, I have captured 14 channels of EEG (brain waves) while subjects lied and answered truthfully to a series of questions. I fed this labelled dataset into Azure Machine Learning to build a classifier which predicts whether a subject is telling the truth or lying. In this session, I will share my results on this “lie detector” experiment. I will show my machine learning model, data cleaning process, and results, along with discussing the limitations of my approach and next steps/resources. Attendees will gain exposure to the Emotiv EPOC headset and Azure Machine Learning.

  • Added to My Schedule
    keyboard_arrow_down
    Olivier Deheurles

    Olivier Deheurles / James Watson - Clustered Event-Driven Services

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

    In 2010 I came across a strange, new (to me!) architecture that the LMAX team used for their Foreign Exchange system. You might have heard about the Disruptor, it came out of this project.

    The core of our system is a clustered service which uses the Raft consensus algorithm to reliably replicate state between the different nodes and hosts our application logic. We will take a quick look at Raft and then at the benefits of this design compared to more “mainstream” architectures. This architecture offers a clean separation of concerns between the infrastructure – which takes care of the concurrency, I/O and high availability aspects – and the application logic. The clean architecture is a great fit for domain-driven design.
    If you fancy building fast, resilient services without a database you should come to this talk!

  • Added to My Schedule
    keyboard_arrow_down
    James Lewis

    James Lewis - Betting On Performance: A Note on Hypothesis Driven Performance Testing

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

    We often think of performance testing as one of those things we just have to do at the end of a project, often using heavyweight tool sets in dedicated environments.
    In this talk, James offers an alternative. What decisions would we make differently if we had the ability to rapidly perform experiments using lightweight performance tests? The tools and techniques we now have available makes a new type of architectural decision making possible; from Software Defined Networking, IaaS and Continuous Delivery to Real Options and Architecture Decision Records.James will cover pre-requisites that allow us to make small bets on performance and explore the strange world of evolutionary design that this technique makes possible.

05:40
  • Added to My Schedule
    keyboard_arrow_down
    Dave Farley

    Dave Farley - Taking Back “Software Engineering”: Craftsmanship is not Enough

    schedule 05:40 PM - 06:40 PM place Red Room

    Would you fly in a plane designed by a craftsman or would you prefer your aircraft to be designed by engineers? Engineering is the application of iterative, empirical, practical science to real-world problems. Craftsmanship is a wonderful thing, and as a reaction to the terrible abuses of the term Engineering in software development Software Craftsmanship has helped in our learning of what really works.

    The term "Software Engineering" has gained a bad reputation. It implies "Big up-front design" and "Mathematically provable models" in place of working code. However, that is down to our interpretation, not a problem with "Engineering" as a discipline.

    In recent years we have discovered what really works in software development. Not everyone practices approaches like Continuous Delivery, but it is widely seen as representing the current state-of-the-art in software development. This is because at its root CD is about the application of an iterative, practical, empirical, maybe even science based approach to solving problems in software development. Is this a form of software engineering?

    Software isn't bridge-building, it is not car or aircraft development either, but then neither is Chemical Engineering, neither is Electrical Engineering. Engineering is different in different disciplines. Maybe it is time for us to begin thinking about retrieving the term "Software Engineering" maybe it is time to define what our "Engineering" discipline should entail.

06:40

    Conference Drinks & Networking - 50 mins

YOW! 2017 Brisbane Day 2

Tue, Dec 5
08:45

    Session Overviews & Introductions - 15 mins

09:00
  • Added to My Schedule
    keyboard_arrow_down
    Linda Liukas

    Linda Liukas - Principles of Play & Programming

    schedule 09:00 AM - 10:00 AM place Red Room

    If code is the colouring pens and lego blocks of our times – the tools of creation – how do we teach the curiosity, joy and wonder to our kids? I spent last summer looking at programming and play: how to create experiences that go deeper than just learning logic. So, just like Alice, I swallowed the blue pill and fell down inside the machine. This talk summarises my three principles of play and a few experiments I’ve learned with little Ruby and the journey I’ve been on with her

10:00

    Morning Break - 30 mins

10:30
  • Added to My Schedule
    keyboard_arrow_down
    Joshua Kerievsky

    Joshua Kerievsky - Modern Agile

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

    Genuine agility is enormously effective in helping us achieve our dreams. The trouble is, Agile has grown into a complex tangle of roles and rituals, frameworks and tools, processes and certifications. We need a return to simplicity. Modern Agile is here to help.

    Designed for people in many domains (not just IT), Modern Agile is defined by four guiding principles:

    • Make People Awesome
    • Make Safety a Prerequisite
    • Experiment & Learn Rapidly
    • Deliver Value Continuously

    Understanding and deeply practicing these four principles will help you get better results faster.

    In this talk I’ll share how these four principles power world-famous companies and how they can help you work with greater speed, simplicity, safety and success.

  • Added to My Schedule
    keyboard_arrow_down
    Daniel Spiewak

    Daniel Spiewak - The Making of an IO

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

    All applications, eventually, come down to `IO`. Well, unless you have uncontrolled side-effects, which would be weird and horrible. This talk explores not only why you want the `IO` monad in Scala (i.e. why side-effects are weird and horrible), but also how it works. Specifically, we'll be looking at the new cats-effect project, which introduces not only a production-viable `IO` type for the cats framework, but also a set of typeclasses and rigorous laws for characterizing what an effect type *is* and how it should behave.

  • Added to My Schedule
    keyboard_arrow_down
    Sara Chipps

    Sara Chipps - Working with BLE and Embedded Systems

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

    Coding for embedded processors is a specific science very different than web development. Avoiding Object Orientation and tests can just some of the things that you learn when optimizing for small devices. This talk will go over the basics of writing firmware, reading datasheets, and some ways to get started on your own.

11:30
  • Added to My Schedule
    keyboard_arrow_down
    Heidi Helfand

    Heidi Helfand - Dynamic Reteaming: The Art & Wisdom of Changing Teams

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

    Let’s debunk the myth that you must keep teams stable or “the same” in order to have a successful company. Changing teams can help reduce the risk of attrition, learning & career stagnation, and the development of knowledge silos. I’ll share original case studies from well known companies that enable dynamic change to their teams propelled by retrospectives and other agile, humanistic practices. In this talk, you’ll learn tips and tricks for building a sustainable company by changing teams – whether it’s by growing and splitting teams, merging teams, seeding teams, adding new people across multiple teams and more. I’ll also share reteaming antipatterns and what not to do.

  • Added to My Schedule
    keyboard_arrow_down
    Ken Scambler

    Ken Scambler - Adopting FP: A Human-First Approach

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

    Functional programming has made great strides in the popular imagination, yet adoption of FP languages has often been challenging for companies, sputtering in fits and starts. Ken has been at the forefront of REA's successful adoption of FP over four years, and will share lessons learnt and traps avoided: how a human-first approach can succeed and scale.

  • Added to My Schedule
    keyboard_arrow_down
    Kasper Lund

    Kasper Lund - Flutter: The Best Way to Build for Mobile?

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

    Want a more productive way to build for mobile? Flutter is an SDK for building high-performance, high-fidelity, apps for iOS and Android, from a single code-base. Flutter delivers a great developer experience in part because it is based on Dart, which allows you to build your cross-platform mobile apps in an approachable and analyzable language with sub-second edit-and-continue support baked in.

    Come see what makes Flutter special and learn how you can become a more productive mobile developer.

12:20

    Lunch Break - 60 mins

01:20
  • Added to My Schedule
    keyboard_arrow_down
    Doc Norton

    Doc Norton - The Technical Debt Trap

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

    Technical Debt has become a catch-all phrase for any code that needs to be re-worked. Much like refactoring has become a catch-all phrase for any activity that involves changing code. These fundamental misunderstandings and comfortable yet mis-applied metaphors have resulted in a plethora of poor decisions. What is technical debt? What is not technical debt? Why should we care? What is the cost of misunderstanding? What do we do about it?

    Doc discusses the origins of the metaphor, what it means today, and how we properly identify and manage technical debt. In this talk I’ll share how these four principles power world-famous companies and how they can help you work with greater speed, simplicity, safety and success.

  • Added to My Schedule
    keyboard_arrow_down
    Julien Verlaguet

    Julien Verlaguet - Reflex: A New Reactive Programming Language at Facebook

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

    Facebook is developing a new experimental programming language called Reflex. Its main characteristic is its “spreadsheet semantics”: the runtime recomputes the state of the program incrementally when changes occur. This talk will cover the basics of the language as well as how things work under the hood.

  • Added to My Schedule
    keyboard_arrow_down
    Mark Aufflick

    Mark Aufflick / Adam Searle - Bionic Implanted and Mobile Software in Six (years of) Easy (ish) Steps

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

    Over the course of six years, the Cochlear System 7 project went from prototypes using bleeding edge chipsets and mobile frameworks, to delivering a world first mobile and cloud connected implanted device. BlueTooth, custom hardware, regulatory concerns, clinical trials, 37 language internationalisations, accessibility, distributed teams, custom cryptographic implementations, four platforms. A zen garden of Kanban surrounded by waterfalls.

    We will look at the project and team aspects as well as coding and technical approaches, that enabled us to take this project from R&D to release, maintaining course and progress on top of shifting technologies, and operating a team in an organisation with complex technical and timeline interdependencies.

02:20
  • Added to My Schedule
    keyboard_arrow_down
    Katrina Owen

    Katrina Owen - The Bait & Switch of Open Source

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

    Open Source sells itself as being about technical problems—delightfully thorny technical problems, at that. However, successful projects are filled with people, which introduces a whole different set of problems that programmers often have not developed the skills to handle.

  • Added to My Schedule
    keyboard_arrow_down
    Kresten Krab Thorup

    Kresten Krab Thorup - All the Things We Didn’t Do

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

    Humio is a startup on a mission to democratise log analytics. With limited resources, being successful is just as much about avoiding bad decisions, as it is about doing things right. This is a talk about trade-offs, technology and culture in building a startup.

    Working with log data introduces quite a different set of assumptions about how a data store should operate: you store a lot of data without known which part of it is relevant, and then after an incident, you want to be able to search it. Our biggest customers only look at 1% of the data they store. This is the opposite of how normal datastores operate: spend resources at ingest to make data easy to find. So we didn’t do it that way.

03:10

    Afternoon Break - 30 mins

03:40
  • Added to My Schedule
    keyboard_arrow_down
    David Hussman

    David Hussman - Learning in Product: How Wrong are You Ready to Be?

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

    While many Scrum teams talk proudly about progress, fewer engage is rich discuss about product. Many teams who become more confident in progress, or getting work done, often embrace the more ambiguous question of product, or “Are we meeting the needs of our customers”, with some customers buying, by paying for subscriptions, and others buying in, by showing (and glowing about) their use of the system.

    In this session, I’ll share experiences helping companies adopt a customer and product / services approach. From small digital product companies to large enterprises who are IT focused, I will present an approach for moving to or augmenting an existing move towards impact driven work.

    Topics that will be covered include: mapping teams to products and services, early product discovery, blending product discovery and product delivery, and if there is enough time, ideas for doing these things at scale. If we run out of time, there is always the hallways, where some of the best conversations take place. Feel free to stop me and chat me up. All I ask is that you bring your curiosity and skepticism, but leave any cynicism behind.

  • Added to My Schedule
    keyboard_arrow_down
    Beth Skurrie

    Beth Skurrie - It's Not Hard to Test Smart: Delivering Customer Value Faster

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

    It’s 2017 and we’re all doing microservices and continuous delivery now (yay!). Except, somehow with all of this betterness we’re not able to create more value to our customers as fast as we should.

    In this talk, we’ll discuss the fallout from the post-Monolithic era, a key to understanding why we are where we are. We’ll discuss why integration testing is bad for your health, how to deal with legacy architectures and how to truly optimise delivery for the entire value chain.

  • Added to My Schedule
    keyboard_arrow_down
    Josh Price

    Josh Price - Better APIs with GraphQL

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

    GraphQL has been out in the wild for nearly 2.5 years now. For such a relatively young API technology, GraphQL has won hearts and minds and it's being used in some rather unexpected places. The Community has grown rapidly and created a rich ecosystem of extremely useful tooling.

    Josh will present a quick introduction to the basics of GraphQL as well as a high-level overview of the GraphQL ecosystem. He'll also describe some of the benefits of using GraphQL in your API layer, bust some myths around what it is and what it isn't, as well as some of the ways you can get started with GraphQL easily in your projects.

04:40
  • Added to My Schedule
    keyboard_arrow_down
    Sandy Mamoli

    Sandy Mamoli - How the Olympics Can Make You a Better Person

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

    You won’t win if you keep doing the same thing over and over again. And you won’t be world-class if just you do what others have done before you. To truly make it, you need to be different and develop a world-class innovation mindset!

    In the world of professional sports, innovation, persistence and rapid learning are everything! In this very personal talk I, a former Olympian, will share key learnings from my professional sports career. I will delve into topics such as choosing the team that’s right for you, rapid feedback, radical candour and high-performance teams.

    I will contrast the perspectives and attitudes of professional sports with modern work life and will extract guidelines and tools that we can apply to our professional lives. From critical communication skills to collaboration and effective teams, come along and learn practical ways for how to apply ideas from Olympic sports to your professional agile career!

  • Added to My Schedule
    keyboard_arrow_down
    Steve Freeman

    Steve Freeman - Test Driven Development: That’s Not What We Meant

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

    Test-Driven Development (TDD) has been so successful that it’s now unfashionable. But many developers complain that being required to write tests just gets in the way of shipping features. That wasn’t our experience when we first stumbled onto TDD a dozen years ago, so what went wrong? Were we fooling ourselves, or did the message get confused along the way?

    In this talk, I will revisit the basics, the essence of what makes TDD work. I will look at some of the common difficulties that I see with teams that are struggling. I will show how understanding the principles means that we can use tests to help us deliver more effectively.

  • Added to My Schedule
    keyboard_arrow_down
    Ondrej Lehecka

    Ondrej Lehecka - Delivering LiveQueries via LiveServer

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

    Facebook has been using GraphQL queries to build rich user experience on web and mobile. User interface updated in real time as other users interact with the system plays a key role in driving user engagement. LiveQueries is an API to allow building interactive user interface, update client caches, push updates to the client in the background and more. It allows subscribing to the query result and receive updates as the query result changes.

    LiveServer is a stateful back-end for LiveQueries which interacts with query execution engine and reactive data sources. It uses dependency tracking and query re-execution to send updated query results to the client. It also allows delayed query execution and application of strategies for failed client message deliveries. Client and server is using long living connections and RSocket application protocol to deal with subscriptions, bi-directional streams, flow control and connection resumability.

05:30

    Closing Drinks - 60 mins