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!
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
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.
Dark Alleys and Dead-Ends: A Guide to Developing with Emerging Technology, Without Dying of Frustration
In 2014, the REA Group came to YOW! in Melbourne and showcased their work with VR partner Zero Latency, who they had met (and helped fund) through a Pozible campaign. What the hell did shooting zombies have to do with a property portal? Was Unity the new Ruby on Rails? Two years later realestate.com.au has the first production-ready virtual reality property media, has test-launched augmented reality print adverts and property signboards, while Zero Latency has won the race to be the global leader for multi-player VR gaming.
All that emerging technology might sound like fun (shooting zombies certainly is), but the reality can be a lot of wasted time and frustration as you try to anticipate where the technology will go – perhaps in a matter of weeks, then your platform is gazzumped, and your code is legacy. ‘Dark alleys and dead-ends’ will distill two years of experience building around emerging technologies, including VR, AR, 3D Scanning & 360 video.
Those last two years have been a hell of a journey. There have been many lessons, failures and triumphs from the team’s earliest experiments with Oculus DK1, making people violently nauseous, resolving the challenges of making people comfortable in VR, to the UX challenges of building a VR property experience. Let alone integrating code from a new world of software into well-known build systems, ensuring scalability, and managing instant legacy.
This talk will save you making some of those same mistakes.
KEYWORDS
VR, Virtual Reality, Oculus Rift, HTC Vive, GearVR, Matterport, 360° Video, UX, AR, Augmented Reality
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
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.
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
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
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
Microservices and IoT: A Perfect Match
Microservices always sound nice and neat, but it can be all too easy to end up building what amounts to a distributed monolith instead. Luckily streaming data (such as that from IoT devices) lends itself well to a style of architecture that realises the benefits of microservices, while avoiding many of the difficulties and pitfalls. In this talk I will describe such an architecture developed at Urbanise using Amazon Kinesis and idempotent, horizontally scalable, fault tolerant, microservices for processing of sensor data.
KEYWORDS
Microservices, IoT, Data, Architecture, Scalable, Fault Tolerant, Amazon Kinesis
Perryn Fowler
Perryn is a Software Consultant of 14 or so years experience. He has been helping software teams use BDD since before it was called that. Over the years he has used (and contributed to) a number of tools including FIT, Selenium, rspec story runner an
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
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
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
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.
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
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
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.’
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.
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.
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
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
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
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
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.
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
Machine Learning: No, It Can’t Do That!
Artificial Intelligence (AI) in general, and Machine Learning (ML) specifically are indisputably the hottest fields in the industry at the moment and have demonstrably advanced many areas of technology and science alike: web page classification, spelling correction, search ranking, graph building, large-molecule database screening for receptor-protein binding, predictive analytics, etc. etc. However, despite all the aforementioned advances, there are classes of problems (e.g. where “baselining” is required, such as network security) where ML is not a suitable technology to apply to. In fact, there are facets of ML that we simply don’t yet understand. In this session we describe the basics of AI and ML, discuss examples in network security and why ML is not a suitable solution, and finally discuss general shortcomings ML, namely reasoning and debugging.
KEYWORDS
Machine Learning, Deep Learning, Artificial Intelligence, General Intelligence, Machine Cognition, Data Science, Analytics, Security
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
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
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
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.
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
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.
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
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.
Hold tight, skillscasts coming soon!
-
YOW! Melbourne Developer Conference 2022
Two days in Melbourne
At YOW! Melbourne Developer Conference 2022, leading software industry experts from all over the world, handpicked by our program committee, come together for two days to provide amazing networking and learning opportunities.
software-development leadership agile -
YOW! 2020 Melbourne
Two days - Online Conference
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...
architecture discovery web tech-future game-design security engineering cloud big-data architecture-&-design people-&-process languages -
YOW! 2019 Melbourne
Two days in Melbourne
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...
architecture discovery web tech-future game-design security engineering cloud big-data architecture-&-design people-&-process languages -
YOW! 2018 Melbourne
Two days in Melbourne
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...
architecture discovery mobile-&-iot quality engineering ai-&-ml cloud mobile-&-web performance-&-security big-data architecture-&-design people-&-process languages -
YOW! 2017 Melbourne
Two days in Melbourne
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...
architecture discovery engineering quality performance mobile-&-iot ai-&-ml cloud big-data architecture-&-design people-&-process languages -
YOW! 2015 Melbourne
Two days in Online Event
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...
architecture discovery mobile-&-iot quality engineering ai-&-ml cloud mobile-&-web performance-&-security big-data architecture-&-design people-&-process languages -
YOW! 2014 Melbourne
Two days in Online Event
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...
architecture discovery mobile-&-iot quality engineering ai-&-ml cloud mobile-&-web performance-&-security big-data architecture-&-design people-&-process languages -
YOW! 2013 Melbourne
Two days in Online Event
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...
architecture discovery mobile-&-iot quality engineering ai-&-ml cloud mobile-&-web performance-&-security big-data architecture-&-design people-&-process languages -
YOW! 2012 Melbourne
Two days in Online Event
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...
architecture discovery mobile-&-iot quality engineering ai-&-ml cloud mobile-&-web performance-&-security big-data architecture-&-design people-&-process languages