YOW! 2018 Sydney Workshops Day 1 - Tue, Nov 27

YOW! 2018 Sydney Workshops Day 1 - Wed, Nov 28

YOW! 2018 Sydney Day 1 - Thu, Nov 29

YOW! 2018 Sydney Day 2 - Fri, Nov 30

YOW! 2018 Sydney Workshops Day 3 - Thu, Dec 13

Workshop - Architecture Without an End State

Intermediate Workshop

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

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

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

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

This workshop includes both teaching and hands-on design sessions. Design sessions will be paper and whiteboard work in small groups. If you’re a developer or architect working with medium to large architectures and building applications in the context of existing systems or transitioning to new systems, this is the session for you.

Target Audience

Developers working on applications that can be modelled using state machines (e.g. web applications) who want to test more complex properties of their software.

Michael Nygard
Vice President of Customer Solutions
Cognitect

Michael Nygard is the Vice President of Customer Solutions at Cognitect. Mike is the author of Release It!, and a contributor to Beautiful Architecture. Mike focuses on highly-available and scalable commerce systems but can often be found coding, writing, speaking, or thinking about how the Universe works.

Mike’s most recent projects at Cognitect include designing an architecture for an online P2P lending platform, advising one of the world’s largest financial services firms on their overall software direction, and designing a software defined data center for another financial services firm.

Mike’s background includes re-engineering and operating some of the most prominent -- and busiest -- web properties in the world, including Best Buy, American Airlines and Hyatt. Mike also architected the software used to process 60% of all school photos in the US. Mike wrote the original control software for the infrared astronomy instruments at the Keck Telescope in Hawaii and programmed ground-based GPS systems for the USAF.

Question for Speaker?
Please rate Workshop - Architecture Without an End State

Workshop - Elixir for Programmers

Intermediate Workshop
This is a workshop with two agendas. The first is to get you up to speed with the Elixir language and the tooling that surrounds it. We'll see why companies around the world are switching to Elixir (and it's not just for the fantastic Phoenix web framework). And we'll do this by writing code: lots of code. By the end of the day you'll have a multi-user, real-time collaborative app up and running.
But there's a second, secret agenda. I want to introduce you to a different way of thinking about programming: state, objects, functions, concurrency: it's all up for grabs. I'm betting that the day after the workshop you'll find yourself writing code differently. Your code will have less coupling, and it will be easier to change. And it doesn't matter what language you're using.
This is a workshop for programmers: I'll run it as fast as you want, and I won't be shy when it comes from giving my personal (and often controversial) opinions.
Target Audience

Developers working on applications with concurrency(e.g. web applications) who want to design and test the more complex properties of their software.

Dave Thomas
Publisher
Pragmatic Programmers, LLC

Dave Thomas is a programmer, and now an accidental publisher. Dave Thomas wrote The Pragmatic Programmer with Andy Hunt at the end of the '90s, and that experience opened a new world for them. They discovered a love of writing that complemented their love of learning new things.

Dave Thomas is one of the authors of the Agile Manifesto, and probably responsible for bringing Ruby to attention of Western developers with the book Programming Ruby. He was one of the first adopters of Rails, and helped spread the word with the book Agile Web Development with Rails.

Dave Thomas enjoys speaking at conferences, running public and private training. But most of all, Dave Thomas loves coding.

Question for Speaker?
Please rate Workshop - Elixir for Programmers

Workshop - Developing Microservices

Intermediate Workshop

Enterprises need to deliver better software faster. It’s no longer sufficient to release quarterly or even monthly. Instead, organizations must use methods, such as DevOps, to frequently deploy changes into production, perhaps as often as multiple times per day. One obstacle, however, to DevOps-style development is that organizations are often mired in monolithic hell. Key business applications are large, complex, unwieldy monoliths, and so it’s impossible to rapidly and safely deploy changes.

The solution is to adopt the microservice architecture, which is an architectural style that has the testability and deployability necessary for DevOps. In this workshop, you will, through a combination of lectures and discussions, learn how to use the microservice architecture to develop your applications. We will describe how to solve some of the key obstacles you will face including distributed data management. You will learn about strategies for refactoring a monolith to a microservice architecture.

Target Audience

Developers working on applications that can be modelled using state machines (e.g. web applications) who want to test more complex properties of their software.plex properties of their software.plex properties of their software.

Outline

Overview of the microservice architecture

  • The microservice architecture as an architectural style

  • Benefits and drawbacks of microservices

  • The microservice pattern language

Decomposition

  • Overview of decomposition

  • Decompose by business capabilities

  • Decompose by bounded context

  • Service design guidelines

Managing distributed data in a microservice architecture data consistency

  • Overview

  • Maintaining consistency using sagas

  • Using event sourcing

  • Querying using the API composition and CQRS patterns

  • Using the CQRS pattern

Testing strategies

  • Introduction to the testing pyramid

  • Writing consumer-driven contract tests

  • Developing component tests

  • Developing end to end tests

Refactoring

  • Incrementally refactoring a monolith into microservices

  • Strategy #1: stop digging

  • Strategy #2: split front-end & backend

  • Strategy #3: extract services

Chris Richardson
Software architect
Eventuate.io

Chris Richardson is a developer and architect. He is a Java Champion, a JavaOne rock star and the author of POJOs in Action, which describes how to build enterprise Java applications with frameworks such as Spring and Hibernate. Chris was also the founder of the original CloudFoundry.com, an early Java PaaS for Amazon EC2. Today, he is a recognized thought leader in microservices and speaks regularly at international conferences. Chris is the creator of Microservices.io, a pattern language for microservices, and is writing the book Microservice Patterns, which is available at Manning. He provides microservices consulting and training to organizations that are adopting the microservice architecture and is working on his third startup Eventuate, an application platform for developing transactional microservices.



Question for Speaker?
Please rate Workshop - Developing Microservices

Workshop - Building Evolutionary Architectures Hands-on

Intermediate Workshop

An evolutionary architecture supports incremental, guided change across multiple dimensions.

For many years, software architecture was described as the “parts that are hard to change later”. But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This workshop, based on recent book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how different parts of architecture interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.

The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability. This hands-on workshop provides a high-level overview of a different way to think about software architecture.

Target Audience

developers working on applications that can be modelled using state machines (e.g. web applications) who want to test more complex properties of their software.

Outline

Outline:

  • Evolutionary Architecture Defined
  • Fitness Functions
  • Exercise: Fitness Function Katas
  • Engineering Incremental change
  • Architectural Characteristics
  • Exercise: determine appropriate characteristics
  • Identifying Architectural Patterns
  • Exercise: components and patterns
  • Evaluating the Evolvability of Existing Architecture Styles
  • Retrofitting Existing Architectures
  • Building Evolvable Architectures
  • Automating Governance
Learning Outcome
— Architects will understand the characteristics of evolutionary architectures
— Developers and architects will understand how to use fitness functions to automate governance
— Architects will understand the architectural quantum measurement and how to apply it to restructuring architectures
— Architects will have experience via team-based exercises on how to define architectural fitness functions
Neal Ford
Director, Software Architect
ThoughtWorks

Neal Ford is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a global IT consultancy with a focus on end-to-end software development and delivery. He is also the designer and developer of applications, articles, video/DVD presentations, and author and/or editor of an increasingly large number of books spanning a variety of subjects and technologies, including the most recent Presentation Patterns. His professional focus includes designing and building of large-scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 300 developer conferences worldwide, delivering more than 2000 presentations. You can email Neal at nford at thoughtworks.com.

 

Question for Speaker?
Please rate Workshop - Building Evolutionary Architectures Hands-on

Workshop - Production Ready Software

Intermediate Workshop

