YOW! Hong Kong 2017

Topics covered at #YOWHK

Thursday, 7th - Friday, 8th September in Hong Kong

14 experts spoke.

Since 2008, YOW! has brought 200+ International Software Experts from North America, Europe and countries around the world to over 10,000 software professionals in Australia. Now we're bringing them to Hong Kong.

Come to this two-day conference to discover the latest trends and network with fellow developers. Hear 14 international software experts share best practices in development and delivery.

Excited? Share it!


Pushing C# to the limit

C# is a language of breadth. At one end it allows low-level programming with pointers and lock-free synchronization; at the other end, it sports high-level features such as closures, expressions trees and asynchronous functions.

Which leads us to a challenge: can we write a non-contrived program that uses all of the above? The answer is “of course!”, and I’m going to walk you through a practical example: a high-speed communications library built on shared memory (and used in production!)

Come and join the author of C# 7 in a Nutshell and LINQPad in an advanced session, where we step outside the box and play with all of C#’s best toys at once.

Joe Albahari

.NET Developer

Agile is the Last Thing You Need

Nigel Dalton is known in Australia as The Godfather of Agile, having run one of the two famous enterprise experiments in new ways of delivering software, each beginning in 2007. One was Suncorp, led by Jeff Smith, who went on to be global CIO at IBM in 2014. Nigel learned his agile skills building a startup in the USA from 2000 – 2004, applying agile principles to all aspects of the business – from tech to sales. In 2007 Nigel was GM of IT at Lonely Planet, the travel guide publisher – where hundreds of agile practitioners, in both engineering and delivery roles, began their XP, Scrum and Kanban journeys. Thoughtworks were a key partner for Lonely Planet.

Ten years later, working as CIO (and more recently Chief Inventor) at the REA Group, who own Iproperty in Asia, Nigel now offers his reflections on the successes and failures of obsessing with agile dev practices to deliver great business and tech outcomes. He will present a model built on 17 years of being agile, that begins with Toyota-inspired lean management; flows to a focus on resilience (because “agile is fragile”); which unleashes invention; which can finally be executed in an agile ‘factory’ that includes unified design, engineering and product.

Attendees should take away an understanding that as engineers they need to be very careful to ask for a clear organisational purpose, effective organisation structure, and multi-disciplinary teams – just as loudly as demanding AWS access, Github keys, Docker licenses, Slack logins, and pair-programming desks.

Nigel Dalton

Chief Inventor
REA Group

IoT and MicroServices

IoT, the prevalence of specialized interconnected devices, has invaded business and home. The myriad of devices, hubs, and APIs has created a Tower of Babel that makes the Android phone scene seem mild. Such devices are inherently less network ­reliable than previous products, primarily due to the casual attachment (convenient outlets). Add to this heterogeneous soup the security exposure that has already been exploited in DDoS attacks, and you have an environment begging for technical solutions.

We propose Asynchronous MicroServices as a solution. Borrowing a page from historical J2ME thinking and more recent implementations using IFTTT, we introduce small bridging MicroServices for the various devices. Further, also consistent with MicroServices, we keep these services very simple: They broadcast device status to an event bus, or listen for action commands to relay to the devices from the same bus. Interaction among the various IoT devices is delegated to yet another set of MicroServices.

One exemplary composite application would accept signals from motion detectors to turn on appropriate lights, or alternatively alerting the owner of unauthorized intrusion. Using the same motion detectors, lights can be dimmed and eventually turned off. Room temperatures and even audio/video gear could be adjusted as well. Using Asynchronous MicroServices, we can also set up controlled access from the outside world, rather than exposing each device with its own vulnerabilities.

Finally we wrap up talking about the challenges of implementing this in my own flat using Hue lights, Amazon Alexa, and 4th generation Apple TV. We run these MicroServices in local containers attached to the same home network. Docker support of ARM devices enables low cost redundancy as well.

Lake, Swamp or Puddle: Data Quality at Scale

Data is a powerful tool. Data-driven systems leveraging modern analytical and predictive techniques can offer significant improvements over static or heuristic driven systems.

The question is:

  • How much can you trust your data? Data collection, processing and aggregation is a challenging task.
  • How do we build confidence in our data? Where did the data come from?
  • How was it generated? What checks have or should be applied?
  • What is affected when it all goes wrong?

This talk looks at the mechanics of maintaining data-quality at scale. Firstly looking at bad-data, what it is and where it comes from. Then diving into the techniques required to detect, avoid and ultimately deal with bad-data. At the end of this talk the audience should come away with an idea of how to design quality data-driven systems that ultimately build confidence and trust rather than inflate expectations.

Mark Hibberd


Enterprise Integration Patterns 2: The Making of a Pattern Language

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.

Gregor Hohpe

Enterprise Strategist


Coming Soon...

Gregor Hohpe

