February 26-28, 2025
Montreal, Canada

Architecture & Design Patterns Conference

The list of presentations is subject to change without notice.
Architecture & Design Patterns Let’s dive into the controversial side of tech trends, as not all trends benefit developers. We’ll discuss how some might be misleading despite their prevalence in the industry. Our goal here is to spark meaningful debates and challenge conventional wisdom.
Architecture & Design Patterns Changeset evolution is a concept that originated in the Mercurial version control system and has slowly been adapted to git. When working and reviewing a series of commits, it can be helpful to be able to change each individual commit in the series, without adding new commits on top. This produces cleaner history and eases the burden of reviewers during the backs-and-forths of the review process. We'll look at Jujutsu and git range-diff.
Architecture & Design Patterns In this talk, we will be discussing strategies for integrating new design directions and design systems into existing, legacy products. We will deep dive into strategies such as defining your goals and setting a roadmap, working collaboratively with design teams, the importance of design systems, leveraging technical tools like feature flags and Storybook, and how to overcome technical debt and resistance to change.
Architecture & Design Patterns In this session, we'll dive into the complexities of error handling in event-driven architectures (EDA). We'll explore how to effectively detect and manage errors in asynchronous systems using choreographed sagas and dead-letter queues. You'll learn practical strategies to address common pitfalls, such as infinite loops and unmonitored DLQs, ensuring your system remains robust and resilient.
Architecture & Design Patterns Working with APIs? Great! Did you have to solve surprisingly similar issues in different projects? Did project complexity force you to break the established guidelines for structure, filtering, validation, or pagination? How often have your endpoints, versioning, and evolution stood the test of time? Let's talk about the real examples of solutions I implemented in various APIs. Smile at changing requirements thinking - I've got it!
Architecture & Design Patterns Avez-vous déjà demandé à un architecte: Quel est la meilleure architecture? Ou Quel est la meilleure technologie (storage, hosting, framework, ...)?

Est-ce que vous avez eu la réponse classique: "Ça dépend"?

Dans cette présentation je vous présenterai les outils qui vous permettrons de prendre de bonnes *décisions* sur des *faits* pour solutionner de *réels* problèmes à l'aide de solutions *adaptées* selon les *contraintes*.
Architecture & Design Patterns Systems grow and change over time. You can have intentional design, or accidental design.

In this session we will walk through approaches that leverage product context to keep architecture aligned with the needs of the product. We will look at strategic DDD, C4 modeling, and architecture decision records.

Leave this session with simple techniques that you can apply immediately to start blending product with architecture.
Architecture & Design Patterns Vous souvenez-vous de l'époque où les CLI étaient à la mode ? (Re)Découvrons les applications CLI et leur pertinence encore aujourd'hui.

Au menu :

• Le secret de la création d'interfaces de ligne de commande conviviales.

• Des conseils pour rendre vos applications CLI irrésistibles, même pour les fans d'interface graphique.

À la fin de cette session, vous aurez hâte d'ouvrir votre terminal et de commencer à coder !
Architecture & Design Patterns Server-to-server communication via HTTP requests seems simple but can be unexpectedly complex. This talk explores challenges from understanding HTTP to mapping requests to your domain and ensuring a great DX when building SDKs. Learn how to overcome these issues using SOLID object-oriented practices and tools like php-http/discovery and symfony/http-client, while addressing the infamous PSR-7 challenges in consuming HTTP APIs.
Architecture & Design Patterns Découvrez comment nous avons simplifié notre architecture en passant de "Clean Code" à une approche basée sur des endpoints plus performants. Apprenez à créer des features avec MediaTr en définissant des commandes/requêtes, des réponses, des validateurs et des handlers, tout en utilisant des librairies comme FluentValidation pour un code clair et maintenable.
Architecture & Design Patterns Let's take a deep dive in the world of event sourcing, projections and queues and see how a real world app ties these (and much more) together in a Symfony based app that links hundreds of (sometimes online, sometimes offline) computers spread over as many locations together. Not for the faint of heart !
Architecture & Design Patterns Let's dive into the fascinating world of the state machines —a powerful paradigm in software development that brings order and clarity to complex application logic.
At its core, the state machine pattern represents a systematic way of modeling an entity's behavior by defining a finite set of states, transitions between these states, and actions triggered by those transitions.
Architecture & Design Patterns The NCSA Mosaic browser's launch in 1993 marked the birth of the modern web, which evolved from static hypertext to dynamic content and rich web applications. This session explores key shifts in web architecture from the 1990s to today, highlighting successful strategies, missteps, and driving factors. Attendees will gain insights into historical patterns and lessons, equipping them to face future web development challenges with confidence.
Architecture & Design Patterns When you're just starting out, often web dev classes and tutorials start with "design a schema". This one, tiny mistake may be the root cause of billions of dollars lost, time wasted, and unnecessary complexity embedded in countless applications
The problem: coding "back-to-front"
Let me show you how the simple idea of coding "front-to-back" can reduce complexity, increase security, and help keep your codebase performant and maintainable
Architecture & Design Patterns You may be missing out on what your type system can do for you. And I don’t mean learning TS shenanigans!

I will show you how you can use types to represent your domain in a fine-grained, self-documenting way. We will make impossible states unrepresentable. We will encode business rules without writing a single line of runtime code!