In this full-day workshop, you will learn how to create applications that survive the rigors of life in production. Too often, project teams aim to pass QA instead of aiming for success in production. Testing is not enough to prove that your software is ready for continuous availability in the corrosive environment of the Internet. During this workshop, you will receive an understanding of the architecture and design patterns that can produce high availability in distributed, multithreaded systems. You will also learn about the antipatterns that can sabotage your systems availability and capacity.

Target Audience

Architects and developers who build systems on the web.

Learning Outcome
  • Risks to your system's stability.
  • Patterns to mitigate that risk.
  • Optimizing capacity on existing resources.
  • Designing for operations.
  • Scalability techniques and patterns
Michael Nygard
Vice President of Customer Solutions
Cognitect

Michael Nygard is the Vice President of Customer Solutions at Cognitect. Mike is the author of Release It!, and a contributor to Beautiful Architecture. Mike focuses on highly-available and scalable commerce systems but can often be found coding, writing, speaking, or thinking about how the Universe works.

Mike’s most recent projects at Cognitect include designing an architecture for an online P2P lending platform, advising one of the world’s largest financial services firms on their overall software direction, and designing a software defined data center for another financial services firm.

Mike’s background includes re-engineering and operating some of the most prominent -- and busiest -- web properties in the world, including Best Buy, American Airlines and Hyatt. Mike also architected the software used to process 60% of all school photos in the US. Mike wrote the original control software for the infrared astronomy instruments at the Keck Telescope in Hawaii and programmed ground-based GPS systems for the USAF.

Question for Speaker?
Please rate Workshop - Production Ready Software

Workshop - Streaming Data with Kafka and Microservices

Intermediate Workshop

When we think of modern data processing, we often think of batch-oriented ecosystems like Hadoop, including processing engines like Spark. However, the sooner we can extract useful information from our data, the better, which is driving an evolution towards stream processing or “fast data”. Many of the legacy tools, including Spark, provide various levels of support for stream processing, but deeper architectural changes are emerging.

Then we’ll work through code examples that use Akka Streams and Kafka Streams with Kafka to implement a machine-learning example where a machine learning model is updated periodically to simulate the problem of periodic retraining and serving of ML models in a streaming context. In particular, if you periodically retrain the model using one tool chain, for example, once a day, how to do you incorporate the updated model into a running pipeline for scoring without restarting the pipeline?

Target Audience

developers working on applications that can be modelled using state machines (e.g. web applications) who want to test more complex properties of their software.plex properties of their software.plex properties of their software.

Outline

In this hands-on workshop, we’ll start with a brief overview of the characteristics of streaming architectures:

  • Use cases driving this evolution to streaming architectures.
  • Kafka (or emerging alternatives) as the data backplane, to capture data streams as logs between producers and consumers.
  • When you should use the feature-rich and highly-scalable processing engines, like Spark and Flink.
  • When you should use the more-flexible and lower-latency data processing libraries, like Kafka Streams and Akka Streams, inside microservices.
Dean Wampler
Software Developer, Expert in Big Data, Scala, and Functional Programming. Mastering Deep Learning.
....

Dean Wampler, Ph.D., is a member of the Office of the CTO and the Architect for Big Data Products and Services at Typesafe. He uses Scala and Functional Programming to build Big Data systems using Spark, Mesos, Hadoop, the Typesafe Reactive Platform, and other tools. Dean is the author or co-author of three O’Reilly books on Scala, Functional Programming, and Hive. He contributes to several open source projects (including Spark) and he co-organizes and speaks at many technology conferences and Chicago-based user groups.

Question for Speaker?
Please rate Workshop - Streaming Data with Kafka and Microservices

3X: Explore/Expand/Extract

Intermediate Keynote
Before you can evaluate a method, you have to understand its goals. Before you can evaluate a style of software engineering, you have to understand its goals. Quick execution of experiments? Rapid scaling in the face of unexpected bottlenecks? Sustained, profitable growth? Each goals requires a different style and yet we talk about software engineering as if it should be one thing.
This talk introduces 3X and the ways software development, quality assurance, design, management, financing, planning, and staffing change depending on the goal of development.
Target Audience

Leads, Agile Coaches, Software Management, Business Leadership

Kent Beck
Author
Extreme Programming

Consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles.

Question for Speaker?
Please rate 3X: Explore/Expand/Extract

Grinding the Monolith

Intermediate Talk

Microservices sound appealing, but what can we do with those ten-million-line code bases? Shared domain objects, horizontal coupling, and years of boundary erosion have left us with enormous complexity and spiderwebs of coupling. Michael will share techniques at various levels of abstraction, from implementation details to API design and responsibility allocation. There’s no silver bullet that will make it easy to decompose a monolith, but you’ll learn some techniques that have helped and some pitfalls to avoid, all based on Michael's experience with both successful and failed transformations.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Michael Nygard
Vice President of Customer Solutions
Cognitect

Michael Nygard is the Vice President of Customer Solutions at Cognitect. Mike is the author of Release It!, and a contributor to Beautiful Architecture. Mike focuses on highly-available and scalable commerce systems but can often be found coding, writing, speaking, or thinking about how the Universe works.

Mike’s most recent projects at Cognitect include designing an architecture for an online P2P lending platform, advising one of the world’s largest financial services firms on their overall software direction, and designing a software defined data center for another financial services firm.

Mike’s background includes re-engineering and operating some of the most prominent -- and busiest -- web properties in the world, including Best Buy, American Airlines and Hyatt. Mike also architected the software used to process 60% of all school photos in the US. Mike wrote the original control software for the infrared astronomy instruments at the Keck Telescope in Hawaii and programmed ground-based GPS systems for the USAF.

Question for Speaker?
Please rate Grinding the Monolith

Shaving the Golden Yak

Intermediate Talk

Programming is a series of frustrations. Everything we do, we could do better or faster if we only had our tools set up just so. If our error messages were a little better, our code a little cleaner, our tests a lot wider. When we spend time on this, it's known as "yak shaving," and it can get messy.

How do you balance the work you’re supposed to be doing with the work that makes your work, work? Dive into the yak stack with me. We'll see five different species of yak, and discuss how and when to tackle each one. At the bottom of the yak stack, we might find the Golden Yak, with secret wisdom engraved on its skin.

This session will give you reasons to spend time smoothing your development experience, and clues for where to spend that time in ways that help your whole team.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Jessica Kerr
Lead Engineer
Atomist

Jessica Kerr is a developer of development systems. She works remotely from St. Louis, for Atomist, where she writes automations and automation infrastructure in TypeScript, Clojure, and whatever else is needed. She is a back-end developer who believes the front-end is most crucial. Jessica speaks at conferences in the US and Europe; find her on the >Code podcast (greaterthancode.com)

Question for Speaker?
Please rate Shaving the Golden Yak

Streaming Data with Kafka and Microservices

Intermediate Talk

When we think of modern data processing, we often think of batch-oriented ecosystems like Hadoop, including processing engines like Spark. However, the sooner we can extract useful information from our data, the better, which is driving an evolution towards stream processing or “fast data”. Many of the legacy tools, including Spark, provide various levels of support for stream processing, but deeper architectural changes are emerging.

Target Audience

developers working on applications that can be modelled using state machines (e.g. web applications) who want to test more complex properties of their software.

Outline

In this talk we’ll explore the following characteristics of streaming architectures:

  • Use cases driving this evolution to streaming architectures.
  • Kafka (or emerging alternatives) as the data backplane, to capture data streams as logs between producers and consumers.
  • When you should use the feature-rich and highly-scalable processing engines, like Spark and Flink.
  • When you should use the more-flexible and lower-latency data processing libraries, like Kafka Streams and Akka Streams, inside microservices.
Dean Wampler
Software Developer, Expert in Big Data, Scala, and Functional Programming. Mastering Deep Learning.
....

