"Diagrams as code", as featured on the ThoughtWorks Tech Radar, is becoming a popular way to create software architecture diagrams for inclusion in long-lived documentation. The benefits of creating diagrams from text are well understood - text is version controllable, easy to diff, easy to integrate into build pipelines, and automatic layout facilities allow authors to focus on content. The major...
Code quality is an abstract concept that fails to get traction at the business level. Consequently, software companies keep trading code quality for new features. The resulting technical debt is estimated to waste up to 42% of developers' time, causing stress and uncertainty, as well as making our job less enjoyable than it should be. Without clear and quantifiable benefits, it's hard to build a b...
Pair programming dates back to at least 1991, yet it still has, shall we say, "unpredictable" results. Some teams find it transformative, saving untold time, creating amazing products, and eliminating tons of process overhead. Other teams find it a total waste of time and boring or painful to do. The pat answer is that the effectiveness "depends on the team" and "isn't for everyone." But there's a...
Istio is the most widely used service mesh platform in the world for large-scale production deployments. In September 2022, Google and Solo.io announced the release of Istio Ambient Mesh to the community. Ambient offers a revolutionary data-plane architecture that allows service mesh users to ditch sidecars. It slashes operational complexity and enables incremental mesh adoption, all while reducin...
What comes after Management 3.0, SAFe, Holacracy, and the Spotify Model? Well,it’s not hard to see in which direction the world is moving: organizations that consistof networked individuals who work from anywhere, who form teams on the fly, whofocus on the customer experience (CX), who aim for objectives and achieve results,and make that a whole lot of fun for themselves. Let’s unFIX our organizat...
What exactly does the word Asynchronous mean?When it comes to distributed computing, one of the perennial topics comes down to how different services should communicate. Working out the relative merits of specific technical approaches can become a complex affair however, so we often reach for categorisation to simplify our work. Often, the discussion around inter-process communication hinges on wh...
The transition from being a high-performing Individual Contributor to an effective Engineering Manager is hard enough, even in the best of times. Today, engineering managers face even greater hurdles amid evolving technologies (LLMs, anyone?) and shifting organisational landscapes. Drawing from my experience training engineering managers worldwide, I will highlight some key trends, challenges and ...
I’ve noticed an increasingly worrying trend in the industry of specialisation at the expense of collaboration, shared responsibility and valuable outcomes. There might be many reasons for this, from organisational structures, changing workforces or uncertainty in the world. This trend is creating silos, across departments, between roles, and even in teams.These silos mean that all the value that c...
Imperative style of programming is the most popular, familiar, and widely used and yet is packed with accidental complexity. Functional programming is gaining popularity, has less accidental complexity, and makes it easier to understand code once we are familiar with the paradigm. However, it has its own set of limitations. Should we choose to program in imperative or should we use functional? Whi...
Whether it’s the current macroeconomic situation affecting the tech industry, or the global pandemic, or the 2008 global economic crisis before, there will always be uncertainty.Even smaller crises have the impact of disrupting everyday life. Imagine the impact on Black employees during the George Floyd protests; or on AAPI employees over the past year. It is unrealistic to expect that employees a...
Robotic Process Automation (RPA), Low Code, Hyperautomation… Do you also ask yourself what's behind those buzzwords apart from shiny marketing brochures? Should you ignore them, fight them, or is there probably some gold you can mine?In this talk, I will cut through the b…s bingo to show you real advantages and give concrete advice for developers. I want to sketch a nuanced picture of how an organ...
The title of this talk is a direct pointer to property-based testing. I am not an expert in property-based testing, but more of an opportunist, using it experimentally.I started out to learn a testing framework and a different approach to testing. It turned out to be a lot more, positively affecting how I approach a problem and verify my understanding.Hint: it helped me ask better questions. After...
Software architecture helps businesses to achieve competitive advantage in many ways, like reducing costs and improving time-to-market. But to extract architecture's full potential, the software, business domain, and organization need to be aligned as independent value streams. This talk is about the principles, heuristics, and practical techniques that engineers, architects, and leaders can apply...
The abstract nature of software and its development mean that we employ many metaphors to talk about it. We talk about software as architecture, engineering and craft. We describe issues of code quality in terms of debt. We name our classes and UI elements after objects in the physical world. Metaphors are everywhere in software development, but often they are unquestioned and misunderstood. In th...