With real-world examples, let’s dig into a more functional approach to modeling your app—without any monad!
Architecture & Design Patterns Everyone and their dog knows and uses object oriented programming. While OOP is very useful, we pretty often focus on getting elaborate class hierarchies, intertwined with inheritance, frameworks, DI, libraries... What if I told you, that lots of these abstractions can be simplified with... plain functions? We won't even need to talk about Functional Programming, just functions! Let's solve a problem by not having it in the first place!
Architecture & Design Patterns Sending notifications, synchronizing data with third-party services, or performing time / memory heavy tasks are use cases that lend themselves well for asynchronous programming. Thanks to the Symfony Messenger, you'll not only learn how to dispatch, route, serialize and process async messages ; but also learn how to monitor them, perform logging, retry failing jobs, deal with priority queues and even tests asynchronous messages in a Symfony app.
Architecture & Design Patterns REST relies on specific endpoints, limiting the client to predefined queries. GraphQL, however, allows the client to choose the data it needs, simplifying the backend while empowering the client. It can even provide a unified API for multiple microservicesI. In this talk, we’ll explore what GraphQL is, how it works, and how to build GraphQL applications.
Architecture & Design Patterns React-Native, Flutter, .NET, how do they work behind the scenes? Uncover the core fundamentals and architectures that enable these tools to turn multi-platform code into native iOS and Android apps. Learn the key questions to answer when selecting the right framework for your next project.
Architecture & Design Patterns OpenTelemetry (OTel) is a vendor-neutral, open standard for observing distributed applications. With OTel, you can trace individual requests and view specific metrics about the system's current state. It's like a superset of traditional logging and can be used with or instead of log statements. In this session, we'll review the basics of OpenTelemetry, discuss why you should consider using it, and see a demo of using it across backend services.
Architecture & Design Patterns HashiCorp's Packer is a versatile, extensible tool that is great for generating machine images for multiple cloud providers from a single source package. I will demonstrate how easy it can be, with some minor configuration per provider, to centrally manage a single source of truth and maintain nearly identical machine images across different providers, with particular emphasis on AWS and Digital Ocean
Architecture & Design Patterns 20 years ago, the Python community was rightly proud of clear, transparent, obvious code. With growth of the language and the community, we have forgotten the importance of this. I'll discuss some of the technologies that make it too easy to write unclear, obfuscated Python code shrouded in implicit dependencies: decorators, active records, metaclasses, and more. And I will discuss ways back to the true path: how can we make our code clear again?
Architecture & Design Patterns Ready to master multi-tenant magic? Discover how to customize UIs for different tenants without duplicating your backend. Learn the secrets of DNS, NGINX, and templating sorcery, and become the hero of your web app saga. Keep your backend lean, your tenants happy, and your skills legendary!
Architecture & Design Patterns Un système informatique est un gros casse-tête dont l'image change tout le temps. Votre boulot en tant qu'architecte est de vous assurez que les bonnes pièces sont faciles à bouger. Le système doit survivre à l'épreuve du temps est s'opérer à un coût raisonnable. Comment y arriver? En dessinant des rectangles et des flèches sur une diapositive pour s'en assurer. Non. Mais ça ne veut pas dire que je n’en fais jamais.
Architecture & Design Patterns “How much will it cost?” they asked before providing any specifications.

The truth is that businesses today still need cost estimates, they need plans and they sure as hell want to see what you’re capable of before hiring you and your team to build their next project.

In this talk we’ll discuss the pre-development phase: strategies for getting requirements, planning, designing, proposing and winning project bids.
Architecture & Design Patterns Discover the pillars that form the foundation of a solid quality strategy: from code reviews to automated testing, from ideation to delivery, not forgetting the debates between purists and pragmatists. We’ll explore how to balance theory with the chaotic reality of development, and how to structure a quality approach that doesn’t just check boxes but propels your applications toward excellence.
Architecture & Design Patterns Microservices are widely discussed, but what does a successful implementation look like? Sander Hoogendoorn shares his experience from leading iBOOD's transition to a clean microservices architecture.

In this talk, he covers key architectural decisions, patterns, and the creation of the open-source framework Easy.ts, offering practical insights and real-life examples to help others navigate their own tech transformations.
Architecture & Design Patterns What is "Resiliency" and why do we need to account for it when building software? In this talk we will discuss some of the considerations and tradeoffs to make when designing resilient applications and how to make sure that our systems are available for our customers.
Architecture & Design Patterns KEYNOTE PROPOSAL

Developers strive to learn from personal experience, community knowledge, & current "best practices". Sometimes it all works, sometimes it doesn't. Today's hotness can become tomorrow's technical debt. But don't we look great!

The presenter examines past technology choices that went the way of crocheted vests & parachute pants. Also up for discussion are current tech offerings that show signs of moving to the bargain bin.
Architecture & Design Patterns A picture is worth a thousand words, they say - but unfortunately it is not always the case. If done right, diagrams are a treasure - but we've all seen and suffered from spaghetti diagrams and ones bringing confusion rather than clarity and added value.

Let's see what makes a diagram effective, what are the techniques and principles for creating good diagrams - and how everyone can get better at using this powerful communication tool.
Architecture & Design Patterns Set sail with us as we navigate the complex waters of migrating a critical task queue system, all without causing a single ripple of downtime. This session will explore the reasons why we switched systems, and the strategic use of feature flags and robust observability in ensuring a seamless transition. We share our lessons learned so that you can gain insights that can guide your own system migrations.

Explore all 190 sessions

Montreal 2025 sponsored by

Become a sponsor