Dean Wampler, Ph.D., is a member of the Office of the CTO and the Architect for Big Data Products and Services at Typesafe. He uses Scala and Functional Programming to build Big Data systems using Spark, Mesos, Hadoop, the Typesafe Reactive Platform, and other tools. Dean is the author or co-author of three O’Reilly books on Scala, Functional Programming, and Hive. He contributes to several open source projects (including Spark) and he co-organizes and speaks at many technology conferences and Chicago-based user groups.

Question for Speaker?
Please rate Streaming Data with Kafka and Microservices

Building Evolutionary Architectures

Intermediate Talk

An evolutionary architecture supports guided, incremental change across multiple dimensions.

For many years, software architecture was described as the “parts that are hard to change later”. But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This talk, based on my upcoming book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how architectural dimensions interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.

The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability. This talk illustrates how to achieve evolutionary architectures and how to retrofit existing systems to support better evolution.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Neal Ford
Director, Software Architect
ThoughtWorks

Neal Ford is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a global IT consultancy with a focus on end-to-end software development and delivery. He is also the designer and developer of applications, articles, video/DVD presentations, and author and/or editor of an increasingly large number of books spanning a variety of subjects and technologies, including the most recent Presentation Patterns. His professional focus includes designing and building of large-scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 300 developer conferences worldwide, delivering more than 2000 presentations. You can email Neal at nford at thoughtworks.com.

 

Question for Speaker?
Please rate Building Evolutionary Architectures

1968

Intermediate Talk
It’s half a century since the NATO Software Engineering conference in Garmisch. How are we doing? Are we nearly there yet? Or is there no there there?
The world of software development has changed so much and in so many ways since 1968 that it’s difficult to imagine what we could learn from the past, but it’s learning rather than imagination that’s the constraint. There was no shortage of imagination, insight and inspiration in the 1960s and 1970s, and in many ways the apple of 21st-century software development has fallen disappointingly close to the tree of the past.
So let’s turn back the clock to see what we could have learned from the past, what we can still learn from the past and what the future might hold in store for code and its development.
Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Kevlin Henney
Software Development, Consultancy, and Training
Curbralan

Kevlin is an independent consultant, speaker, writer and trainer. His development interests are in patterns, programming, practice and process. He has been a columnist for a number of magazines and sites and has been on far too many committees (it has been said that "a committee is a cul-de-sac down which ideas are lured and then quietly strangled"). He is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know and 97 Things Every Java Programmer Should Know. He lives in Bristol and online.



Question for Speaker?
Please rate 1968

Is the 370 the worst bus in Sydney?

Intermediate Talk

In Switzerland, people will be surprised at a bus that's 2min late. In Sydney, people will only consider it noteworthy if a bus is more than 20min late, and this varies greatly between routes and providers. So, how do Sydney bus routes stack up? And if we're talking about privatisation, how do the private bus providers stack up against the state busses?

To answer these questions we need data… lots of data. Hooray for open government data! Transport for NSW publishes real-time information on the location and lateness of all public transport. Unfortunately it's ephemeral – there is no public log of historical lateness for us to analyse. To gather the data I needed I had to fetch, log and aggregate ephemeral real-time data that was never intended to be used this way. There are random gaps and spontaneous route or timetable changes for special events, roadworks or holidays. Even with noisy data, the patterns start to emerge across months and we can start to answer some questions. The 370 bus route is one of the most complained about routes in Sydney, it even has it's own Facebook group of ironic fans... but is it really the worst bus? Let's look at the data.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Outline

.

Part 1: Introduction and rationale

  • Amusing examples and anecdotes about the 370 bus
  • An introduction to the Realtime delay data provided by Transport for NSW
  • An overview of the origin of the GTFS Static and Realtime data formats

Part 2: Implementation

  • How I gathered the data
  • How much data it was (~500GB over 4 months)
  • How I processed the data
  • Issues in dealing with inconsistencies in the data
  • Issues scaling and parallelising the processing

Part 3: Results

  • What it means for a bus to be on time, according to NSW and Victoria.
  • Which buses are the most and least on time
  • Which busses are most frequently more than 20min late
  • Which bus agencies are most and least on time.

Conclusions

Future work

Katie Bell
Software Engineer
Individual

Katie is a Lead Engineer at Campaign Monitor, where she's working on a bunch of different things focusing around how developer's code reaches production. Before that she was a full-stack developer at Grok Learning, bringing the joys of programming to masses of high school kids, and before that she spent six years working at Google, first a software engineer then as a site reliability engineer. She's had a lot of experience writing and deploying code, most of which has been running in containers.

Question for Speaker?
Please rate Is the 370 the worst bus in Sydney?

Code is Your Partner in Thought

Intermediate Talk

We used to build software like bridges. There was time for careful collection of requirements and the analysis of design options. But we don't do that anymore, in part because the time we spent did not ensure we hit our targets or avoided risks. Today, most companies use some form of continuous design where the software changes in small steps, often weekly or even daily, which makes those companies responsive to environmental changes. The problem is that in just a few years the software becomes over-complicated and usually needs to be rewritten, even when the team refactors. The longer you let the team code, the worse the code gets. That's a shame because other kinds of engineering don't have this problem. Car engines, for example, improve every year. I'll primarily discuss some ideas about why things work out this way and also some promising ideas for how we can practice continuous design longer, if not forever.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

George Fairbanks
Software Engineer
Google

George is a practicing software developer with academic leanings. He studied software architecture at Carnegie Mellon University and has been involved with the SATURN architecture conference for many years. He has written a book on software architecture and is passionate about software design. After years of teaching object-oriented analysis and design and building systems at financial companies, he is now a software engineer at Google. You can find him on the web at GeorgeFairbanks.com.

Question for Speaker?
Please rate Code is Your Partner in Thought

#NOCODE

Intermediate Talk
For beginning programmers, coding is a superpower. But as we gain experience, code-centric thinking can become a trap. Prepare to have your conception of what it means to be a programmer challenged, as we explore how to increase your leverage by choosing NOT to write code.
Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Avdi Grimm
Head Chef
Ruby Tapas

AIn his 20-year software development career, Avdi Grimm has worked on everything from aerospace embedded systems to enterprise web applications. He’s a consulting pair-programmer, the author of several popular Ruby programming books, and a recipient of the Ruby Hero award for service to the Ruby community. Since 2011 he has been teaching developers how to work more effectively (and have fun doing) it at RubyTapas.com.

He spends his theoretical spare time hanging out with his kids, hiking the Smoky Mountains, and dancing to oontz-oontz music.

Question for Speaker?
Please rate #NOCODE

Big Data, Fast Data @ PayPal

Intermediate Talk

PayPal processes more than $1B in payments every day, is an accepted method of payment in over 200 countries, and covers everything in the online payments ecosystem from issuing credit and debit cards, to supporting credit card & POS processing, facilitating checkout at online merchants, and making it easy for friends to split a dinner bill or resolve shared expenses. All of this convenience comes with the added security of some of the most advanced fraud prevention algorithms powered by huge repositories of data. Given the vast ecosystem that PayPal has been playing in over the past 20 years, PayPal has collected large amounts of payment transaction and contextual data relating to consumers, merchants, and products -- over 150PB of data to be precise. How does PayPal manage this massive amount of data while all the while extracting useful insights that can propel the business ever forward? Come to this talk to find out!

Target Audience

Data Engineers and Data Scientistsata Engineers and Data Scientists

Sid Anand
Chief Data Engineer
Paypal

Sid Anand currently serves as PayPal's Chief Data Engineer, focusing on ways to realize the value of data. Prior to joining PayPal, he held several positions including Agari's Data Architect, a Technical Lead in Search @ LinkedIn, Netflix’s Cloud Data Architect, Etsy’s VP of Engineering, and several technical roles at eBay. Sid earned his BS and MS degrees in CS from Cornell University, where he focused on Distributed Systems. In his spare time, he is a maintainer/committer on Apache Airflow, a co-chair for QCon, and a frequent speaker at conferences. When not working, Sid spends time with his wife, Shalini, and their 2 kids.