Enterprise Strategist

Setting up Continuous Delivery Culture for a Large-Scale Mobile App

The ability to get the latest greatest version of your product into the hands of users, safely and quickly in a sustainable way, a.k.a Continuous Delivery is the need of the hour for every enterprise out there. Over the years, we've got very good about Continuous Delivery for server-side, web-applications. However, it's not as streamlined for Mobile or Desktop Apps.

This talk will cover the typical aspects we need to address while setting up a Continuous Delivery culture in the context of a large-scale mobile app:

  • SCM/Version Control: moving from Feature Branches to a trunk-based development model
  • Build/Test Environments: Decentralising the build & test environments using Containers(Docker) and CI Server(Jenkins)
  • Microservices Architecture: Segregating and containerize the micro-services. Also refactoring the mobile apps to be more container friendly.
  • Device Farm: Setting up a mobile device farm (using STF or ADF)
  • Code-reviews: Improving the quality of code-reviews (using SonarQube, PRBuilder & PRRiskAdvisor)
  • Test Pyramid: Building the right Test Pyramid to get rapid feedback by creating different kinds of automated tests to align with the CI Pipeline
  • Code Quality: Visualising the health of our code-base (using C3)

Naresh Jain


Building Genomics Pipelines with AWS Lambda and Apache Spark

Lynn Langit shares lessons learned and cloud data pipeline patterns via examples from work she’s doing with CSIRO Bioinformatics Australia. The team there, led by Dr. Denis Bauer, is analyzing a number of large genomic datasets.

First, Lynn examines real-time analysis with cloud-based solutions. Keeping runtime constant can be challenging for problems that vary in complexity, such as genome engineering. The CSIRO GT-Scan2 tool works by instantaneously recruiting additional Lambda functions as the complexity increases. It was built using a microservices pattern (serverless) using AWS services.

Next, Lynn will demo a Jupyter notebook which shows how genomic research can leverage Apache Spark to massively parallelize the generation of random forests to identify disease genes efficiently.She’ll discuss the pipeline’s use of an OSS library written by the team at CSIRO (VariantSpark).

VariantSpark can analyze 3,000 samples with 80 million features in under 30 minutes. This pipeline enables real-time diagnosis by finding similar patients. This platform is contributing to motor neuron disease research (publicized by the Ice Bucket Challenge) in Australia.

Lynn Langit

Lynn Langit is an independent Cloud Architect and Developer. She works on genomic-scale cloud pipelines. Also Lynn is an author for LinkedIn Learning, having created 25 courses on cloud topics. For her technical education work, she has been awarded as an AWS Community Hero, Google Cloud Developer Expert and Microsoft Regional Director.

Cloud Native Java Workshop


In this workshop we’ll look at how to build cloud-native Java applications. A cloud native application is one that is designed to fully exploit a cloud platform both in the application layer – where things decompose into microservices – and at the data layer where NoSQL offers better horizontal scaling and fitness for specific purpose.


We’ll look at:

  • writing services and handling non-functional requirements like
    metrics and logging with Spring Boot
  • scaling out safely and building fault-tolerant systems using Spring
    Cloud and its support for distributed systems patterns like the
    circuit breaker, service registration and discovery, and centralized
    configuration management.
  • offloading as much operational work as possible to the platform, Cloud Foundry


Josh Long

Spring Developer Advocate

Cloud Native Java

“It is not necessary to change. Survival is not mandatory.” - W. Edwards Deming

Work takes time to flow through an organization and ultimately be deployed to production where it captures value. It’s critical to reduce time-to-production. Software - for many organizations and industries - is a competitive advantage.

Organizations break their larger software ambitions into smaller, independently deployable, feature -centric batches of work - microservices. In order to reduce the round-trip between stations of work, organizations collapse or consolidate as much of them as possible and automate the rest; developers and operations beget “devops,” cloud-based services and platforms (like Cloud Foundry) automate operations work and break down the need for ITIL tickets and change management boards.

But velocity, for velocity’s sake, is dangerous. Microservices invite architectural complexity that few are prepared to address. In this talk, we’ll look at how high performance organizations like Ticketmaster, Alibaba, and Netflix make short work of that complexity with Spring Boot and Spring Cloud.

Josh Long

Spring Developer Advocate

The Future of Mars Exploration

Mars is the next destination for humans to explore and colonize in our journey through the solar system and beyond. For the past thirty years, the space programs of many nations have been sending landed platforms of increasing complexity, revealing the Red Planet’s ancient past. One of the most challenging aspects of all missions to Mars is the safe landing on the surface, from an initial entry speed of 30,000 miles per hour to a soft touchdown. On the surface future explorers must be able to survive radiation and low pressures, with only the limited resources they can bring with them. This talk will discuss the motivation for Mars exploration and how engineering challenges are tackled with computational modeling, cutting-edge technologies, and out-of-the-box thinking. Engineering the Red Planet is the key to our future and understanding our past.