With ca. 400 million search results on Google, psychological safety (PS) has become one of the biggest buzzwords in business in recent years. Unfortunately, most of the people writing and talking about PS are not psychologists. Although they are for the most part well-meaning, this has led to spread of mis-information about what PS is and how it can be fostered in teams.This talk addresses some mi...

When open-source projects don’t have good documentation, most people don’t use them but this is not an option when you have to use the code developed with other teams within your own company. Then, you have to use it and the lack of documentation can lead to frustration and even desperation. Why doesn’t good internal documentation exist? The problem is threefold:1. If you understand everything ...
Have you ever noticed that things often seem to go worse than planned, especially regarding complex work tasks? This workshop aims to shed light on the underlying dynamics contributing to this phenomenon and introduces the concept of ergodicity as a key explanatory framework.Through a combination of lecture, discussion, and a hands-on game, participants will learn about the principles of ergodicit...
Measuring and understanding the productivity of engineers is a contentious topic. However, being able to do it effectively can help you choose, and get buy-in on the right projects in order to super charge an engineering organization.At Stripe we heavily invest in the productivity of our engineers, and this talk will walk you through the mistakes made and lessons learned in our approach to measuri...
DDD is about understanding and communicating complexity. We have long recognized that the most effective way to communicate complexity is via human language. But language poses a challenge when working in a team comprised of members of different (sub)cultures and nationalities, each with a native language that might not be the same as the language we are communicating in. Each of these cultures ha...
Team change is inevitable, especially when your company is hiring like crazy or when it is shrinking. Your teams might grow bigger and split. Some people might leave and then your teams merge together. What feels like tectonic shifts happen as you morph structurally to refocus people and work, continuously. It can be a wild ride. How can we bring a humanistic stance to this dynamic reteaming? How ...
Kubernetes has become the default container orchestrator framework, setting the standards for application deployment in a distributed environment. In the past years, numerous tools have been developed to extend Kubernetes capabilities and enhance its features. Simultaneously, the expansion of the technology landscape prompted the growth of the adopter base and the number of scenarios where cloud n...
While we have made great strides in the last decade to break down silos in Engineering, in most organizations when you look outside there is still an abyss of understanding between teams sitting in different divisions in the organization. This can significantly slow down the flow of value to our customers, directly and indirectly. You’ve likely experienced at least one of these in your professiona...
Quality cannot be tested in, it has to be built in, so ensuring the right quality needs get captured in delivery plans and requirements is one of the biggest challenges for software delivery, since people first started building software till today, and forever. But defining quality was never an easy task. Different people have different perspectives, needs and expectations, and the job of unifying...
When enterprise organizations adopt microservices, containers, and cloud native development, the technologies and architectures may change, but the fact remains that we all still add the occasional bug to our code. The main challenge you now face is how to perform integration or end-to-end testing without spinning up all of your microservices locally and driving your laptop fans into high speed!Jo...
One crucial difference between writing object-oriented software and writing procedural software is the notion of object construction. Objects must be instantiated before they can be used. This is more than a technical detail; it is at the very core of OO's usefulness.A key distinction—and therefore opportunity—of object-oriented programming over procedural programming is that objects have two phas...
Have you watched those Spotify engineering culture videos? They were trendy and influential but that was around nine years ago. What might we say about effective product development culture today? In this talk, Jason will share a summary of 2023-era effective product development culture based on his eight years at Spotify and 14 years at ThoughtWorks. This will include core beliefs, guiding princi...
TLA+ is a language for the specification and verification of discrete systems, including concurrent and distributed algorithms. The behavior of systems is described in the form of state machines, written in a language based on mathematical set theory and temporal logic. The same language also serves to express safety and liveness properties. TLA+ is supported by tools for computer-assisted verific...
Everybody wants to have one. Every developer wants to build one. But the majority of developer platforms will never be worth the investment. Many of them will make life worse for the very developers who they're meant to serve.Michael will talk about lessons he learned building developer platforms in multi-cloud, hybrid, and single-cloud structures. You'll learn why we set out to build a platform f...