Question for Speaker?
Please rate Big Data, Fast Data @ PayPal

The Future of Software Development

Intermediate Talk
From autonomous vehicles, 3D printed rocket engines, and “affordable” consumer-owned satellites to rapid advances in AI and secure, decentralized electronic currencies, the past several years have shown us that the only prediction we can confidently make about the future is that it will arrive more quickly than any of us imagined. Yet with all of these major technological advances, the way we develop, test, deploy, and manage software has been incrementally changing over the years. Many of the most forward-thinking paradigms, practices, and technologies are based on concepts and even implementations created decades ago.
How can software development itself benefit from the disruptive changes in technology in recent years? This talk will explore influences, tech trends and coming innovations which will change how we as an industry approach to software creation, maintenance, management, and even employment.
Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Chad Fowler
CTO
Microsoft

Writes bookswrites and plays music, writes software, leads organizations (currently for Microsoft), invests in startupsspeaks at conferences, teaches, learns, organize conferences, etc.

Started and co-organized a couple of Ruby-related conferences including The International Ruby Conference and RailsConf.

Question for Speaker?
Please rate The Future of Software Development

Lessons learned building Kubernetes controllers

Intermediate Talk

In this talk I'll discuss my experiences building Kubernetes controllers using as a case study Contour, a new Kubernetes Ingress controller, that I've been working on since joining Heptio.

This presentation will cover:

  • What an ingress controller is and what role it plays in a Kubernetes cluster.
  • Why Heptio chose Lyft's Envoy proxy as the data plane for our ingress controller.
  • How Contour works as a translator from Kubernetes to Envoy. The parts that were a good match, the parts that weren’t, and how we dealt with it.
  • How to develop a component of an interactive system like Kubernetes while avoiding the dreaded compile/push/deploy time sink.
Target Audience

This presentation is suited for developers and operators with experience in Go and or Kubernetes who wish to extend the capabilities of their Kubernetes clusters. If you're interested in Go, Kubernetes, or cloud native software development, there's someth

Dave Cheney
Staff Systems Engineer
Heptio

Dave is a Staff Engineer at Heptio, a Seattle based company focused on helping developers become more productive using Kubernetes. Before to joining Heptio he worked at Atlassian, Canonical, and the Australian Government, in a variety of cloud infrastructure roles. Prior to these roles he had a long career in the operations and system administration space for Australian startups RedBubble, MailGuard, and Aconex.

He is an open source contributor and project member for the Go programming language. David is a well-respected voice within the tech community, speaking on a variety of topics such as software design, performance, and the Go programming language. He lives in Sydney, Australia and is damn proud of it!

In 2009, while idly perusing Google Reader (we’ll never forget!) he ran across the announcement of a new open source language, Go. It was love at first sight. From that point David’s passion has taken him around the world writing, teaching, and speaking about Go.

Question for Speaker?
Please rate Lessons learned building Kubernetes controllers

Neural Nets From The Ground Up

Intermediate Talk

The best way to understand neural networks is to get your hands dirty and write one.

In this session, we'll start from scratch and invent a neural net that can recognize handwritten digits with over 98% accuracy. Without leaning on any libraries! From the bottom up, we'll discover gradient descent, activation functions and backpropagation, as well as the mathematics behind this fascinating machine learning technology.

We'll code entirely in C# in a lightweight IDE (LINQPad). And you'll get to keep the code!

Target Audience

Anyone interested in machine learning

Joe Albahari
.NET Developer
LINQPad

Joe Albahari is an O’Reilly author and the inventor of LINQPad. He’s written seven books on C# and LINQ, including “C# 7.0 in a Nutshell”. He speaks regularly at conferences and user groups, and has been a C# MVP for ten years running.

Question for Speaker?
Please rate Neural Nets From The Ground Up

Automatic Programming How Far an Machines Go?

Intermediate Talk
Program synthesis is the wild west beyond code generators and onward toward self-programming systems. What can it do for us? The answer, right now, is not a lot. It can harness the wisdom of the crowd to help reproduce scenarios that are repeated often, and in narrow scopes tools can make educated guesses about what the programmer intended, but full automatic program synthesis is likely impossible. Specifically because of this, it becomes most interesting to explore what it can't and won't be able to do on its own. Self-programming systems might be past the horizon, but getting a human more involved makes a big difference, and while the computer might never program for us, it might make for a decent pair-programming partner. We'll look at glimpses of this future, in academia and outside it, and see why they're more IDE plugins and less the robot apocalypse.
Target Audience

Developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Hila Peleg
Doctoral Researcher
Technion - Israeli Institute of Technology

Hila Peleg is a doctoral researcher in the Department of Computer Science at the Technion. Hila's research entails designing synthesis tools to help programmers navigate new programming languages and unfamiliar APIs. Prior to her graduate degree, Hila spent over a decade as a developer on enterprise server projects, and she also holds a degree in literature.

Question for Speaker?
Please rate Automatic Programming How Far an Machines Go?

Breaking Codes, Designing Jets, and Building Teams

Intermediate Talk
Throughout engineering history, focused and empowered teams have consistently achieved the near-impossible. Alan Turing, Tommy Flowers, and their teams at Bletchley Park broke Nazi codes, saved their country, and brought down the Third Reich. Kelly Johnson and the Lockheed Skunk Works designed and built the XP-80 in 143 days, and later produced the U-2, the SR-71, and the F-22. Xerox PARC invented Smalltalk, graphical user interfaces, Ethernet, and the laser printer. What can this history teach us? Well, basically everything.
Effective teams have a mission - a clearly defined problem which the entire team focuses on and owns end-to-end.
Effective teams collaborate without hierarchy, across disciplines and between diverse individuals. It should be no surprise that Bletchley was an eclectic mix of "Boffins and Debs" - almost 75% women at its peak; or that Skunk Works' founding team included the first Native American female engineer.
Effective teams rapidly learn and adapt. Constant experimentation, tight feedback loops, and a policy of embracing failure are all part of the recipe of success. Innovation does not arrive on a waterfall schedule.
If this sounds a lot like DevOps, or true little-a agile, that's no coincidence. But too few organizations actually practice these three-quarter-century-old ideas despite the overwhelming evidence that they work. As Santayana wrote, "Those who cannot remember the past are condemned to repeat it." So let's relearn those history lessons.
Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Randy Shoup
VP Engineering
WeWork (former Stitch Fix, eBay, Google)

Randy is VP Engineering at WeWork. Previously, he has been VP Engineering at Stitch Fix, Engineering Director at Google, and Chief Engineer at eBay. Randy is a frequent keynote speaker and consultant in areas from scalability and cloud computing, to analytics and data science, to engineering culture and DevOps. He is particularly interested in the nexus of people, culture, and technology.

Question for Speaker?
Please rate Breaking Codes, Designing Jets, and Building Teams

Functional Composition

Intermediate Talk

Chris Ford shows how to make music starting with the basic building block of sound, the sine wave, and gradually accumulating abstractions culminating in a canon by Johann Sebastian Bach. Examples live-coded in Clojure.

Target Audience

Music lovers

Chris Ford
Principal Consultant
ThoughtWorks

Chris began to make music with code to compensate for his poor piano technique. It was only later that he realised that programming offers deep insight into musical structures. Over the past few years, Chris has given many talks presenting music theory to programming audiences, covering topics including European classical music, complexity theory, jazz, central African polyrhythms and tuning systems.

Question for Speaker?
Please rate Functional Composition

From the Caveman to the Spreadsheet and Beyond

Intermediate Talk

