2024
Kesha Williams - Ethics in AI
This talk dives into the critical role of ethics in the fast-evolving AI landscape, with a special emphasis on Large Language Models (LLMs). We'll tackle the challenges and strategic solutions for ensuring data privacy, reducing biases, and enhancing transparency in AI systems. Anchored by real-world case studies, our discussion will underline the crucial balance between cutting-edge AI development and ethical responsibility. Participants will gain insights into responsibly implementing LLMs in data projects, focusing on compliance and ethical integrity.
Niall Merrigan: "Optimistic Security"
In this session, Niall will look at various things that can affect how we make decisions as well as complicate our ability to react when dealing with a security event. We will look at real world examples of this and what happened and what could have been done.
Lisette Sutherland: Thriving in the future of work: remote-first
In this presentation, tailored for workers who may think, "We've been working remotely for years now; what else is there to learn?" we'll dive deeper into the nuances of the virtual office and explore innovative strategies for seamless collaboration at a distance. We'll go beyond the basics and delve into advanced techniques digital nomads, virtual entrepreneurs, and global organizations use to foster a truly connected remote workforce.
Dylan Beattie: "Analogue Evolution, Digital Revolution"
Technological progress is non-linear. Sometimes, innovation is a smooth curve; hundreds of small, incremental improvements over many years – until something comes along that changes the game; something that fundamentally challenges our assumptions around what technology can achieve. Within the last few decades, technology has profoundly and irreversibly changed the shape of human society; how we work, how we relax, how we communicate and collaborate. And, in almost every case, the key has been digitalisation: the ability to transform part of our reality into a stream of bits.
Jonah Andersson: "Cloud Migration Mistakes You Should Avoid"
Join Jonah Andersson, in this enlightening and lessons-learned session where she shares the landscape of cloud migration, her own cloud migration journey as a developer and IT architect. In this session, we will be exploring the most critical mistakes that developers, IT architects, and business leaders must avoid at all costs.
Kevlin Henney: "Panel discussion with all speakers"
Panel discussion with all speakers.
2023
Roy Osherove — The Good, Bad, and Beautiful of Writing Blockchain-Based Smart Contracts
Roy walks through the basics of what solidity smart contracts look like and what type of patterns are enabled through them. We also discuss what practices become extra important (hint: testing, auditing), what practices become problematic (hint: continuous delivery), and what design patterns become problematic (hint: CRUD).
Nyari Samushonga — Running to Stand Still
Working in the world of software development, the need for speed has become an ever-present expectation of teams that build solutions. As we work to bring products to life, we are constantly being pressured to go faster. The common ask is that we get more done in less time. This addiction to the fast life has even seeped into our vocabulary for setbacks- we must “fail fast”. So, whether you’re getting it right, or getting it wrong, what is constant is the need for you to do it really quickly. In this talk, I will slowly meander through a radical alternative. The inconvenient truth that, sometimes, going fast can be at the expense of going the right way. I think we have to face up to the unavoidable fact that some things just take more time.
Linus Kvarnhammar — Hacked on National Television
In 2021, Swedish national television (SVT) aired a six-part TV series called “Hacked” where four professional hackers set out to hack into the private assets of normal people, celebrities, and companies. They had all agreed to participate in a cyber security experiment but were unaware of what exactly was going to happen. Linus was one of the four hackers in the TV series and in this talk, he is going to talk about some of the highlights that were seen on-screen as well as behind the scenes. This talk will hopefully be both entertaining and eye-opening.
Dylan Beattie - From Hot Metal to HTML: The Story of Typography
Arial, Times New Roman, Consolas, Comic Sans… digital typography has turned us all into typesetters. The tools we use, the apps we build, the emails we send: with so much of our lives mediated by technology, something as seemingly innocuous as picking a typeface can end up defining our relationship with the systems we use, and become part of the identity that we project into the world. Typography is a fundamental part of modern information design, with implications for user experience, accessibility, even performance - and when it goes wrong, it can produce some of the most baffling bugs you’ve ever seen. Join Dylan Beattie for a journey into the weird and wonderful history of digital typography, from the origins of movable type in 8th century Asia, to the world of e-ink displays and web typography. We’ll look at the relationship between technology and typography over the centuries: the Gutenberg Press, Linotype machines, WYSIWYG and the desktop publishing revolution. What was so special about the Apple II? How do you design a pixel font? We’ll learn why they’re called upper and lower case, we’ll talk about why so many developers find CSS counter-intuitive - and we’ll find out why so many emails used to end with the letter J.
Pelonomi Moiloa — Protecting Machines from Us: Lessons from the Majority World
The possibilities of machine learning are ever expanding and therein lies prospects for a utopian AI-Human hybrid future. With increased opportunities to do good however there are just as many opportunities to do harm and even in the case that good intentions are at the helm, evidence suggests that opportunities for good may eventually prove to be the opposite. The greatest threat to what machine learning is able to achieve and to us as humans is twofold: Machine learning created with harmful biases built into its core with intent, and machine learning that does not reflect the diversity of the users it is meant to serve. The human experience is fundamentally flawed but how do we keep the worst parts of ourselves from manifesting in the machines we create?
Scott Hanselman — Mentorship vs Sponsorship: Systems Thinking and Stories
Join Scott Hanselman for an upbeat discussion about what's beyond mentorship. What's the difference between mentorship and sponsorship and how does that build successful teams? What's the role of the senior engineer as a colleague to an early-in-career engineer? What's the difference between learning how to code and learning how to think about systems? What must we do to welcome the next generation of creators, and what are your responsibilities? Let's facilitate a welcoming culture of learning and exploration and normalize not knowing the answer!
2020
Alistair Cockburn — Getting Back To The Heart of Agile
Agile has become overly decorated, with vocabulary and rules to make your head spin. It wasn't intended that way. In this talk, Dr. Alistair Cockburn, one of the authors of the agile manifesto, shows how to abbreviate it all to just four words: Collaborate, Deliver, Reflect, Improve. Oddly, shortening it to those four words makes it easier to learn and more broadly applicable. Not only that, it helps us find new, relevant topics, such as guest leadership and solutions focus. What's best, these four words apply to all initiatives, not just software or product development.
Nyari Samushonga — Misguided Loyalties
We all want to predictably deliver quality software solutions. Many technical and process methodologies have been created to make this possible. Yet time and again we repeat the age old patterns of late delivery and poor quality, ensuring we continue to face the backlash of unmet expectations. Could it be that while we profess to want to do better, our overt and hidden attachments to unproductive ways mean we self sabotage and follow patterns that ensure repeated failure? In this talk I'd like us to peel away the layers and take a close look at some of the ways that what we do ensures we do not get what we want. We have the tools to win we just need to choose to use them.
Dr. Markus Borg — Trained, not coded – Beauty in Software 2.0
Deep learning has revolutionized several application areas, especially within computer vision. However, developing systems that rely on machine learning (ML) introduces new challenges. As features are trained rather than coded, the beauty concept must expand to cover also data. But even with beauty in the training data, how could we possibly trust AI in critical applications such as self-driving cars? In this talk, we will look at testing of a pedestrian detection system in state-of-the-art automotive simulators. We will discuss how the concept of safety fundamentally changes with ML and present a promising approach to testing. By embracing beauty in test code, we will demonstrate evolutionary test case generation for testing of trained systems – using AI to test AI.
Kevlin Henney - Lambda? You Keep Using that Letter
Lambdas. All the cool kid languages have them. But does 'lambda' mean what C#, Java, Python, C++, etc. mean by 'lambda'? Where did lambdas come from? What were they originally for? What is their relationship to data abstraction? In this session we will look into the history, the syntax and the uses of lambdas and the way in which lambda constructs in various languages do (or do not) match the original construct introduced in lambda calculus.
Aslam Khan — Scaling Down
Many teams have a scaling problem that is relative to their business or industry, which is a long way off from the massively scaled companies such as Facebook and co. Many of these teams are inadvertently over-engineering for their needs. We need to learn to scale down right, simple as possible.
Dr. Alistair Cockburn - Answering questions with stories
In this extra talk, Alistair answers questions from the audience with stories from his work experience.
GeePaw Hill — Changing Changing Software
At its center, the software trade is about changing software. From the outside, the trade seems to be flourishing, but when you look close, you see the unmistakable signs of a feverish and decidedly unhealthy entity. So we're going to have to change it. In this talk, GeePaw introduces the various challenges we face in changing changing software, and offers an approach: re-centering our entire trade — not just the code or the coding, but the entire industry — around the fundamental activity: harvesting the value from making one change, then using that value to fuel the next one. It's change, harvest, change, harvest, change, harvest, over and over, day after day, world without end.
2019
Linda Rising - Thinking Fast and Slow
When Daniel Kahneman won the Nobel Prize for developing a new model of how the brain works, it changed how we think about thinking. If you haven't had time to read Kahneman's book "Thinking Fast and Slow," or even if you have, Linda will "translate" the model and what it means for us in working better. We know that our jobs involve thinking, problem-solving, and decision-making. We all want to do a better job of thinking fast and slow. Linda will help you get started with that.
Kjell Ljøstad - How to Become Agile Without Scrum or Kanban
This is NOT a talk about Scrum or Kanban. The Agile Manifesto is all about communication, interaction, collaboration and building trust. Yet when most companies decide to go agile, they focus on implementing some rigid process that they don't yet fully understand, and they have a hard time getting it to work. We go back to the core of the Agile ideology. We will talk about how you can use relational skills to improve communication, get team members engaged and build trust. Agile initiatives tend to become a matter limited to the developers, and it is often hard to engage other parts of the organisation. In this workshop you will learn what make teams work efficiently and the basics of how you can get the whole organisation to cooperate better. By building relations and trust between people, working on how they communicate and how they interact with each other, you will build the foundation of a truly agile organisation.
Kevlin Henney - What Do You Mean?
"It's just semantics." How many conversations about philosophy, politics and programming are derailed by this thought-stopping comment? Semantics is all about meaning. If there is one thing we struggle with and need to get better at, it is the search for and clarification of meaning. The world in which a software system lives is filled with meaning. The structure, concepts and names that inform the code, its changes and the mental models held by developers are expressions of meaning. The very act of development is an exercise in meaning — its discovery, its formulation, its communication. Paradigms, processes and practices are anchored in different ways of thinking about and arriving at meaning. But just because we are immersed in concepts of meaning from an early age, and just because the daily work of software development is about wrangling meaning, and just because it's just semantics, that doesn't mean we're necessarily good at it. It takes effort and insight. Let's talk about what we mean.
Jon Skeet - Sondheim, Seurat and Software: Finding Art in Code
White. A blank page or canvas. The challenge: bring order to the whole. Through design. Composition. Tension. Balance. Light. And harmony. The opening lines of Sondheim's "Sunday in the Park with George" were written with fine art and paintings in mind, but ring true for software engineer as well. As Seurat created grand visions from tiny dots, so software solves huge problems one line at a time. Some parallels are obvious - the suggestion of "favor composition over inheritance springs to mind" - but others take more reflection. This talk offers musings on each element, and links each back to the cornerstone so often neglected in the midst of design docs, specifications and linters: our shared humanity. What turns "good" code into "great" code? How subjective is this? How does it affect how libraries connect with their consumers, and how applications connect with their users? At the end of this talk, you'll be left with more questions than answers - catalysts for your own thoughts on the nature of code and art, and for further discussion.
Nyari Samushonga - A Seat at the Table
Technology is taking an increasingly central role in the structure and reach of businesses. From its less prominent past as a rarely-noticeable cost centre buried in basements and maligned by those skeptical of its value contribution, the exponential increase in digital connectivity has moved it to its current position: a front-and centre disruptor, enabler and differentiator of modern day commerce. This shift cuts across all industries: regardless of the nature of your business, chances are you are in the technology business. The superpowers of digitisation have given those that build this new ecosystem a seat at almost every decision-making table as first-class citizens, adorned with all the rights and rewards that accrue to business leaders. But as we all know, with great privilege comes great responsibility. Are we, as an industry, reciprocating business' shift towards technology with a commensurate embrace of the complex learning curve we must undertake to understand the fundamentals of running a business? Do we fully understand the business contexts in which our superpowers are deployed? Beauty in code without responsibility in business is a waste.
Dan North - BDD Is Not About Testing
BDD started as a way to teach TDD to programmers who kept getting hung up on the idea they were writing tests. Fast-forward a decade or so and it seems BDD scenario automation tools have invaded the world of acceptance testing like Japanese knotweed. All around I see teams harming themselves writing awkward, verbose tests using slow, cumbersome tools like Cucumber and SpecFlow, and acting as though BDD is some kind of testing approach. Part of the problem is that once you have an automated BDD scenario and you've written the software to satisfy it, it can look seductively like a test. From there it is a short step to thinking of these scenario automation tools as testing software, and the rest is frustrating, repetitive history. This talk explores the relationship between BDD scenarios and acceptance tests, and suggests some strategies for avoiding the pain of BDD-as-test automation.
2018
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.
Aslam Khan - Complexity sucks
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.
Adam Tornhill - Guide refactorings with behavioral 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.
Kevlin Henney - 1968
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.
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.
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.
Kent Beck - Summarizing the Beauty in Code Conference
In this session Kent Beck reflects upon some of his take-aways from his career and summarizes the Beauty in Code conference