The Hexagonal Architecture pattern - more correctly named Ports & Adapters - was first described by Dr. Alistair Cockburn in 1994, first written up in 2005, and hit its third style of presentation as recently as 2022. In this talk, Dr. Cockburn will share its original motivation, what problems it solves and the newest form of presenting it, hopefully still simple and clear.In short form, the patte...
GraphQL is steadily gaining popularity as an API technology choice for Client-Server data access. At Netflix, we have been operating a Federated GraphQL platform where developers can contribute to the unified GraphQL API. This platform has transformed the way we create APIs and ship customer-facing software across the entire organization from Netflix Streaming to the Netflix Studio applications an...
Every day, companies struggle to bring great software products to their customers with sufficient speed and efficiency. Especially with an organization's increasing size and complexity, this becomes a significant challenge, and the pace occasionally feels like going against zero. But more than ever, it is precisely this skill of scaling software development efficiently that differentiates thriving...
HTML is, by default, accessible. By simply using “Plain Old Semantic HTML”, we have the ability to create rich and accessible web pages that can meaningfully stand on their own. More often than not, what makes a web page less accessible is the CSS and JavaScript we add to that HTML. With these additions, we can alter the meaning of elements, change their behaviour, or even block access to content ...
Some advice is timeless; it ages like a fine wine. Each time you revisit it you discover a nuance, a new connection to something else. As you grow, the advice is waiting there to reveal another layer you had never considered.Some advice is a product of its time; it ages like milk. It starts fresh, then it begins to smell, and eventually it rots and can even become harmful! It made sense in the con...
In most disciplines "Engineering" means the stuff that works, an application of scientific reasoning to solving practical problems. In Software, depending on your background, it either means something bureaucratic that doesn't work, or it is just another name for software development.So what are the ideas that we can use as tools to give real, practical advantage in our work in the way that other ...