In this talk Simon will take us on a historical voyage through the representation of information in software and the internet. From tables and charts, through mind maps, info-graphics, multi-dimensional views, and Minecraft. On the way he will explore tooling such as spreadsheets, 4GLs, RADs, workbooks, AirTable, Coda and more. With that background he’ll then dive deeply into the software architecture of a new and exciting platform currently in development, The Big Crunch, which will lead us to an interesting discussion on scale and the making of assumptions that can allow you keep growing a system... or not! Its going to be fast paced and fun, so don’t miss out.

Target Audience

Software Developers, Data Scientists

Simon Raik-Allen
Founder & CEO
The Big Crunch

Simon is a hands on technology professional. He has worked across a varied array of industries and technologies such as trading exchanges, instant messaging, ecommerce, and IPTV with companies such as Sony, eBay, and AOL. Recently he was CTO at MYOB for 7 years and has since founded a start up called The Big Crunch. He also likes to dabble in the future.

Question for Speaker?
Please rate From the Caveman to the Spreadsheet and Beyond

How to Avoid the Top Ten Software Security Flaws

Intermediate Talk

Software security defects come in two categories: bugs in the implementation and flaws in the design. In the commercial marketplace, much more attention has been paid to finding and fixing bugs than has been paid to finding and fixing flaws. That is because automatically identifying bugs is a much easier problem than identifying design flaws. The IEEE Center for Secure Design was founded to address this issue head on. My presentation will cover the IEEE CSD’s first deliverable by introducing and discussing how to avoid the top ten software security flaws. The content was developed in concert with Twitter, Google, Synopsys, HP, Sadosky Foundation of Argentina, George Washington University, Intel/McAfee, RSA, University of Washington, EMC, Harvard University, and Athens University of Economics and Business. During the talk, I will introduce and discuss how to avoid the top ten software security design flaws. It's important, of course, to know that these flaws account for half of the defects commonly encountered in software security. But more important still is learning how to avoid these problems when designing a new system or revisiting an existing system.

Target Audience

Software Developers and Architects

Gary McGraw
Vice President of Security Technology
Synopsys

Gary McGraw is the Vice President Security Technology of Synopsys (SNPS), a silicon valley company headquartered in Mountain View, CA. He is a globally recognized authority on software security and the author of eight best selling books on this topic. His titles include Software Security, Exploiting Software, Building Secure Software, Java Security, Exploiting Online Games, and 6 other books; and he is editor of the Addison-Wesley Software Security series.  Dr. McGraw has also written over 100 peer-reviewed scientific publications, authors a periodic security column for SearchSecurity, and is frequently quoted in the press. Besides serving as a strategic counselor for top business and IT executives, Gary is on the Advisory Boards of Maxmyinterest, NTrepid, and Ravenwhite.  He has also served as a Board member of Cigital and Codiscope (acquired by Synopsys) and as Advisor to Black Duck (acquired by Synopsys), Dasient (acquired by Twitter), Fortify Software (acquired by HP), and Invotas (acquired by FireEye). His dual PhD is in Cognitive Science and Computer Science from Indiana University where he serves on the Dean’s Advisory Council for the School of Informatics, Computing, and Engineering.  Gary produces the monthly Silver Bullet Security Podcast for Synopsys and IEEE Security & Privacy magazine (syndicated by SearchSecurity).

Question for Speaker?
Please rate How to Avoid the Top Ten Software Security Flaws

Live Coding the intersection between the Arts, Technology and Research

Intermediate Talk

Live Coding systems encourage us to think extremely differently about programming languages. In addition to considering standard requirements such as reliability, efficiency and correctness we are also forced to deal with issues such as liveness, coordination and synchronization all whilst working in real time.

Live Coders not only run and modify code live — they often perform with it on stage in front of large crowds of people who really don't want the code to miss a beat. In this code and demo-heavy talk, Sam will introduce the motivation for Sonic Pi - a system designed specifically for live coding music - before taking a deep technical dive into the internal ideas and innovations. The audience will explore Sonic Pi's novel temporal semantics which allow multiple concurrent threads to execute in synchronization along with live hot-swapping of code.

Ultimately, everyone will discover an exciting area of programming language research in an approachable and instructive manner all whilst making some sick beats and drops.



Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Sam Aaron
programmer, educator, live coding musician, Creator of
Sonic Pi

Sam is a  researcher, software architect and computational thinker with a deep fascination surrounding the notion of communicative programming. He sees programming as one of the many communication channels for descriptions of formalised process of any kind, be it a business process, a compiler strategy or even a musical composition.

Question for Speaker?
Please rate Live Coding the intersection between the Arts, Technology and Research

The Future of High Speed Transportation

Intermediate Keynote

In the global marketplace that transfers knowledge at the speed of light, we have a massive time delay and that is modern transportation methods. The hyperloop is the first new mode of transport to be created in over 100 years. The motivation is to connect people, reduce congestion, and protect our planet by eliminating CO2 emissions from terrestrial transport. The hyperloop can best be described as space travel on the ground - a magnetically levitating, electromagnetically propelled, passenger vehicle in a vacuum tube. With the elimination of aerodynamic drag and surface friction, power consumption plummets, speeds can reach 700 mph, and waste and cost are minimized. With the use of autonomy the service is on demand and delays become a thing of the past. Dr. Sengupta will discuss how space-age tech coupled to the VC funded innovation environment are enabling the revolution in green transportation from suborbital rocket flights, to electric airplanes, to space travel on the ground with the hyperloop.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Anita Sengupta
Rocket Scientist, Sr. Vice President
University of Southern California

Dr. Sengupta is an aerospace engineer and veteran of the space program. Her NASA engineering projects included her PhD research on developing the ion propulsion system for the Dawn Mission (currently in the main asteroid belt), the supersonic parachute that landed the Curiosity rover on Mars, and the Cold Atom Laboratory an atomic physics facility for the International Space Station. Most recently she led the development of the hyperloop systems architecture that will enable ground based travel in excess of airline speed. Her next adventure is designing autonomous air taxis for urban aerial transport and supersonic aircraft.

Dr. Sengupta received her MS and PhD in Aerospace Engineering from the University of Southern California, where she is a Resesrch associate professor in the Asronautics and Space Technology deparment teaching spacecraft, entry, and landing system design for planetary exploration. In her spare time she is an avid pilot, motorcyclist, scuba diver, snowboarder, and runner.

Question for Speaker?
Please rate The Future of High Speed Transportation

The Origins of Opera and the Future of Programming

Intermediate Keynote

There’s a story to tell, about musicians, artists, philosophers, scientists, and then programmers.

There’s a truth inside it that leads to a new view of work, that sees beauty in the painful complexity that is software development.

Starting from The Journal of the History of Ideas, Jessica traces the concept of an “invisible college” through music and art and science to programming. She finds the dark truth behind the 10x developer, a real definition of “Senior Developer” and a new name for our work and our teams.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Jessica Kerr
Lead Engineer
Atomist

Jessica Kerr is a developer of development systems. She works remotely from St. Louis, for Atomist, where she writes automations and automation infrastructure in TypeScript, Clojure, and whatever else is needed. She is a back-end developer who believes the front-end is most crucial. Jessica speaks at conferences in the US and Europe; find her on the >Code podcast (greaterthancode.com)

Question for Speaker?
Please rate The Origins of Opera and the Future of Programming

Cloud, Containers, Kubernetes

Intermediate Talk

Microsoft issued me a Mac when they hired me to help people use Linux on Azure. If this sounds like the beginning of a nerdy joke, it’s because we need to question long-held opinions, let go of deeply-cherished stereotypes, and welcome this new era of open collaboration.

Let’s take the 10,000 foot tour of today’s cloud, containers, and orchestration landscape before diving into specifics we can use when making calls on microservices, backing data stores, and app decomposition. We’ll talk public cloud, containers, and k8s from the “Open at Microsoft” perspective!

Target Audience

