Thursday, 8th - Friday, 9th December in Online Event

39 experts spoke.
Overview

YOW! Conference is designed by developers for developers, and each speaker has been invited because of their development expertise by our independent international program committee. At YOW! Conference you'll get straight tech talk by world-class experts and networking with like-minded developers.

Excited? Share it!

Programme

The Scribe’s Oath

We are the modern day scribes. Nothing happens in our society without us. But so far, we are unorganized, undisciplined, and we have no unifying ethics or standards. Society is becoming aware of us. Software developers have become both villains and heroes in our culture. More importantly, our society depends critically upon us. What oath, if any, should we swear? How would we enforce it?



Uncle Bob (Robert C. Martin)

Robert Martin (@unclebobmartin) is Master Craftsman at 8th Light, Skills Matter instructor and author of a range of books (as well as hundreds of articles), including: Clean Code: A Handbook of Agile Software Craftsmanship as well as his most recent, Clean Architecture: A Craftsman's Guide to Software Structure and Design.


Immutable Data Infrastructure Behind The Firewall

An immutable infrastructure is one that is comprised of immutable components that are replaced for every deployment, rather than being updated in-place. The benefit is you get a more predictable infrastructure and deployment process with less inconsistency.

We will explore some of the difficulties involved in provisioning your own scale data infrastructure and some of the principled approaches we are taking at Commonwealth Bank to deal with these problems.

KEYWORDS

Immutable, Big Data, Infrastructure, Scale



Quinton Anderson

Head of Engineering
Commonwealth Bank


Data Science as Software at Pinterest

The popular conception of data science as mining nuggets of gold from oodles of unstructured data misrepresents the importance of software engineering to the success of any data science efforts. Learning to log the right things and process data efficiently is tremendously important and easily underestimated.



Andrea Burbank

Data Scientist
Pinterest


Incrementalism: A Strategy For Adopting Modern Automation

With the rate at which tooling evolving at an accelerating rate, how does your organization keep up? What does a winning migration strategy from static iron to a modern infrastructure built on immutable microservices look like? Nuke and pave the world, and embrace a forklift upgrade to a new technology stack? Dynamic secrets, infrastructure as code, immutable servers, service discovery, and cluster schedulers are becoming the norm, learn how to integrate these puzzle pieces successfully into your organization and applications.

KEYWORDS

Operations, Organisation, Change, Cluster Scheduler, Service Discovery, Consul, Nomad, Terraform, Vault, Fabio, Dynamic Secrets



Sean Chittenden

Engineering Manager
HashiCorp


There And Back Again

How do Danish companies do agile transformations? Why should people in Australia care what takes place on the other side of the world? This presentation will show examples of the challenges some companies face and how they overcome them, as well as cases where they did not. It can be argued that a complete agile transformation is utopia, but some companies have come a long way in thinking, acting, and making decisions in a more agile way. If you are going through and agile transformation, or considering to do so, this talk is for you.



Aino Vonge Corry

Founder
Metadeveloper


Building Your Own Compiler The Slightly Easier Way With LLVM

The rise of LLVM has made it possible to write a language with its own little compiler, making use of the many high-performance backends and the extensive compiler API. In this presentation we’ll show how to build a domain specific language with the performance of C++ and the eclecticism of Tolkiens lesser known Elvish dialects.



Erik Corry

Founder
Toit


Containerise Everything: Going Cloud Native With Docker