Anita Sengupta

Rocket Scientist, Sr. Vice President
University of Southern California

Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay

When you look for inspiration in the Agile Coaching community, the name Gordon Ramsay is probably not the first name to come to mind. He has been known to be belligerent, condescending and downright rude, but underneath this brute facade is a treasure trove of skills and talents that influence change.

In this presentation we will draw insights from his ‘Kitchen Nightmare’ escapades and draw parallels with how much his work aligns with that of an Agile Coach and the goal to successfully drive change and introduce a number of models and techniques that are indispensable in the coaching toolkit.

Craig Smith

YOW! Conference

A Presentation to Myself on Organisational Agile Transformations

Dear Self, in your career you’re going to lead large scale transformation projects all aimed at developing companies into killer Agile delivery environments. Now I have access to a time machine I’m able to teleport myself back to a time just before I embark on those journeys and I can give myself the value of hindsight! If I let myself go ahead without advising me, then I’ll think an Agile transformation is about the adoption of a process and over time I’ll learn it’s not! I’ll think that architecture and architects are irrelevant and they aren’t! For too long I’ll ignore the significance of diverse teams and culture! I’ll start the transformation process in the technical teams and build out to the wider organisation which is just flawed! I’ll try to eradicate project management, plans, managers, architects, and standards….. Oh, there is just so much to tell me!

This presentation talks about approaches for building new delivery teams, advice on how to make existing teams more effective and insights on approaches which have been used to transform organisations.

John Sullivan

A Java programmer since 1996, I’ve fallen in love with Scala over the last two to three years. I’m extremely fortunate to work more or less full time in Scala at my current position at The Broad Institute. Interests include software engineering, agil

The Best OO Language is a Functional One

Object oriented development turns 50 this year. During that time, hundreds of OO languages have come and gone. And yet, with the exception of Smalltalk and a few research languages, none of them were actually object-oriented.

I think we might now be seeing a revival of the spirit of OO, but it is coming from the functional world. I want to show you how to write OO in Elixir, and how liberating this can be.

Dave Thomas

Dave Thomas is recognized internationally as an expert who develops high-quality software--accurate and highly flexible systems. He helped write the now-famous Agile Manifesto, and regularly speak on new ways of producing software. He is the author of six books, including the best selling The Pragmatic Programmer: From Journeyman to Master (Addison-Wesley) and Programming Ruby: A Pragmatic Programmer's Guide (Pragmatic Bookshelf).

Fast Big Data – Enabling Financial Oversight

For the last decade, there has been increased concern about the integrity of capital markets. The crash of 2008-2009 and follow legal actions and press have created an image of a world of high-frequency traders who can leverage their computer power to manipulate markets. Technical talks on performance which is critical in finance, further characterize finance as hooked on speed/low latency. One gets the impression that fast data leads to a fast buck at public expenses. However, fast big data also enables the good guys!

We discuss how fast big data is being used in the financial industry to ensure good governance and protect consumers and businesses who depend on the integrity of financial markets. We discuss the better decisions enabled by algorithms; improved testing practices for algorithms; oversight of markets through surveillance; protection against cyber threats; and the use of data forensics to tell the true story of transactions past.

Dave Thomas

Co-Chair Conferences Program & Technical Advisory Board

High Performance Managed Languages

Common wisdom dictates that native languages are the only means of building high-performance applications. How do managed runtimes such as those available to .NET, Java, and even JavaScript, yes even JavaScript compare? Many applications requiring high-performance are now developed for managed runtimes – such as financial trading, data stores and analytics, messaging, and even supercomputing.

Over the last few decades we have seen significant advances in managed runtimes, particularly for JIT compilers and garbage collectors. In this talk we will explore how our managed runtimes can equal, and even better in some cases, the performance of native languages.

Martin Thompson

Martin is a Java Champion with over 2 decades of experience building complex and high-performance computing systems.

High-Performance Messaging with Aeron


In this workshop you will learn how to build microservices with Aeron and SBE in Java. Microservices 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.


Topics covered will include:

  • Network Fundamentals
  • Aeron Design
  • Encoding & decoding messages with SBE for zero copy semantics
  • Handling large messages and streaming
  • Monitoring, debugging, and spying on streams
  • Basic tuning for performance and resource management
  • “Multicasting” in the cloud with multi-channel-cast
  • Configuring message delivery service levels: allow loss, reliable, durable, etc.
  • Flow control and congestion control strategies – When and how to use them.
  • Customising channel endpoints for extending Aeron, e.g. testing loss scenarios.

Delegates need a laptop with Java 8 installed and be comfortable with hands on coding.


Martin Thompson

Martin is a Java Champion with over 2 decades of experience building complex and high-performance computing systems.

Other Years