operations, developers

Outline

Slides available at https://bridgetkromhout.com/speaking/2018/devopsdays-nyc/

Learning Outcome

Greater understanding of cloud, containers, and orchestrators

Bridget Kromhout
Principal Cloud Developer Advocate
Microsoft

Bridget Kromhout is a Principal Cloud Developer Advocate at Microsoft. Her CS degree emphasis was in theory, but she now deals with the concrete (if 'cloud' can be considered tangible). After 15 years as an operations engineer, she traded being on call for being on a plane. A frequent speaker and program committee member for tech conferences, she leads the devopsdays organization globally and the devops community at home in Minneapolis. She podcasts at Arrested DevOps, blogs at bridgetkromhout.com, and is active in a Twitterverse near you.

Question for Speaker?
Please rate Cloud, Containers, Kubernetes

Failure and Change: Principles of Reliable Systems

Intermediate Talk

As we construct larger or more complex systems, failure and change are ever-present. We need to accept and even embrace these tensions to build software that works and keeps working.

This is a talk on building and operating reliable systems. We will look at how systems fail, particularly in the face of complexity or scale, and build up a set of principles and practices that will help us implement, understand and verify reliable systems.

Target Audience

Developers working on applications that can be modelled using state machines (e.g. web applications) who want to test more complex properties of their software.plex properties of their software.plex properties of their software.

Mark Hibberd
Head of Technology
Kinesis

Mark Hibberd spends his time working on data and sustainability problems for Kinesis. Mark takes software development seriously. Valuing correctness and reliability, he is constantly looking to learn tools and techniques to support these goals. This approach has led to a history of building teams that utilise purely -functional programming techniques to help deliver robust products.

Question for Speaker?
Please rate Failure and Change: Principles of Reliable Systems

Java in a World of Containers

Intermediate Talk

Container technologies such as Docker are rapidly becoming the de-facto way to deploy cloud applications, and Java is committed to being a good container citizen. This talk will cover some of the new tools and techniques for reducing container size (jlink, Alpine/musl support), for improving startup time and sharing of data between JVMs (AppCDS and ahead-of-time compilation), and the recent work that has gone into interacting with container resource limitations.



Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Mikael Vidstedt
Director of the Java Virtual Machine
Oracle

Mikael Vidstedt is Director of the Java Virtual Machine (JVM) in the Java Platform Group at Oracle. Over the last 20 years he has been working all the various aspects of the Java and JVM technologies, focusing on everything from compilers and optimization to operating systems and server virtualization. He has worn many hats, including that of JVM tech lead and Architect. Mikael holds a master's degree in Computer Science from the Royal Institute of Technology (KTH) in Stockholm and is based in Santa Clara, CA.

Question for Speaker?
Please rate Java in a World of Containers

The Problem with Pre-aggregated Metrics

Intermediate Talk

Pre-aggregated metrics and time series form the backbone of many monitoring setups and have many redeeming qualities, but simply aren't sufficient for capturing the many ways things can go wrong in modern or complex systems. Problems inherent in the concepts behind and implementation of pre-aggregated metrics prevent them from being effective for any sort of debugging or diagnostics; we'll talk about why that is, and what techniques we should be leaning on instead.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Christine Yen
Co-Founder
Honeycomb

Christine Yen is the cofounder of Honeycomb, a startup with a new approach to observability and debugging systems with data. Christine has built systems and products at companies large and small and likes to have her fingers in as many pies as possible. Previously, she built analytics products at Parse and Facebook, and wrote software at a few now-defunct startups.

Question for Speaker?
Please rate The Problem with Pre-aggregated Metrics

Deprecating Simplicity

Intermediate Talk

When engineering teams take on a new project, they often optimize for performance, availability, or fault tolerance. More experienced teams can optimize for these properties simultaneously. Now add an additional property: feature velocity. Mental models of architecture can help you understand the tension between these engineering properties. For example, understanding the distinction between accidental complexity and essential complexity can help you decide whether to invest engineering effort into simplifying your stack or expanding the surface area of functional output. Chaos Engineering was born within this conflict between feature velocity and increasing complexity. Rather than simplify, Chaos Engineering provides a mechanism for you to embrace the complexity and ride it like a familiar wave, maintaining our business priorities while dialing up feature velocity.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners,programmers, testers, business analysts and product owners,programmers, testers, business analysts and product owners

Casey Rosenthal
CTO
Backplane

Casey Rosenthal is CTO at Backplane. Previously, he was an executive manager and senior architect, where he managed teams tackling big data, architected solutions to difficult problems, and trained others to do the same. He seeks opportunities to leverage his experience with distributed systems, artificial intelligence, translating novel algorithms and academia into working models, and selling a vision of the possible to clients and colleagues alike. For fun, Casey models human behavior using personality profiles in Ruby, Erlang, Elixir, Prolog, and Scala.

Question for Speaker?
Please rate Deprecating Simplicity

Transforming Programming

Intermediate Talk

We're a generation of programmers who grew up with object orientation and imperative programming. When we transition to languages such as Elixir (and even some modern idioms in JavaScript), some of our old reflexes are no longer appropriate. Others are deeply useful, but in different and surprising ways. So, as we work towards the ideal of "programming by transforming", we mustn't forget to transform our thinking, too.

(ps: reducers are objects...)

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Dave Thomas
Publisher
Pragmatic Programmers, LLC

Dave Thomas is a programmer, and now an accidental publisher. Dave Thomas wrote The Pragmatic Programmer with Andy Hunt at the end of the '90s, and that experience opened a new world for them. They discovered a love of writing that complemented their love of learning new things.

Dave Thomas is one of the authors of the Agile Manifesto, and probably responsible for bringing Ruby to attention of Western developers with the book Programming Ruby. He was one of the first adopters of Rails, and helped spread the word with the book Agile Web Development with Rails.

Dave Thomas enjoys speaking at conferences, running public and private training. But most of all, Dave Thomas loves coding.

Question for Speaker?
Please rate Transforming Programming

Cloud Performance Root Cause Analysis at Netflix

Intermediate Keynote

At Netflix, improving the performance of our cloud means happier customers and lower costs, and involves root cause analysis of applications, runtimes, operating systems, and hypervisors, in an environment of 150k cloud instances that undergo numerous production changes each week. Apart from the developers who regularly optimize their own code, we also have a dedicated performance team to help with any issue across the cloud, and to build tooling to aid in this analysis. In this session we will summarize the Netflix environment, procedures, and tools we use and build to do root cause analysis on cloud performance issues. The analysis performed may be cloud-wide, using self-service GUIs such as our open source Atlas tool, or focused on individual instances, and use our open source Vector tool, flame graphs, Java debuggers, and tooling that uses Linux perf, ftrace, and bcc/eBPF. You can use these open source tools in the same way to find performance wins in your own environment.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Brendan Gregg
Sr. Performance Architect
Netflix

Brendan Gregg is an industry expert in computing performance and cloud computing. He is a senior performance architect at Netflix, where he does performance design, evaluation, analysis, and tuning. He is the author of multiple technical books including Systems Performance published by Prentice Hall, and received the USENIX LISA Award for Outstanding Achievement in System Administration. He has also worked as a kernel engineer, and as a performance lead on storage and cloud products. Brendan has created performance analysis tools included in multiple operating systems, and visualizations and methodologies for performance analysis, including flame graphs.

Question for Speaker?
Please rate Cloud Performance Root Cause Analysis at Netflix

Events and Commands: Developing Asynchronous Microservices

Intermediate Talk

The microservice architecture functionally decomposes an application into a set of services. Each service has its own private database that’s only accessible indirectly through the services API. Consequently, implementing queries and transactions that span multiple services is challenging. In this presentation, you will learn how to solve these distributed data management challenges using asynchronous messaging. I describe how to implement transactions using sagas, which are sequences of local transactions, coordinated using messages. You will learn how to implement queries using Command Query Responsibility Segregation (CQRS), which uses events to maintain replicas. I describe how to use event sourcing, which is an event-centric approach to business logic and persistence, in a microservice architecture.

