-
keyboard_arrow_down
Dave Farley - Taking Back “Software Engineering”: Craftsmanship is not Enough
60 Mins
Keynote
Advanced
Would you fly in a plane designed by a craftsman or would you prefer your aircraft to be designed by engineers? Engineering is the application of iterative, empirical, practical science to real-world problems. Craftsmanship is a wonderful thing, and as a reaction to the terrible abuses of the term Engineering in software development Software Craftsmanship has helped in our learning of what really works.
The term "Software Engineering" has gained a bad reputation. It implies "Big up-front design" and "Mathematically provable models" in place of working code. However, that is down to our interpretation, not a problem with "Engineering" as a discipline.
In recent years we have discovered what really works in software development. Not everyone practices approaches like Continuous Delivery, but it is widely seen as representing the current state-of-the-art in software development. This is because at its root CD is about the application of an iterative, practical, empirical, maybe even science based approach to solving problems in software development. Is this a form of software engineering?
Software isn't bridge-building, it is not car or aircraft development either, but then neither is Chemical Engineering, neither is Electrical Engineering. Engineering is different in different disciplines. Maybe it is time for us to begin thinking about retrieving the term "Software Engineering" maybe it is time to define what our "Engineering" discipline should entail.
-
keyboard_arrow_down
Linda Liukas - Principles of Play & Programming
60 Mins
Keynote
Advanced
If code is the colouring pens and lego blocks of our times – the tools of creation – how do we teach the curiosity, joy and wonder to our kids? I spent last summer looking at programming and play: how to create experiences that go deeper than just learning logic. So, just like Alice, I swallowed the blue pill and fell down inside the machine. This talk summarises my three principles of play and a few experiments I’ve learned with little Ruby and the journey I’ve been on with her
-
keyboard_arrow_down
Gregor Hohpe - Enterprise Architecture = Architecting the Enterprise?
60 Mins
Keynote
Advanced
Architects in the enterprise are often regarded as ivory tower residents who bestow their utopian plans upon project teams in the form of colorful diagrams that bear little to no resemblance to reality. The most suspicious in this group are often the “Enterprise Architects” who are perceived as being furthest from actual technical problems.
However, large-scale IT operation and transformation require transparency across hundreds or thousands of applications running on all sorts of middleware in data centers around the globe. The very enterprise architects are likely the only ones who stand a chance to bring transparency into such an environment and who can direct IT investments in the hundreds of millions of Euros towards modernization and run-cost reduction. This sounds a lot more exciting and valuable than drawing pictures!
This session takes a serious but light-hearted look at the role of enterprise architects in modern IT organizations.
-
keyboard_arrow_down
Lynn Langit / Dr. Denis Bauer - Cloud Data Pipelines for Genomics from a Bioinformatician and a Developer
Lynn LangitBig Data and Cloud ArchitectLynn Langit ConsultingDr. Denis BauerTeam Leader Transformational BioinformaticsCSIROschedule 5 years ago
60 Mins
Keynote
Advanced
Dr.Bauer and her team have been working to build genome-scale data pipelines that address the computational challenges and limits present in today’s cancer genomic (bioinformatics) data workflows.
Dr. Bauer and her team have built solutions which use modern architectures, such as serverless (AWS Lambda) and also customised machine learning on Apache Spark. AWS Community Hero and cloud architect Lynn Langit is also collaborating with the CSIRO team to push solutions at the cutting edge of bioinformatic research which best utilise advances in cloud technologies..
In this demo-filled session Lynn and Denis will discuss and demonstrate some of the latest cloud data pipeline work that they’ve been working together to build out for the bioinformatics community.
-
keyboard_arrow_down
Kasper Lund - Flutter: The Best Way to Build for Mobile?
50 Mins
Talk
Advanced
Want a more productive way to build for mobile? Flutter is an SDK for building high-performance, high-fidelity, apps for iOS and Android, from a single code-base. Flutter delivers a great developer experience in part because it is based on Dart, which allows you to build your cross-platform mobile apps in an approachable and analyzable language with sub-second edit-and-continue support baked in.
Come see what makes Flutter special and learn how you can become a more productive mobile developer.
-
keyboard_arrow_down
Julie Amundson - Machines that Learn Through Action: The Future of AI
50 Mins
Talk
Advanced
Deep Learning has led to breakthroughs in many previously unsolved problem domains, from image classification to machine translation to medical imaging analysis. Venture capital firm Andreessen Horowitz recently cooked up an AI playbook, which posits that AI will impact software as broadly as relational databases have since the late 20th century. It’s hard to think of a technological problem that AI doesn’t touch.
In this talk, we will explore the limits of today’s most popular approaches to AI. In particular, what kinds of problems can’t we solve today and how might the solutions shape the way we approach software development? Training a model for your particular domain is easier than ever, but why is it so difficult to make sense of what is going on inside the model? How can we move toward a more intuitive and accessible model for understanding what our AI has learned?
-
keyboard_arrow_down
Josh Price - Better APIs with GraphQL
50 Mins
Talk
Advanced
GraphQL has been out in the wild for nearly 2.5 years now. For such a relatively young API technology, GraphQL has won hearts and minds and it's being used in some rather unexpected places. The Community has grown rapidly and created a rich ecosystem of extremely useful tooling.
Josh will present a quick introduction to the basics of GraphQL as well as a high-level overview of the GraphQL ecosystem. He'll also describe some of the benefits of using GraphQL in your API layer, bust some myths around what it is and what it isn't, as well as some of the ways you can get started with GraphQL easily in your projects.
-
keyboard_arrow_down
Mark Aufflick / Adam Searle - Bionic Implanted and Mobile Software in Six (years of) Easy (ish) Steps
Mark AufflickDirectorThe High Technology BureauAdam SearleiOS Platform LeadCochlearschedule 5 years ago
50 Mins
Talk
Advanced
Over the course of six years, the Cochlear System 7 project went from prototypes using bleeding edge chipsets and mobile frameworks, to delivering a world first mobile and cloud connected implanted device. BlueTooth, custom hardware, regulatory concerns, clinical trials, 37 language internationalisations, accessibility, distributed teams, custom cryptographic implementations, four platforms. A zen garden of Kanban surrounded by waterfalls.
We will look at the project and team aspects as well as coding and technical approaches, that enabled us to take this project from R&D to release, maintaining course and progress on top of shifting technologies, and operating a team in an organisation with complex technical and timeline interdependencies. -
keyboard_arrow_down
Beth Skurrie - It's Not Hard to Test Smart: Delivering Customer Value Faster
50 Mins
Talk
Advanced
It’s 2017 and we’re all doing microservices and continuous delivery now (yay!). Except, somehow with all of this betterness we’re not able to create more value to our customers as fast as we should.
In this talk, we’ll discuss the fallout from the post-Monolithic era, a key to understanding why we are where we are. We’ll discuss why integration testing is bad for your health, how to deal with legacy architectures and how to truly optimise delivery for the entire value chain.
-
keyboard_arrow_down
Sara Chipps - Introducing kids to code through hardware using C++
50 Mins
Talk
Advanced
While drag and drop interfaces are the rage, is there more value in teaching children real life coding? Come to this talk to learn about designing accessible APIs in C++ in a way that inspired kids to build and invent on their own.
-
keyboard_arrow_down
Ondrej Lehecka - Delivering LiveQueries via LiveServer
50 Mins
Talk
Advanced
Facebook has been using GraphQL queries to build rich user experience on web and mobile. User interface updated in real time as other users interact with the system plays a key role in driving user engagement. LiveQueries is an API to allow building interactive user interface, update client caches, push updates to the client in the background and more. It allows subscribing to the query result and receive updates as the query result changes.
LiveServer is a stateful back-end for LiveQueries which interacts with query execution engine and reactive data sources. It uses dependency tracking and query re-execution to send updated query results to the client. It also allows delayed query execution and application of strategies for failed client message deliveries. Client and server is using long living connections and RSocket application protocol to deal with subscriptions, bi-directional streams, flow control and connection resumability.
-
keyboard_arrow_down
Phil Calçado - The Next Generation of Microservices
50 Mins
Talk
Advanced
How are microservices in 2017 different from how we used to build them at the beginning of the decade?
More traditional Service-Oriented Architectures were defined by protocols and standards published and curated by industry consortiums. Knowledge of the architectural style usually called "microservices", on the other hand, is often in the form of patterns, cautionary tales, and tools extracted from real-world reports and software made available by organisations that have adopted this style.
Almost ten years since the first wave of such reports, the landscape has changed considerably. Many hard challenges from the past have been eased or completely solved, and a lot of the custom software created by the microservices pioneers have been made off-the-shelf open source software.
In this talk, Phil Calçado will contrast what we first found in the first generation of microservices architectures against the current generation's landscape. Let's talk about which previous common knowledge and patterns are deprecated, which ones are still active, and introduce some of the ones that have been recently added to our toolbox.
-
keyboard_arrow_down
Ken Scambler - Adopting FP: A Human-First Approach
50 Mins
Talk
Advanced
Functional programming has made great strides in the popular imagination, yet adoption of FP languages has often been challenging for companies, sputtering in fits and starts. Ken has been at the forefront of REA's successful adoption of FP over four years, and will share lessons learnt and traps avoided: how a human-first approach can succeed and scale.
-
keyboard_arrow_down
Tony Morris - Functional Programming in Aviation
50 Mins
Talk
Advanced
In this talk, we have a look at some of the low-hanging problems in general aviation and how functional programming can be applied to provide significant improvements in efficiency and air safety. The current solutions to problems such as navigation, traffic/terrain collision avoidance and weight/balance calculations will be demonstrated to the audience, mostly for amusement. More seriously, we will have a look at the legacy that has led to the way things are, and how to improve by applying our programming skills.
We will look at:
- how aviation safety is regulated.
- how aeronautical services are provided to flight operators.
- how aeronautical navigation is conducted and regulated.
- how the weight and balance for a flight is conducted.
- the methods by which aircraft and ground coordinate between each other.
We will see:
- some real (and basic) data management problems in aviation, that very obviously threaten safety, then solve them, using programming.
- we will see a live demonstration of aeronautical navigation methods, investigate incident reports where lives were lost as a result, and consider how our programming skills can yield improvements, possibly even save lives.
- we will conduct a real weight&balance calculation for a flight, then once hilarity inevitably ensues, we will look at the problems that arise by this method, then solve them using data structures and functional programming. Some of these practical problems are obvious, even to a non-aviator, and the predictable incident reports are the end result.
- finally, we will have a look at a live demonstration of a software defined radio (SDR), receiving ADS-B transmissions from aircraft (live), an AHRS implementation and GNSS receiver using off-the-shelf, low-cost parts. We will look at why these instruments are helpful to aircraft pilots and interact with that device using the Haskell programming language.
-
keyboard_arrow_down
Simon Brown - Software Architecture for Developers
50 Mins
Talk
Advanced
The software development industry has made huge leaps in recent years; with agile, lean, software craftsmanship, evolutionary design and microservices being just a few of the buzzwords we throw around. Despite this, software development teams are often more chaotic than they are self-organising, with the resulting code being more of a mess than was perhaps anticipated. Successful software projects aren't just about good code though, and sometimes you need to step away from the IDE for a few moments to see the bigger picture. This session is about that bigger picture and is aimed at software developers who want to learn more about software architecture, technical leadership and the balance with agility.
This talk will debunk some of the common myths as we look at five things every developer should know about software architecture; a guide to software architecture on modern software projects that's pragmatic rather than academic and lightweight rather than "enterprisey".
-
keyboard_arrow_down
Yao Yue - Lies, Damned Lies, and Timeouts
50 Mins
Talk
Advanced
Wherever systems are distributed, timeouts are present. However, they don’t necessarily mean what you expect, and often come from unexpected sources. Don’t be fooled- let’s take a close look at what timeouts are made of, and learn how to use them wisely.
-
keyboard_arrow_down
Steve Freeman - Test Driven Development: That’s Not What We Meant
50 Mins
Talk
Advanced
Test-Driven Development (TDD) has been so successful that it’s now unfashionable. But many developers complain that being required to write tests just gets in the way of shipping features. That wasn’t our experience when we first stumbled onto TDD a dozen years ago, so what went wrong? Were we fooling ourselves, or did the message get confused along the way?
In this talk, I will revisit the basics, the essence of what makes TDD work. I will look at some of the common difficulties that I see with teams that are struggling. I will show how understanding the principles means that we can use tests to help us deliver more effectively.
-
keyboard_arrow_down
Sandy Mamoli - How the Olympics Can Make You a Better Person
50 Mins
Talk
Advanced
You won’t win if you keep doing the same thing over and over again. And you won’t be world-class if just you do what others have done before you. To truly make it, you need to be different and develop a world-class innovation mindset!
In the world of professional sports, innovation, persistence and rapid learning are everything! In this very personal talk I, a former Olympian, will share key learnings from my professional sports career. I will delve into topics such as choosing the team that’s right for you, rapid feedback, radical candour and high-performance teams.
I will contrast the perspectives and attitudes of professional sports with modern work life and will extract guidelines and tools that we can apply to our professional lives. From critical communication skills to collaboration and effective teams, come along and learn practical ways for how to apply ideas from Olympic sports to your professional agile career!
-
keyboard_arrow_down
Kresten Krab Thorup - All the Things We Didn’t Do
50 Mins
Talk
Advanced
Humio is a startup on a mission to democratise log analytics. With limited resources, being successful is just as much about avoiding bad decisions, as it is about doing things right. This is a talk about trade-offs, technology and culture in building a startup.
Working with log data introduces quite a different set of assumptions about how a data store should operate: you store a lot of data without known which part of it is relevant, and then after an incident, you want to be able to search it. Our biggest customers only look at 1% of the data they store. This is the opposite of how normal datastores operate: spend resources at ingest to make data easy to find. So we didn’t do it that way.
-
keyboard_arrow_down
Katrina Owen - The Bait & Switch of Open Source
50 Mins
Talk
Advanced
Open Source sells itself as being about technical problems—delightfully thorny technical problems, at that. However, successful projects are filled with people, which introduces a whole different set of problems that programmers often have not developed the skills to handle.