-
keyboard_arrow_down
Kyle Kingsbury - Jepsen 13
45 Mins
Keynote
Intermediate
We trust databases to store our data, but should we? Jepsen combines generative testing techniques with fault injection to verify the safety of distributed databases. We'll learn the basics of distributed systems testing, and show how those techniques found consistency errors in MongoDB, PostgreSQL, and Redis-Raft. Finally, we'll conclude with advice for testing your own systems.
-
keyboard_arrow_down
Erik Meijer - Inside Every Calculus Is A Little Algebra Waiting To Get Out
45 Mins
Keynote
Intermediate
Because of deep learning, there has been a surge in interest in automatic differentiation, especially from the functional programming community. As a result, there are many recent papers that look at automatic differentiation from a Category Theory perspective. However, Category Theorists have already been looking at differentiation and calculus in general since the late ’60s in the context of Synthetic Differential Geometry, but it seems that this work is largely ignored by those interested in AD. In this talk, we will provide a gentle introduction to the ideas behind SDG, by relating them to dual numbers, and show how it provides a simple axiomatic and purely algebraic approach to (automatic) differentiation and integration. And no worries if you suffer from arithmophobia, there will be plenty of Kotlin code that turns the math into something fun you can play with for real.
-
keyboard_arrow_down
Mark Birch - Launching an Internal Developer Community
45 Mins
Talk
Intermediate
Community is nothing new to developers. Just look at the open source movement, the numerous conferences, and the growth of collaborative resources like GitHub and Stack Overflow. Developers know the best solutions come from collaboration. In many respects, community is a superpower for innovation and problem solving.
So why is community so difficult to establish inside companies? It would seem like a natural opportunity given the collective nature and shared vision of being part of an organization. Yet when I visit most companies, community and collaboration are sorely lacking, and sometimes even discouraged.
In this talk, I share practices from my journey while at Stack Overflow and in other communities I have over the past decade to help all of us in the journey towards building healthy and thriving internal developer communities.
-
keyboard_arrow_down
George Dinwiddie - O’ Mice An’ Men -- Rescuing a Project Gang Agley
George DinwiddieAgile Consultant & Coach, Co-Founder of AgileDC ConferenceiDIA Computing, LLCschedule 2 years ago
45 Mins
Talk
Intermediate
You might have noticed that the world is suffering a pandemic at the moment, and it might have disrupted your software development plans. At least you’ve got a good excuse, though I’ve heard rumors of managers being sacked for not foreseeing the pandemic and including it in their schedules. I’ve not heard that sacking the managers has either made the pandemic go away, or rescued a software development schedule. I’ll leave that first problem to the epidemiologists and virologists, but when circumstances make a laughingstock of your schedule, what can you do? I can’t tell you how to do the impossible, but I can help you make the best of the situation. To do that, we’ll use that much maligned and oft misused tool, estimation. Come with me and we’ll explore ways to use your estimates to guide your response to unforeseen disruptions–meeting near term needs to the extent possible, and future proofing your longer term plans.
-
keyboard_arrow_down
Eberhard Wolff - Organization - A Tool for Software Architects
45 Mins
Talk
Intermediate
Conway's Law, domain-driven design, microservices - the most important modern software architecture approaches use the organization as a tool for architecture. But software architects often have only limited influence on the organization. And teams should be self-organized - so how can you even influence them at all?
This presentation shows what exactly it means to use the organization as a tool for architecture and how software architects can use concretely. Because even if you are a manager: Organizations are people - and you can go out and work with them! -
keyboard_arrow_down
Felienne Hermans - How to Read Complex Code without Getting a Headache
Felienne HermansAssociate Professor Programming EducationLeiden Institute of Advanced Computer Scienceschedule 2 years ago
45 Mins
Talk
Intermediate
Research shows that on average developers spend about 58 percent of their time on reading code! However, we are not explicitly taught reading code in school or in boot camps, and we rarely practice code reading too.
Maybe you have never thought about it, but reading code can be confusing in many ways. Code in which you do not understand the variable names causes a different type of confusion from code that is very coupled to other code. In this talk, Felienne Hermans, associate professor at Leiden University, will firstly dive into the cognitive processes that play a role when reading code. She will then show you theories for reading code, and close the talk with some hands-on techniques that can be used to read to any piece of code with more ease and fewer headaches!
-
keyboard_arrow_down
Jez Humble - How to improve Developer Productivity
45 Mins
Talk
Intermediate
Wouldn't it be great if we could rank developers based on their productivity, reward the best ones, and make sad noises at the others? Don't be silly, developer productivity isn't an innate ability that you can measure and rank! This talk will discuss how to think about and improve productivity based on the longest-running academically rigorous research investigation into the practices and capabilities that drive high performance in software delivery. Find out what drives productivity, how you can do more of it, and why it's important. Discover how tools and culture both impact productivity, and how to make a research-based argument for reducing technical debt.
-
keyboard_arrow_down
Randy Shoup - Scaling Your Architecture With Services and Events
45 Mins
Talk
Intermediate
This session is a deep dive into the modern best practices around asynchronous decoupling, resilience, and scalability that allow us to implement a large-scale software system from the building blocks of events and services, based on the speaker's experiences implementing such systems at Google, eBay, and other high-performing technology organizations.
We will outline the various options for handling event delivery and event ordering in a distributed system. We will cover data and persistence in an event-driven architecture. Finally, we will describe how to combine events, services, and so-called "serverless" functions into a powerful overall architecture.
You will leave with practical suggestions to help you accelerate your development velocity and drive business results. -
keyboard_arrow_down
Joe Macleod - Ends in Data
45 Mins
Talk
Intermediate
The internet was built on the principle of avoiding deletion. Its origin was a bomb-proof server back-up in the Cold War age. This established a philosophy of protecting data indefinitely, maximizing data, and championing more is better. Now overwhelmed and flooded with data, do we need a more balanced approach? Do we need an end for data?
Joe Macleod talks about a recent project with Markus Buhmann and Ana Lopez Niharra, looking at ends in data. Sharing the benefits and opportunities of data purging as a solution for some of society's biggest problems. The talk provides arguments from a technical, business, and consumer experience perspective.
It recommends a variety of techniques, models, and solutions to help balance the bomb-proof data obsession. -
keyboard_arrow_down
Mads Torgersen - Tune in to C#
45 Mins
Talk
Intermediate
As you were looking the other way, C# became a cross-platform, open-source, high-performance, general-purpose, hyphenated-buzzword programming language. It is also very popular! I’ll take you on a journey of language design nerdery, targeted equally at C# newbies and oldies. Let’s see how some of our recent features take on the null menace, immutability, and value semantics in the context of object-oriented programming, and peek at some of the next ideas we’re tinkering with.
-
keyboard_arrow_down
Sam Newman - Hiding the Lead
45 Mins
Talk
Intermediate
Information hiding, coupling, and cohesion, microservices-style
The terms coupling and cohesion come from the world of structured programming, but they are also thrown about in the context of microservices. In this session, I look at the applicability of these terms to microservice architecture and also do a deep dive into the different types of coupling to explore how ideas from the 1970s still have a lot of relevance to the types of systems we build today.
-
keyboard_arrow_down
Nicolai Josuttis - Hidden Features and Traps of C++ Move Semantics
Nicolai JosuttisTechnical manager, Systems architect, Senior consultantSystem Integrationschedule 3 years ago
45 Mins
Talk
Intermediate
Move semantics, introduced with C++11, has become a hallmark of modern C++ programming. However, it also complicates the language in many ways. Even after several years of support, experienced programmers struggle with all details of move semantics.
While I took the time to write up all the facts and details in my new book "C++ Move Semantics - The Complete Guide" (cppmove.com), I learned a lot I wasn't aware of (note that the final book has 260 pages).
This talk is about a very simple class to demonstrate some remarkable aspects of move semantics. We will see some tricky features and traps to understand C++ better.
-
keyboard_arrow_down
Susanne Kaiser - Building Adaptive Systems For a Fast Flow of Change
45 Mins
Talk
Intermediate
In a world of rapid changes and increasing uncertainties, organizations have to continuously adapt and evolve to remain competitive and excel in the market.
In such a dynamic business landscape organizations need to design for adaptability. Organizations need to aim for building systems and team organizations aligned to the business needs and business strategy and evolving them for adaptability to new changes and unknown environments.
In this talk, I am going to highlight how the combination of Wardley Maps, Domain-Driven Design, and Team Topologies can provide a holistic, powerful toolset to design, build and evolve adaptive systems and team structures for a fast flow of change.
-
keyboard_arrow_down
Mike Minutillo - The Science of Queues: Performance Monitoring for Themes Parks and Distributed Systems
45 Mins
Talk
Intermediate
Performance monitoring is an important part of running a successful theme park. Like a distributed system, theme parks have separate components (attractions), each with a queue of work to get through. How can we find out which of them are the least efficient? Which ones are slowing us down? Where should we spend time optimizing?
Join Mike for a roller-coaster ride through distributed system performance monitoring. Find out which measurements tell you the most about your system and how to optimize it. As an added bonus, you'll learn how to run a successful theme park! Mike has 20 years of experience developing and monitoring complex systems. In that time, he has visited some of the worlds greatest theme parks.
-
keyboard_arrow_down
Jennifer Scheurle - Solving Problems like a Game Designer
45 Mins
Talk
Intermediate
Did you know that the first bullet by an enemy in a first-person action shooter always misses you? Would you like to know why a game once had to stitch a whole train to act as the head of a player character? Did you know that in third person games, the first two-thirds of your health bar is worth fewer points than the last third?
Game Designers are some of the most creative and potent problem solvers in the tech field - many solutions being odd, surprising and most importantly: Focused on the user experience like no other. We are teachers, storytellers, therapists, matchmakers in ways that are surprising and innovative for anybody who needs to solve complex problems for humans or human and tech interaction. This talk aims to talk about and teach some of the ways Game Designers work, go over some of the most fascinating solutions we have found for our games and why they exist, and hopefully reframe ways people in adjacent industries can learn from the approach, just as we learn from other tech fields. -
No more submissions exist.