Target Audience

Developers, Technical leads and Architects,programmers, testers, business analysts and product owners,programmers, testers, business analysts and product owners,programmers, testers, business analysts and product owners

Chris Richardson
Software architect
Eventuate.io

Chris Richardson is a developer and architect. He is a Java Champion, a JavaOne rock star and the author of POJOs in Action, which describes how to build enterprise Java applications with frameworks such as Spring and Hibernate. Chris was also the founder of the original CloudFoundry.com, an early Java PaaS for Amazon EC2. Today, he is a recognized thought leader in microservices and speaks regularly at international conferences. Chris is the creator of Microservices.io, a pattern language for microservices, and is writing the book Microservice Patterns, which is available at Manning. He provides microservices consulting and training to organizations that are adopting the microservice architecture and is working on his third startup Eventuate, an application platform for developing transactional microservices.



Question for Speaker?
Please rate Events and Commands: Developing Asynchronous Microservices

BOSSA nova: Beyond Agile - Preparing for Digitalization

Intermediate Talk

Today companies are expected to be flexible and both rapidly responsive and resilient to change, to both survive but also to thrive on disruptions. These challenges call for company-wide agility. Yet, doing Agile (the mechanics) is different from being Agile (the mindset). For example, substituting management meetings with daily Scrums or using a backlog for the board of directors doesn’t make a company agile.

In order to become truly agile (meaning flexible, responsive, adaptive, fast, and nimble), you need to think outside the (agile) box. Company-wide agility requires a holistic approach, a combination of different principles: First and foremost the principles of

  • Beyond Budgeting (flexible budgeting & relative targets),
  • Open Space (leveraging the innovative power of all employees),
  • Sociocracy (flexible organizational structures and decentralized decision making), and –of course–
  • Agile (inspecting & adapting).

We synthesized these proven principles into a wider perspective dubbed BOSSA nova: B = Beyond Budgeting, OS = Open Space, S = Sociocracy, A = Agile. Jutta will reveal a path toward company-wide Agility by showing the synthesis of BOSSA nova.

Target Audience

Managers, Executives, Change Agents, Business Consultants & Coaches

Outline
  • Organizational challenges digitalization provides
  • Resolution and limitation of Agile to the rescue
  • Beyond Agile
  • Synthesizing Beyond Budgeting, Open Space, Sociocracy & Agile
  • Implications and applicability
Learning Outcome
  • Understand the organizational values that need to be supported for the digital transformation
  • Learn how Beyond Budgeting, Open Space, Sociocracy & Agile can be combined to support digitalization
  • Know how you can start your digital transformation on the organizational level
Jutta Eckstein
Coach, Consultant, Trainer
self-employed

Jutta Eckstein works as an independent coach, consultant, and trainer. She holds a M.A. in Business Coaching & Change Management, a Dipl.Eng. in Product-Engineering, and a B.A. in Education. She has helped many teams and organizations worldwide to make an Agile transition. She has a unique experience in applying Agile processes within medium-sized to large distributed mission-critical projects. She has published her experience in her books Agile Software Development in the Large, Agile Software Development with Distributed Teams, Retrospectives for Organizational Change, and together with Johanna Rothman Diving for Hidden Treasures: Uncovering the Cost of Delay in your Project Portfolio.

Jutta has recently co-written (actually pair-written) with John Buck a book on Company-wide Agility. This book focuses on synthesizing Beyond Budgeting, Open Space, Sociocracy, and Agility.

Question for Speaker?
Please rate BOSSA nova: Beyond Agile - Preparing for Digitalization

What is 'this'? ¯\_(ツ)_/¯

Intermediate Talk

Have you ever wondered what _this_ actually is, and how it relates to other JavaScript black magic, like prototypes or the _new_ keyword? Many frameworks have been designed to hide you from needing to fully understanding this and many related concepts.

In this session, Jake will dive into all of the above and will also cover how the new ES2015 language features like arrow functions, keywords like let, const and classes with constructor functions which make dealing with _this_ much easier to understand.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Learning Outcome

You will leave this session with a better understanding of JavaScript fundamentals to make the most out of its growing ecosystem.

Jake Ginnivan
Tech Lead
Seven West Media

Jake is currently the Tech Lead at Seven West Media WA working on their new digital news platform. Before this, he spent many years as a consultant for Readify with a brief 2 year sabbatical to London working in the finance industry for Adaptive Consulting. He is passionate about open source, mentoring, web development, beer and whisky.

Question for Speaker?
Please rate What is 'this'? ¯\_(ツ)_/¯

Kubeflow Explained: NLP Architectures on Kubernetes

Intermediate Talk

There's more to a Natural Language Processing (NLP) application than an ensemble of models. Much more! Like any traditional application, there is an entire ecosystem of supporting tools that enables core ML functionality. How do you choose the best ones? Which ones can you do without? How do you maintain context when the complexity of such a system gets out of hand?

In this session, you will learn how to deploy the full scope of an NLP application on Kubernetes with Kubeflow. The guiding principles of a robust and resilient system are explained and used as the foundation for defining a specific architecture. Techniques for modifying and maintaining it over time are described. Find out what Kubeflow currently supports and the long-term vision for the project, presented by a project contributor.

Target Audience

ML engineers, DevOps engineers, data scientists, architects

Learning Outcome
  • Principles of a robust, resilient system
  • How to deploy a complete NLP application using Kubeflow on Kubernetes
  • How to modify and maintain the application over time
  • What's next for Kubeflow
Michelle Casbon
Sr. Engineer
Google

Michelle Casbon is a Senior Engineer on the Google Cloud Platform Developer Relations team, where she focuses on open source contributions and community engagement for machine learning and big data tools. Prior to joining Google, she was at several San Francisco-based startups as a Senior Engineer and Director of Data Science. Within these roles, she built and shipped machine learning products on distributed platforms using both AWS and GCP. Michelle’s development experience spans more than a decade and has primarily focused on multilingual natural language processing, system architecture and integration, and continuous delivery pipelines for machine learning applications. She especially loves working with open source projects and is an active contributor to Kubeflow. Michelle holds a masters degree from the University of Cambridge.

Question for Speaker?
Please rate Kubeflow Explained: NLP Architectures on Kubernetes

Attitude Determines Altitude - Engineering Yourself

Intermediate Talk
Success is not determined by our aptitude -- our skill at a particular task. Instead, it is determined by our attitude -- how we go about it. It is far less the contributions of genetics, or education, or circumstance than it is how we approach challenges, limitations, and opportunities in our lives. Through real science and some very personal stories, we will discuss how you can use your attitude to improve yourself.
We begin by discussing Growth Mindset - Carol Dweck's idea that we can improve ourselves through sustained effort. Focus and attention will help us put in the 10,000 hours of deliberate practice that allow us to achieve mastery.
We then discuss Trust - by trusting others to do their part and to do it well we can achieve both greater personal happiness and better business results. Generative organizations and psychological safety in teams are key themes.
We finally discuss Confidence - from the underconfidence of the Impostor Phenomenon to the overconfidence of the Dunning-Kruger effect. Most importantly, we conclude with practical ways you can build and sustain your own confidence in yourself.
Target Audience

Leads, Agile Coaches, Software Management, Business Leadership

Randy Shoup
VP Engineering
WeWork (former Stitch Fix, eBay, Google)

Randy is VP Engineering at WeWork. Previously, he has been VP Engineering at Stitch Fix, Engineering Director at Google, and Chief Engineer at eBay. Randy is a frequent keynote speaker and consultant in areas from scalability and cloud computing, to analytics and data science, to engineering culture and DevOps. He is particularly interested in the nexus of people, culture, and technology.