We built a reference application for microservices (https://microservices-demo.github.io/) and along the way we heavily (ab)used container technologies. From the services, to databases, to builds, tests, through continuous integration and deployment pipeline. In this talk I’ll look at how we leveraged containers throughout, where this approach was really beneficial and where it turned out to be more hindrance than stimulus.

KEYWORDS
Docker, Containers, Cloud, Microservices, Deployment, Continuous Integration



Ian Crosby

Sr. Engineer
Container Solutions


Frontend At Scale: Designing Infra For Big Teams

The frontend ecosystem is a rich and complex environment. Developing high quality web applications means understanding browser quirks, web performance, testing strategies, and API design. Consistently getting all of this right is difficult in an organization where hundreds of engineers are collaborating on the same codebase.

In this talk we look at the solutions Facebook has developed for data fetching, code delivery, performance profiling, and testing React applications. And we review the methodologies Facebook uses when designing new infrastructure like Relay and GraphQL.

KEYWORDS

React, GraphQL, Redux, Flux, Relay, JS, Frontend, Performance



Josh Duck

Frontend Engineering Manager
Facebook


The Rationale for Continuous Delivery

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.

KEYWORDS

Continuous Delivery, DevOps, Software Engineering, Quality



Dave Farley

Independent Consultant
Continuous Delivery


Java 8 (and 9!) in Anger

Java 9 is just around the corner, but many of us developers are still getting to grips with thinking in terms of Java 8 idioms. This presentation shows how use lambda expressions and the streams API to to build a fully working end-to-end application using minimal external dependencies and the very latest version of Java. In fact, since we’ll be using the OpenJDK Java 9 build, we’ll even sneak in some of the lesser-known Java 9 features and see how these are going to make developers’ lives easier.

In this session, Trisha will build, live on stage, an application that consumes a real-time feed of high velocity data, architected as small (possibly micro-sized) independent services that make sense of the data, and present it in a JavaFX dashboard. Along the way, we’ll encounter Java 8 streams, lambdas, new ways of working with collections (from Java 8 and 9), and bump into the new date and time API. As we design and build the application, we’ll see how to slice up our application into small, independent services, and almost certainly encounter some of the common issues around running a system in this fashion.



Trisha Gee

Trisha has developed Java applications for a range of industries, including finance, manufacturing, software and non-profit, for companies of all sizes. She has expertise in Java high performance systems, is passionate about enabling developer productivity, and dabbles with Open Source development. Trisha is a leader of the Sevilla Java User Group and a Java Champion, she believes healthy communities and sharing ideas help us to learn from mistakes and build on successes. As a Developer Advocate for JetBrains, she gets to share all the interesting things she’s constantly discovering.


Lab to Factory: Robust Machine Learning Systems

Data-driven systems and machine learning continue to be a significant trend across our industry. However, most attempts at these systems face serious difficulties due the tension between the clean, controlled, lab environments where statisticians apply their skills, and the messy unpredictable, production environments where we want to apply their results at scale.

In this talk, we will provide an overview of the machine learning landscape, with an emphasis on the distinction between machine learning as a scientific practice and the larger concept of machine learning systems. Using this base, we will walk through the challenges of taking machine learning out of the lab and applying it successfully in an industrial setting.

By the conclusion of this talk, the audience should take away a better understanding of machine learning as a practice, together with an idea of what it takes to build and deploy machine-learning systems in an environment that deals with real customers and data at scale.

KEYWORDS

Machine Learning, Data, Scale, Deployment



Mark Hibberd

CTO
Kinesis


If You Are Synchronous You Are Not Resilient

Your software will break. The more sophisticated it is, the more often it will break. While traditional software design tries to eliminate failure through extensive testing, modeling and other techniques, highly scalable and dynamic systems need to embrace failure. Instead of trying to be robust, these systems need to be resilient, e.g. by restricting the extent of failure through isolated failure domains. Synchronous, state-sharing approaches like many object-oriented systems are notorious for propagating failure and make it difficult to isolate failure. Decoupled, asynchronous systems can add resilience.

This session takes a journey through coupling, asynchrony, conversations, and patterns for resilient software design.

KEYWORDS

Messaging, Architecture, Resilience, Scaling, Asynchrony, Patterns, Design, Decouping



Gregor Hohpe

Enterprise Strategist
AWS


Knit One, Compute One

Can a programming language describe art? Is knitting Turing complete? And just how many bytes of data does the average knitted scarf hold, anyway?

These are the questions that motivate Kris as both a knitter and a technologist. As an art form, knitting is inherently binary – just knit and purl. That means you can use sticks and string to encode data in a lot of different ways – like recording the day’s weather, noting enemy troop movements, or even knitting a computer virus. But that’s just the start! Through the act of knitting, the crafter becomes a kind of human CPU, utilising objects and data structures (needles) and free memory (ball of wool) to implement instructions (the pattern). Knitting patterns themselves are very similar to computer languages, with new syntax proposals emerging with innovative constructs and even compilers.

If you thought knitting was just an old-fashioned hobby for grandmas, this talk will open your eyes to the many ways this traditional craft is still relevant in the digital age.

KEYWORDS

Binary, Encoding, Steganography, Programming Languages, Language Syntax, Computation, Knitting



Kris Howard

Solutions Architect Manager
Amazon Web Services


Linking Open Government Data at Scale

Governments collect a lot of data. Data on air quality, toxic chemicals, laws and regulations, public health, and the census are intended to be widely distributed. Some data is not for public consumption.

This talk focuses on open government data — the information that is meant to be made available for benefit of policy makers, researchers, scientists, industry, community organisers, journalists and members of civil society.

We’ll cover the evolution of Linked Data, which is now being used by Google, Apple, IBM Watson, governments, non-profits, and thousands of others worldwide.

Next we’ll delve into the evolution of the U.S. Environmental Protection Agency’s Open Data service that we implemented using Linked Data and an Open Source Data Platform. Highlights include how we connected to hundreds of billions of open data facts in the world’s largest, open chemical molecules database PubChem and DBpedia.



Bernadette Hyland

Founder & CEO
3 Round Stones & OpenData Advocate


Pronto: Toward a Live Designer’s Notebook (ECMAScript)

We will briefly demonstrate Lively Web (informally “Lively”), an archetypical live-object development system. We will discuss how its strengths (live-in-browser open-ended and self-supporting development, plus the ability to save any creation as a web page in seconds) led to an accidental misclassification of the entire system as a “web development environment”. This in turn led to a narrow view of the typical users, and a self-fulfilling agenda to serve relatively serious web programmers and programmers in general.

The original goals of the project were much broader and closer to Alan Kay’s ideal of a DynaBook, and we have begun a project named “Pronto” to re-imagine the user experience for Lively to better suit non-programmers and newbies, while also supporting the more lively touch and pen interfaces of new phones and tablets. The second part of the presentation will cover various desiderata of a dynabook appliance through discussion and demonstration.

The entire Pronto project is open-source work, as is the Lively system on which it is built, and attendees will have full access to the system for play or work, or further exploration and evolution of the tool itself.

KEYWORDS

IDE, Web Development, Live Object System, JavaScript, Serialization, WebDAV, Live Coding, Live Server Coding, Morphic, HTML, Canvas, End-User Access



Dan Ingalls

Principal Investigator
Y Combinator Research


Adventures in Elm: Question your Principles

What do you get when you combine strict functional programming with heavy user interaction?

Challenges, and unexpected freedoms.

Elm is a purely functional language for the browser. It compiles to JavaScript – after enforcing immutability, types, semantic versioning, and tight boundaries for user and server interactions. Working within these restrictions, I find my programming principles turned upside down. Small components? who needs them. Global state? no problem. New principles emerge instead: events, reproducibility, kindness in times of error. This session gives an overview of Elm, then focuses on the Elm Architecture. See how this lets me do front end development like never before: free of runtime errors, full of joy and possibilities.

KEYWORDS

JavaScript, Elm, Web, Functional, Event Sourcing, Architecture, Languages



Jessica Kerr

Principal Developer Evangelist
Honeycomb.io


Personalities at Work

Why did the normally shy and reticent member of my team do what he did last Thursday? Why did my short-tempered, brutish CEO rise to that occasion with such warmth and largesse? For the last ten months, people have been asking me if I am myself. Who else could I possibly be? Such questions are intriguing and consequential for understanding ourselves and our organizations.

This presentation provides guidance for answering them based on Dr. Little’s work on free traits, personal projects and wellbeing. A central tenet of this perspective is that people often act out of character in order to advance their personal projects. Such behaviour may puzzle us, and we wonder what is going on. What is going on is both complex and deeply human. Audiences come away with some very practical examples of how they drive each other to distraction and with a clearer understanding of why it is essential to their organizations that they continue to do so.

The presentation merges psychological insights with an exceptionally motivating message about respect for differences between individuals. Dr. Little’s presentations have been described by highly diverse groups as ‘utterly hilarious’ and ‘profoundly moving,’ suggesting he is a ‘cross between Robin Williams and Einstein.’



DR. BRIAN LITTLE

Distinguished Scholar
University of Cambridge in Psychology


The One Weird Trick for Analyzing Big Data … Eyeball it Early and Often!

As programmers, we tend to treat data as generic stuff to feed into the algorithms and architectures we love. We don’t really pay attention to the data itself, especially when we have terabytes or petabytes of it.

Huge mistake. And we are trained to make it! It is why it takes a year for a new programmer to be productive at working on the Google ranking algorithm. It held back progress on genome sequencing algorithms. It has cost me more time than I’d care to imagine.

The good news is that you don’t have to look at all of your petabytes of data. Just eyeball a ten record sample when you start, and repeat as you work the data. Even then, eyeballing can be hard work, and done wrong can be worse than doing nothing. But done right, it can be fun, and the data will almost always surprise you. Better yet, you can use your favorite algorithms and architectures to build tools to make eyeballing your data easier and much more effective.



John Lamping

Principal Scientist
Xerox PARC


Lab to Factory: Robust Machine Learning Systems

Data-driven systems and machine learning continue to be a significant trend across our industry. However, most attempts at these systems face serious difficulties due the tension between the clean, controlled, lab environments where statisticians apply their skills, and the messy unpredictable, production environments where we want to apply their results at scale.

In this talk, we will provide an overview of the machine learning landscape, with an emphasis on the distinction between machine learning as a scientific practice and the larger concept of machine learning systems. Using this base, we will walk through the challenges of taking machine learning out of the lab and applying it successfully in an industrial setting.

By the conclusion of this talk, the audience should take away a better understanding of machine learning as a practice, together with an idea of what it takes to build and deploy machine-learning systems in an environment that deals with real customers and data at scale.



Ben Lever

CTO
Ambiata


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.

KEYWORDS

Cloud, DevOps, Continuous Delivery, Spring, Cloud Native Java



Josh Long

Spring Developer Advocate
Tanzu


How Do I Game Design? Design Games, Understand People!

In this session, you’ll learn about game design: the art and science of constructing enjoyable, engaging games. We aren’t doing any coding, and we’re not talking game engine development – instead, we’ll be taking a deep dive into game design theory, using it to understand how people interact with rules, and how to use it to improve your community, your company, your project, and your software.

Video games are the most glamorous of the electronic arts, but splashy graphics and amazing sound aren’t the defining feature of games. Games are the world’s only interactive artistic medium, and good interaction needs to be designed. Today’s master crafters of interaction design are game designers.

In this session, you’ll get a fresh perspective on user experience design and community engagement by understanding how people are interacting with the fastest-growing form of entertainment in the world.

Topics covered in this session include:

  • Why games work, and how to analyse and build engaging experiences
  • The Mechanics-Dynamics-Aesthetics framework: what it’s good for, and how to use it
  • How to understand what a game’s doing, and how to build for fun

We’ll take this knowledge and apply it to real world examples in the realms of UX and UI design, community management, project management, and company building, as well as a few examples from the actual game development industry.

KEYWORDS

Design, Games, Rules, Interaction, UX



Jon Manning

co-founder
Secret Lab.


The Verification of a Distributed System

Distributed Systems are difficult to build and test for two main reasons: partial failure & asynchrony. These two realities of distributed systems must be addressed to create a correct system, and often times the resulting systems have a high degree of complexity. Because of this complexity, testing and verifying these systems is critically important. In this talk we will discuss strategies for proving a system is correct, like formal methods, and less strenuous methods of testing which can help increase our confidence that our systems are doing the right thing



Caitie Mccaffrey

Distributed Systems Engineer
Twitter


How the Bitcoin Protocol Actually Works

The bitcoin network is the largest distributed computer in existence. It is a solution – suggested in 2008 by Satoshi Nakamoto – to the problem of distributed consensus that many scientists thought impossible.

This talk will be fast-paced and highly technical, and will explain how Bitcoin actually works. The first three times you think you understand Bitcoin you are probably wrong. After this talk you can bump your wrongness down by one.

KEYWORDS

Bitcoin, Distributed Consensus, Blockchain, Cryptocurrency



Jan Moller

CTO
Chainalysis


Modern C++: Old Dog, New Tricks

C++11, C++14, and even C++17 present opportunities for new designs and behaviors. How do these new opportunities actually work out when the project is non-trivial, performance sensitive, and interoperable with other languages? In this session, we will discuss the challenges faced and lessons learned with the use of modern C++ in two recent projects. Aaron is a high performance messaging transport that provides a C++ API that must transparently interoperate with its Java, .NET, and Go APIs. ReactiveSocket is an application protocol providing Reactive Streams semantics over various communication media. Whether you are just curious about modern C++ or are an experienced C/C++ developer, this session will provide some new perspectives.



Todd L. Montgomery

Founder and Principal Consultant
StoneTor


Hope is not a Strategy – Not even for Career Management

Personal career management is much like project management, and the same things that trip us up in the technical realm – formulation, resource allocation, estimation, risk assessment – are also too often absent from our thinking about our own career development. How might we benefit from applying our technical thinking to what we normally think of as a soft topic? What lightweight approaches may help us better achieve personal goals?

KEYWORDS

Professional Development, Personal Career Management, Estimation, Decision Analysis, Planning, Formulation



Lisa Montgomery

Strategist
Ovation Solutions


NLP: Something Old, Something New…

Teaching a human to understand a language is a hard and complex process. Understanding the meaning expressed through a language is even harder. The industry is ever so excited about accomplishing the mission of making computers understand humans or even act like humans. The mission has been in works for decades. So why this new excitement? What’s new and what is trending in NLP?

This is a talk that takes you through a journey of ””NNLP”“, NLP and recent trends. Hopefully leaving you a bit excited, a bit scared, and a bit more insightful about the NLP space in general.

KEYWORDS

NLP, Natural Language Processing, AI, Human Computer Interaction, Adaptive Interfaces, Context Aware Services, Machine Learning, Big Data, Search, Text Analytics



Eva Nahari

Director of Product Management
Cloudera


Maneuverable Architecture

What can a rogue fighter pilot from the 1960’s teach us about software architecture? Quite a lot, as it turns out. In 1964, John Boyd introduced ””energy-maneuverability”” theory. It showed that the fastest airplane didn’t always win the dogfight. Rather, the one that could accelerate or decelerate fastest would win.

Software architecture today is about gaining and shedding mass rapidly. One must scale up and scale down, and be able to adapt quickly to changing situations. Sadly, enterprise integration destroys maneuverability more often than it helps.

As architects, we can change the way we integrate systems to produce maneuverability, via some different techniques and patterns. Some of these techniques may appear to contradict past notions of sound architecture. Our industry evolves rapidly, however, and last year’s sound practice might just be drag this year.

KEYWORDS

Architecture, Agile, Microservices, Maneuverability, Enterprise, Scale



Michael Nygard

SVP, Platform & Architecture
Sabre Corporation


The Past, Present and Future Of Typed JS (ECMAScript)

As the complexity of “client-side” web applications grow, so too does the need for the tools and techniques used in their construction to become more robust. For most of us our focus has primarily been on how we can consume and integrate components that have a level of trust associated with them, and also how we can create our own for consumption within our organisation. More recently though the concept of embracing static typing and a compilation pipeline as part of our application builds has gained traction.

This talk will provide some comparisons between different options for providing type information within your ECMAScript code. We will primarily consider Google’s Closure Compiler, Microsoft’s TypeScript and Facebook’s Flow. This is due to their nature of largely being ””plain old JavaScript”” rather than a whole new language. In addition to the high level comparisons, practical examples of each will be provided plus some personal retrospectives on using Closure Compiler as part of Canva’s development tooling.

KEYWORDS

Closure Compiler, Typescript, Flowtype, JavaScript, ECMAScript, ES6, Type Systems



Damon Oehlman

Front End Engineer
Canva


FPGA Microservices: Ultra-Low Latency with Off-The-Shelf Hardware

How fast can we possibly make microservices?

You can have sub-microsecond wire-to-wire response times using off-the-shelf hardware and familiar languages. I’ll show you how to put the technology in place, but that’s the easy part. Why on earth would you want to do this, and how could you possibly stay agile?

An FPGA-powered network adapter can have a response packet on the wire before the server operating system has dispatched the incoming packet, and well before a high-level web stack has even heard about it.

To do this, you need to use hardware design for part of your microservice; you’ll use a programming language that allows intricately parallel expressions. I’ll show you how to do this using Haskell to compile to VHDL, then we’ll tackle the scary parts:

  • How do I test and deploy this?
  • Can I keep my continuous refactoring and continuous delivery?

We’ll walk through building a toy microservice, and see how to test and update it. We’ll talk about how this fits into the broader architecture of your service, and (crucially) how to convince the people around you to enjoy the challenge.

FGPA, Microservices, Haskell, Hardware Design, Test, Deploy. Continuous Integration



Conrad Parker

Sr. Developer
Optiver


The Past and Future of Evolutionary Architecture

Evolutionary Architecture is rapidly becoming seen as the responsible approach to technology rather than some crazy idea that leads to chaos and despair. This talk follows the evolutionary path of Evolutionary Architecture first. We’ll then try to see where such ideas might lead us in the future.



Rebecca Parsons

Chief Technology Officer
ThoughtWorks


What Comes After Microservices?

The results are in: developers LOVE microservices! But are microservices in their current form solving more problems than they create? Many early adopters are finding new limitations as they deploy hundreds or thousands of microservices. Are there perhaps better abstractions than microservices that we could be using instead?

In this talk, we’ll cover the limits that some companies have encountered in their large microservices deployments and some non-microservices approaches to those same problems. Since I work at Uber on this very problem, we’ll also talk about the non-microservices systems that Uber is building to maintain developer productivity with a large and growing engineering team.

KEYWORDS

Microservices, Architecture, Scalability



Matt Ranney

Principal Engineer
DoorDash


EventStorming – Collaborative Learning for Complex Domains

EventStorming enables a team struggling with understanding and exploring a complex business problem to model that problem collaboratively in hours instead of weeks. In this talk you’ll learn how this technique quickly generates shared understanding and insights into how the software can, and should, support the business capability being explored.

In EventStorming, development team members and business people gather in a room and together they create a visual map of the flow of events – important things that happen – through concrete business examples. They use sticky notes to map out a story of how the software system behaves, or should behave, given a particular business problem to solve. This session will teach you the rules of EventStorming and how it can help your team cultivate shared understanding and be more productive.

KEYWORDS

EventStorming, Domain-Driven Design, DDD, Agile



Paul Rayner

Paul Rayner is a programmer, coach, mentor, trainer, and popular international conference speaker.


Bringing Change to Life

Change in an organization is really hard. This is especially true when a company that was once on the forefront of innovation finds itself having lost that luster through its own growth & success. The past few years there has been a transformation happening at PayPal that is touching every part of the organization to make it innovative again. At the heart of this change is engineering innovation coupled with a new, close partnership between product, design and engineering.

Can your organization be changed? From Bill’s experience at Yahoo!, Netflix, PayPal and consulting with numerous companies he believes there are some core principles you can employ to drive transformation that are all centered around the customer. The question Bill will explore is “How can engineering and design be the catalyst for that change?” While this talk will be inspirational, it will take an honest (and humorous) look at what has worked and what hasn’t worked so well in trying to scale change.



Bill W. Scott

VP Next Gen Commerce
PayPal


Building Flexible Systems with Clojure and Datomic

Business applications are demanding ever-greater flexibility, yet responding to evolving requirements is still a challenge for software developers. Programming languages and frameworks are often brittle and inflexible, prone to unpredictable second-order effects which make change not merely difficult but often risky. Can we do better? This talk will explore techniques for designing software systems to be both robust and adaptable.

For examples of patterns which enable flexibility, this talk will focus on Clojure, a dynamically-typed functional language; Datomic, a transactional, distributed database; and clojure.spec, a dynamic testing and validation library.



Stuart Sierra

Stuart Sierra is a developer at Relevance, Inc., a member of Clojure/core, and the co-author of "Practical Clojure" (Apress, 2010) and "ClojureScript: Up and Running" (O'Reilly, 2012). He has been involved with open-source technologies including C


Architectural Patterns of Resilient Distributed Systems

Modern systems can fail in spectacular ways. Failure isn’t a question of if, but when. Resilient systems can endure and gracefully recover from failures, but ensuring your system has these properties requires thought and some deliberate architectural decisions. Join me in this talk as I attempt to find answers in academic research and industry to build a more robust system. I will also share the lessons learned while applying these patterns at Fastly and key takeaways that you can carry to your own systems.

KEYWORDS

Architecture, Patterns, Resilience, Distributed Systems, Robustness



Ines Sombra

Sr. Director of Engineering, Data Engineer
Fastly


Simplicity, Complexity and Security

We no longer live in a world where we build our applications from scratch. We build amazing creations using the blocks provided by libraries, frameworks and components. We trust widely and openly. We share and collaborate.

We design architectures that combine simple single purpose entities into massive complex coupled systems.

Then we try to secure them. What could possibly go wrong?

In this talk we will explore how our approaches to development, architecture and trust change the security of our applications and environments. We will discuss the challenges of securing these systems and some of the practical steps we can take to bring simple security to complex systems.
KEYWORDS

Security, Agile, DevOps, Bootstrapping, Trust, Complexity



Engineering You!

What are the characteristics of a good software engineer? It’s a topic many people would argue endlessly about. This is not surprising given we are effectively living in the era of software alchemy.

Some of the best programmers draw on a strong scientific and engineering background. They combine this with craft like coding skills in a virtuous feedback cycle. In this talk we look back at the history of Software Engineering then explore the individual practices and techniques that can help bring out the engineer in you.

KEYWORDS

Software Engineer, Craft, Practices, Techniques, Developer Growth



Martin Thompson

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


Communities of Practice: The Missing Piece of your Agile Organisation

Connecting with other people, finding a sense of belonging and the need for support are natural human desires. Employees who don’t feel supported at work don’t stay around for long — or if they do, they quickly become unmotivated and unhappy. At a time when organizational structures are flattening and workforces are increasingly fluid, supporting and connecting people is more important than ever. This is where organizational communities of practice come in.

Modern organizations with cross functional teams, have the ability to silo organizations into teams, programmes and functions. They can take people further away from other people that they can learn with. We need a way to bring people with the same concerns back together and this is what communities of practice do.

Communities of practice have many valuable benefits for both individuals and organizations. They include accelerating professional development; breaking down organizational silos; enabling knowledge sharing and management; building better practice; helping to hire and retain staff; and making people happier.

In this session, Emily will pull from experiences of building and growing communities of practice at the Government Digital Service, other government departments and organizations as well as case studies from her ongoing research into this area. You will gain an understanding of why community of practice are so important in modern organizations and practical advice to those who are thinking about setting one up or looking to reinvigorate one that already exists.

KEYWORDS

Continuous Delivery, DevOps, Software Engineering, Quality



Emily Webber

Emily Webber is a London-based independent Agile consultant, coach, trainer and speaker. Her focus is on creating the right environments for people and teams to succeed. She does this by enabling effective collaboration, agile ways of working, embedding communities of practice and leading initiatives for growing skills and capabilities. All of which help create sustainable change.

She was previously the head of agile delivery at the Government Digital Service, where she built, developed and led a team of about 40 agile delivery professionals. At GDS, she created the widely-followed approach and maturity model for communities of practice and subsequently authored Building Successful Communities of Practice.


Mob Programming, A Whole Team Approach

Mob Programming is a development practice where the whole team works on the same thing, at the same time, in the same space, and on the same computer. It is a whole-team approach to doing all the work the team does including designing, coding, testing, and working with the customers, users and other stakeholders.

This is an evolutionary step beyond pair programming, and accentuates face-to-face communication, team alignment, collaboration, and self-organizing team concepts of the Agile approach to software development. Mob Programming can be a highly effective approach to software development.

Please join me as I share how the concept got started, the benefits, techniques we use, and some of the problems we’ve faced.



Woody Zuill

Agile Guide / Trainer / Developer
Zuill Development


SkillsCasts

Hold tight, skillscasts coming soon!

 

Other Years