Humans have been working in teams as long as humans have been around. We've learned alot -- but -- what does science say about teams? You've likely heard of Dunbar's Number butdid you know it's not a single number but a series of ranges of numbers? Linda will share the latestand greatest research on various group sizes and what we can do to help us work more effectivelyin our preferred group size....
One observation I've made from SAFe-situations is that they (at least in those specific situations) spend enormous amounts of time and energy for discussing and taking care of dependencies between teams. There must be a better way?In this presentation we will dive into the subject and discuss different strategies for how to deal with it. Domain-Driven Design will be one of the helpful tools, and t...
In a world of rapid changes and increasing uncertainties, organizations have to continuously adapt and evolve to remain competitive and excel in the market.For a system to be adaptable and evolvable, requires the business strategy, the organization, and the software architecture to be amenable, aligned and optimized for anticipating and absorbing change.This talk will address how Team Topologies, ...
Microservices promise rapid evolution, operational independence, and technological flexibility. However, it's important to address the potential challenges that can arise, especially those related to unexpected coupling, reliability and development velocity. Without sufficient care and planning, microservices and agile methodologies may inadvertently undermine the big picture thinking needed for s...
In this talk, I will discuss several ideas around a concept I am calling "Architecture Organization Topologies", or "Architecture Topologies" for short (https://esilva.net/architecture-topologies). The focus is developing models and practices for organizations to improve their learning, design, and decision-making approaches and structures.I will explain how architecture topologies can help organi...
You've heard about micro frontends. You've potentially even implemented them - but you either faced issues or had to put in some work to make them scale. But even then - they tend to be inflationary solutions causing more problems than giving benefits.The missing piece of the micro frontend puzzle is to introduce a discovery mechanism that loosely couples your micro frontends. This way you'll achi...
In this interactive talk, we get intimate with Flow. As a practitioner, how are you responding to this hyper-connected and distracting work environment? How is it impacting the flow of your work and life? Sustainable delivery of value requires flow. Disruptions to flow impede our ability to get to the outcomes we desire.Flow is like water and it can travel through many places. When moving, it find...
Automated testing is often described as a way of verifying behavior or a way of supporting refactoring. Beyond those two uses there is a third one. Tests can be used to gain feedback about the design of existing systems.In this talk, Michael Feathers will describe testing techniques that you can use to assess the design of your system and determine whether its modularization supplies adequate supp...
It is well understood that quality is an important element for software delivery to occur frequently and safely. But quality is a broad concept that can be applied in a variety of ways across organizations. QAs can be a dedicated team or even part of a cross-functional team, in which they are held accountable for quality. However, relying on just one role to ensure quality can introduce numerous r...
Istio is the most widely used service mesh platform in the world for large-scale production deployments. In September 2022, Google and Solo.io announced the release of Istio Ambient Mesh to the community. Ambient offers a revolutionary data-plane architecture that allows service mesh users to ditch sidecars. It slashes operational complexity and enables incremental mesh adoption, all while reducin...
Software development has become more complex over the years: Building and running a distributed architecture in the cloud, ensuring observability, discussing user experience with design and product, and keeping a healthy balance between dev speed and code quality isn’t easy. Just be agile and practice DevOps, they say.Join Sven and learn how great software teams measure and improve their developer...
Microservices are becoming increasingly common for designing complex software systems that span multiple functional domains and teams.The question is - how can we develop microservices in a more testable way?Designing Testable Systems using Hexagonal Architecture, aka Ports & AdaptersTesting Microservices using Unit Testing, Integration Testing, Component TestingApplying Test Driven Development (T...
If you’ve tried GitHub Copilot, you know that it can feel like magic. The tool fills out entire blocks of code with shocking accuracy—though knowing exactly where to correct it requires skill. In this session, Rizèl Scarlett shares how GitHub Copilot can help you level up your software engineering career....
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 generatio...
IoT software must evolve rapidly. WebAssembly may provide a means of flexibly modifying code while executing it in a strictly sandboxed environment. WebAssembly has the potential to become a ubiquitous execution environment for IoT. ...
Polar Signals started doing a weekly live stream optimizing popular open source projects such as Kubernetes, Prometheus, Cilium and containerd among others. In this talk Frederic will recap the strategies used to optimize Go code successfully and how profiling data can be used to find these opportunities. Attendees will learn how to optimize their own Go code and reduce CPU usage and lower latency...
You may have heard of how risky it is to invest in large end to end tests, and you might know how to avoid writing them, but what happens if you encounter one in the wild? This talk is a story about how I used the Saff squeeze to break down large tests and ensure that I still covered edge cases....
About 15 years ago, I got inspired by the practice of Test Driven Development. Now, with many years of great and not-so-great experiences practicing Test Driven Development, I thought it is the time to capture my own “laws”. The term “law” is obviously an exaggeration and “principles or heuristics” cover my intend much better. Either way, I want to talk about the scope of testing, using the observ...
Don't document your code; code your document.Documentation is essential, and at the same time, it is part of the software products that usually contain the most bugs. For example, documentations tend to be outdated, have wrong references to the documented system, and may contain inconsistencies. The compiler or the unit tests discover the same type of errors in a program code. Documentation does n...
In this session Zan will walk you through a set of advanced approaches that some advanced DevOps teams use to orchestrate their pipelines and bring their teams’ productivity to the next level. The patterns discussed were inspired by my conversations around complex CI/CD orchestrations with some of the largest, most advanced DevOps teams, that I hope bring some of that inspiration to a wider audien...
WebAssembly was made to open web browsers to more languages besides JavaScript. Its virtual machine and bytecode target allows safe re-use of third party code. Using WebAssembly outside the browser is a relatively new trend worth understanding.This talk dives into WebAssembly through a series of real-world integrations outside of the web browser. You’ll learn how key aspects like I/O work, includi...
Terraform is a GREAT tool, but like a lot of other things in life, it has its pitfalls and bad practices.Since you are working with Terraform, you probably went through its documentation, which can tell you what resources can be used - BUT do you always have a clear path towards using these resources? How should modules be constructed? How should you structure your Terraform code in general?In thi...
There is no week when tech blogs and media don’t hype the next new and fancy technology that enables companies to deliver even faster. While it is important to operate a modern technology stack, it is equally important how to smoothly transition from the “old” ways of doing things, and identifying the “gotchas” to look out for.In this talk Attila Papai, Engineer Lead at Wise, will share how and wh...
In this talk, I will explore the potential of integrating large language models and generative artificial intelligence (AI) agents into our work processes. Specifically, we’ll examine how natural language interactions with AI-powered agents, including APIs and infrastructure, can create a new form of collaboration while keeping the human-in-the-loop. As an industry, we have only just begun to tap ...
TL,DR; Successful initiatives to change software architectures are directed at achieving an outcome, rather than producing output. Objectives & Key Results provide an accessible mechanism to set and track desired outcomes as goals. Wardley Maps enable software teams to challenge the goals by linking the higher level objectives to constraints in the domain model and in the software architecture.Whe...
While microservices take the industry by a storm, we choseto decompose our team’s age-old monolith into (no, not microservices!)a new monolith! A modular monolith. Join me to understand why we atAtlassian, decided to break down our mammoth monolith, why we chose tonot go down the microservice route, and the what and whys of the new,shiny modular monolith we are working on!...
In today’s fast-paced digital era, remote work has become an integral part of the modern work culture. However the absense of a physical workspace poses unique challanges to team bonding, communication and collaboration. In this session, we will explore the challanges faced by remote teams and potential solutions to create a cohesive work culture....
Yey, We’ve won! Us proud nerds “rule the world”. Apparently, so to speak. The world runs on software. And we make the software.You control the code - you control the world.But it doesn’t really feel that way, does it? More like facilitators in a complex game, between interests and motivations external to us.Coding is just the beginning. How do you deal with doing “both this and that”, rather than ...
Sometimes we make mistakes unintentionally while, at other times, bad actors try to exploit our systems. No matter the reason, misconfigurations can lead to security breaches, data loss, or even bring the whole system down. We may never be able to prevent all of these, but we can certainly minimize the risk by applying policies to infrastructure, services, and applications. The primary weapon in t...

What does a large-scale micro component architecture look like in practice? In this talk we take a data-driven deep dive into Spotify’s 15 year old architecture. What patterns emerge across thousands of components (client features, services, data pipelines and websites) and their dependencies? By thorough instrumentation we collect data on what our architecture looks like in practice and can apply...
Tesco has very diverse requirements for it's applications. From heavily loaded web applications for the online shopping, handheld devices in supply chain processes, to edge computing on the tills. As diverse the environment is as diverse the cost optimization solutions will be. In this talk we will take you onto a journey through the Tesco estate and look at the various cost saving initiatives tha...
Modern autonomous driving projects often reflect the structure of distributed agile softwaredevelopment. These projects are inherently complex due to the large number of softwarecomponents, extensive CI/CT activities and the synergy of classical and AI-based algorithms. This talkis about finding the right balance in innovation, adhering to automotive processes and ensuringcontinuous delivery in au...
5 years ago the hype in Automotive was to "do Agile". Many of us started the agile transformation, wanting to switch from the classic Waterfall-development to the sexy Agile. Now with the same enthusiasm we're running insanely towards being SW-focused in an organization which is so big and so good at HW. Bringing down bureaucracy walls, educate our workforce, create healthy teams, organize hackath...
The talk details a case study about an architecture assessment done for a large enterprise. Initial focus is on evaluating their event-driven microservices architecture using structural analysis based on source code and interviews. As a second step the assessor created a reference design using domain-driven design, which was compared to the existing architecture.In addition, several other architec...

Event sourcing offers a bold promise: being able to capture all changes to an application state as a sequence of events. Sometimes it can feel so powerful, as if you’re able to time travel or have x-ray vision! But as all superhero fans know, with great power comes great responsibility (or in our case, great headaches).Marshmallow has been using event sourcing since Day 1 to manage thousands of cu...


Today we are going to build a fully operational internal developer platform or IDP in a way that can meet almost anyone's needs. To make it more challenging, we'll do that in 30 minutes or less.Now, you might be thinking that we cannot do much in such a short period, but you're wrong. We'll create an IDP in a way that any expert can "plug" their experience into the platform (e.g., cluster, DB, app...

Join us for a lively, interactive session at the Craft Conference where we won't just discuss programming - we'll dive in and code together!Welcome to our Mob Programming session, where collective intelligence meets real-world problem-solving. We'll collaboratively tackle a sample problem, using the proven approach of Test Driven Development. It's an immersive, dynamic way to learn and share knowl...


Building software products in a modern cross-functional organization means working with people who have a very different way of thinking and acting. This inevitably causes all sorts of tensions between people and roles. But what if instead of a necessary evil we reframed tension as an opportunity, or even a key ingredient for strong outcomes.At Shapr3D the Product and Engineering organization is c...