Question for Speaker?
Please rate Attitude Determines Altitude - Engineering Yourself

Cancel All My Appointments

Intermediate Talk

The most complicated state in an application is time. Like cooking a bag of microwave popcorn, modern web applications desperately try to keep up with their state through an orchestrated chaos of asynchronous operations popping off in indeterminate cadence. No question, coordinating all this concurrency is hard.

But there's a pitfall at the heart of asynchrony that stays mostly unaddressed.

When an operation doesn't finish right away, synchronously, it's possible the operation may never finish. Or, it may be destined to finish eventually, but a second operation may be raised which means we no longer care about the first. Whatever the case, we need to be able to cancel it. This critical check ultimately protects users from the vagaries of unpredictable systems.

Cancellation should be core to our async programming; no asynchrony should run without it. Too often, such handling is just a corner case exception. Without a cancellation strategy, your applications are incomplete at best.

We'll discuss use-cases for async cancellation and various approaches to managing them.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Kyle Simpson
Passionate Javascripter. Open Web Evangelist
....

Kyle Simpson is an evangelist of the open web, passionate about all things JavaScript. He writes books, teaches JavaScript, speaks, and contributes to the world of OSS.

Question for Speaker?
Please rate Cancel All My Appointments

The Metrics You Should Use (but probably don't)

Intermediate Talk

Have you ever had a gut feeling a project is about to go off course but no way to validate (or invalidate) that feeling? Has your team ever been burned by an inaccurate estimate or unreasonable expectation? Have you ever wished you could peer a bit into the future?

Navigating the uncertainty of knowledge work is often difficult and uncomfortable. During this session, you’ll learn new ways to visualize your team’s reliability and variability of delivery using the data you already collect. Instead of relying entirely on your gut or laboring over estimates, you’ll learn to predict outcomes and describe their likelihood. While this session won’t teach you to eliminate uncertainty or allow you to see the future, it will provide you with tools to explore and chart a reasonable course through the inherent ambiguity of knowledge work.

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners,programmers, testers, business analysts and product owners,programmers, testers, business analysts and product owners

Cat Swetel
Software Consultant
......

Cat is a consultant specializing in lean inspired, data informed coaching for technology organizations. She is passionate about increasing diversity in STEAM as a means of creating the possibility of a more equitable human future based on generative institutions. In her leisure time, Cat enjoys making jokes about Bitcoin, hiking, and reading feminist literature.

Question for Speaker?
Please rate The Metrics You Should Use (but probably don't)

The Importance of Laughter

Intermediate Talk
In software development, we strive for inspection and adaptation. In order to make the best of this, we have to feel good about ourselves and with each other. Fun and laughter is something I have always tried to enhance in the places where I work, but only recently have I started looking into why it is helpful.
Diving into this subject, I was amazed by how big an impact fun and laughter can have on your social life, your wellbeing, and your energy levels. Join me for a session with brain research, examples of fun, and case studies from real life. Bring an open mind and leave with knowledge about why you should have fun every day.
Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Aino Corry
Founder
Metadeveloper

Aino Corry is a teacher, a technical conference editor and retrospectives facilitator. She holds a masters degree and a ph.d. in computer science. She has 12 years of experience with Patterns in Software Development, and teaches retrospectives, OO design, software architecture and development in academia and industry. She also teaches how to teach Computer Science to teachers, and thus lives up to the name of her company; Metadeveloper. In her spare time, she runs and sings (but not at the same time).

Question for Speaker?
Please rate The Importance of Laughter

Return of the Fat Client?

Intermediate Talk

If you have been around for long enough in IT you have seen trends come and go. Only to reappear a few year later only slightly changed. Created by a new generation of software developers seemingly blissfully unaware of the problems of the old solution.

With the advent and increasing popularity of Angular, React & Vue, we are currently well on our way to reinvent the fat client, but now in the browser.


But what is the same? What is different? What should these young’uns learn from us grey-haired? And what can we learn from them?

Target Audience

developers, Technical leads and Architects,programmers, testers, business analysts and product owners

Erwin van der Koogh
Principal Consultant
Bitgenics

Erwin is the founder of Bitgenics.io, a hosting platform for Single Page Apps. In the late '90's, Erwin was introduced to XP as a software developer and has since filled every imaginable Agile delivery role – Scrum Master, Product Owner, Architect, Coach and, most recently, as a Scrum.org-certified Professional Scrum Trainer. He has worked with organisations ranging from startups to Fortune 500 companies all over the world.

He regularly speaks at conferences in Australia, Europe, and the US on his current passion: the intersection of Agile, complexity, technology and business.

Question for Speaker?
Please rate Return of the Fat Client?

Workshop - Lean Enterprise: Creating High Performance Organizations

Intermediate Workshop

Large organizations often struggle to launch innovative products, improve processes or create environments to help their people succeed. A number of factors conspire to obstruct moving fast at scale; competing priorities, siloed thinking, risk averse cultures and an inability to adopt an experimentation mindset all play a part.

Lean Enterprise: How High Performance Organization Innovate At Scale lays out an alternative future vision for organizations with practical principles and patterns to help you move fast at scale—and demonstrate why and how to apply these methodologies throughout your entire organization, rather than with just one department or team.

Smart enterprises constantly evolve their system of work, from governance and financial management to technical architecture and organizational design in the pursuit of radically improved performance. Adopting Lean Enterprise is challenging, will take time and commitment, but is vital to harness the forces that can accelerating the rate of innovation in your organization.

Target Audience

Executives interested in strategy, leadership, organizational culture and good governance, Directors of Product, Technology, IT and Operations,Anyone working in program or project management, including members of the PMO, Product Development teams and lea

Outline

Organizations often struggle to launch innovative products, improve processes or create
environments to help their people succeed. A number of factors conspire to obstruct moving fast
at scale; competing priorities, siloed thinking, risk averse cultures and an inability to adopt an
experimentation mindset all play a part.
● Create shared understanding of purpose, vision and direction between business leaders
and teams
● Define business strategy and prioritize investment horizons of now, next and later
● Develop strategic and execution plans for explore, exploit, sustain and retire domains for
the innovation portfolio
● Create success measures and outcomes to inspect and adapt the portfolio of the
organization to achieve high performance

Learning Outcome

In this training we’ll discuss how to take a scientific approach to developing products, processes
and people while running large scale programs of work. You’ll also learn how to create a
capability that enables your organization to transform continuously to meet internal, market and
customer demands.

This training uses our Orient, Explore, Accelerate, Transform framework to guide you through
the key components of creating high performance organizations.

Barry O’Reilly
Founder and CEO
ExecCamp

Barry O’Reilly is a business advisor, entrepreneur, and author who has pioneered the intersection of business model innovation, product development, organizational design, and culture transformation.

Barry works with business leaders and teams from global organizations that seek to invent the future, not fear it. Every day, Barry works with many of the world’s leading companies to break the vicious cycles that spiral businesses toward death by enabling experimentation and learning to unlock the insights required for better decision making and higher performance and results.

Barry is co-author of the international bestseller Lean Enterprise: How High Performance Organizations Innovate at Scale—included in the Eric Ries Lean series, and a Harvard Business Review must read for CEOs and business leaders. He is an internationally sought-after speaker, frequent writer and contributor to The Economist, Strategy+Business, and MIT Sloan Management Review.

Barry is Faculty at Singularity University, advising and coaching on Singularity’s executive and accelerator programs based in San Francisco, and throughout the globe.

Barry is also founder and CEO of ExecCamp, the entrepreneurial experience for executives, and management consultancy Antennae.

His mission is to help purposeful technology-led businesses innovate at scale.

Question for Speaker?
Please rate Workshop - Lean Enterprise: Creating High Performance Organizations