The doors open
1. Keynote — James Bach
Beauty or Bugs: Using the Blink Oracle in Testing
Here's how the blink technique works: 1. Blast a firehose of data at your senses. 2. Notice things in it that are ugly, weird, or that in any other way seem worthy of investigation. (This process takes time. Give yourself at least 20 milliseconds to make a judgment.) In this presentation I will show some examples of blinking and how I use tools to create visualizations that support the process. The art of blinking is in designing the right kinds of complex displays that make interesting problems stand out.
2. Session — Aslam Khan
Building software is mostly about trying to wrap our heads around the complexity of a domain. If we understand the domain, we have a better chance of producing a simpler design. The harsh reality is that there is a pretty good chance of deforming that simple design over months and years. The challenge we face is dealing with inherent complexity up front and insidious complexity that sneaks in later. In this talk I will share some techniques that I find useful in tackling domain complexity.
3. Session — Adam Tornhill
Guide Refactorings with Behavioural Code Analysis
Adam Tornhill is a programmer who combines degrees in engineering and psychology. He's the founder of Empear where he designs tools for software analysis. He's also the author of Your Code as a Crime Scene, Software Design X-Rays, Lisp for the Web, and Patterns in C. Adam's other interests include modern history, music, and martial arts.
4. Keynote — Kevlin Henney
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.
5. Session — Louis Hansen
Software professionals, we keep using that word...
We constantly refer to Software Development, and the people in this field, as professionals, but are we really? Are we held sufficiently accountable for the things we build? And should we be? This talk will go through what it means to be a profession in the classical definition. We will look at what parts we already have in our field, and why we might want to strive for certain other aspects.
6. Session — Aino Vonge Corry
A Comment on how we learn
As an expert you will be asked to facilitate the learning of others, not to mention your personal eternal learning in your field. Join an interactive session about how our brains accept new knowledge and store it for later use. Your take-away will be three-fold; how to chunk information you give to others, how to improve your own learning AND something to entertain with at dull parties.
7. Session — Kent Beck
Symmetry: Beauty's Potting Soil
Our brains are optimized pattern matchers. The experience of beauty stems from recognizing patterns and having those patterns violated in unexpected-but-harmonious ways. Patterns in code stem from symmetries–two things look different but they are actually the same in some fundamental way.
This talk explores symmetries in code by example and explains how a sense of beauty is a powerful practical tool for professional programmers.