Tuesday

No Sessions

Wednesday

1:00 PM

Thinking Architecturally

Presented by: Nathaniel Schutta
Time: Wednesday 1:00 PM - 5:00 PM

Rich Hickey once said programmers know the benefits of everything and the trade offs of nothing...an approach that can lead a project down a path of frustrated developers and unhappy customers. As architects though, we must consider the trade offs of every new library, language, pattern or approach...

Room: NileTrack: ArchitectureTags: Career Development, Soft Skills, ArchitectureFormat: PreCompilerLevel: Intermediate

Thursday

8:00 AM

Simplifying Microservices with Dapr

Presented by: Matthew Sheehan
Time: Thursday 8:00 AM - 9:00 AM

In the world of modern software development, microservices have emerged as the go-to solution for building scalable and deployable applications. However, the path to realizing their promised benefits can be riddled with challenges, leaving engineers with concerns about achieving a truly clean...

Room: CypressTrack: ArchitectureTags: Cloud, ArchitectureFormat: General SessionLevel: Introductory and overview

The User Experience Eclipse: Rise Against Dark Design Patterns

Presented by: Scott Showalter
Time: Thursday 8:00 AM - 9:00 AM

Dark isn't just a trendy UI mode, nor what the sky looks like in the middle of the day in Ohio on April 8th. It's a deceitful design scheme we all encounter from time to time, against our will. As consumers, most of us can't escape the overbearing influence that corporations have on our lives....

Room: NileTrack: Design (UI/UX/CSS/a11y)Tags: Front End, Diversity/Equity/Inclusion, CSS, UI/UX, Architecture, System Design, QA TestingFormat: General SessionLevel: Introductory and overview

Using Web Components to Scale Your UX

Presented by: Burton Smith
Time: Thursday 8:00 AM - 9:00 AM

Whether you're a company with a variety of projects or an app that uses micro-front-end architecture, creating a consistent and reliable user experience can be difficult. In this session, we will discuss how, at Microsoft, we have leveraged web components to standardize our user experiences and...

Room: Salon HTrack: Web/Front-EndTags: Javascript, Front End, Accessibility, CSS, UI/UX, ArchitectureFormat: General SessionLevel: Introductory and overview
9:15 AM

Don’t Build a Distributed Monolith: How to Avoid Doing Microservices Completely Wrong

Presented by: Jonathan "J." Tower
Time: Thursday 9:15 AM - 10:15 AM

As a consultant, I get to see many systems built by many different developers. Recently, I’ve seen an uptick in the number of systems built with a microservice architecture in mind, but those systems often include a lot of the same mistakes that keep them from working well. In this session...

Room: Kilamanjaro BallroomTrack: ArchitectureTags: ArchitectureFormat: General SessionLevel: Intermediate
10:30 AM

Tactics for Building Background Services in .NET

Presented by: Kevin Griffin
Time: Thursday 10:30 AM - 11:30 AM

Mature applications often find themselves in the predicament of having to do work "behind the scenes." Frequently this could be simple tasks such as sending emails or updating statistics. Or it could be something more complicated, like processing incoming files or building reports. These tasks...

Room: Indigo BayTrack: ArchitectureTags: .NET, C#, Backend, Programming Principles, Cloud, Architecture, System DesignFormat: General SessionLevel: Introductory and overview

Scaling Web Frontends Across Teams

Presented by: Cory House
Time: Thursday 10:30 AM - 11:30 AM

At some point, a web app's frontend becomes too complex to manage via a single dev team. In this session, we'll explore patterns and techniques for splitting an app across teams. We'll discuss component-driven development patterns, micro-frontends, shell apps, reorg strategies, monorepos, vertical...

Room: Salon HTrack: Web/Front-EndTags: Javascript, React, ArchitectureFormat: General SessionLevel: Introductory and overview
11:45 AM

A Contrarian View of Software Architecture

Presented by: Jeremy Miller
Time: Thursday 11:45 AM - 12:45 PM

I’ve spent an inordinate amount of time the past half decade across multiple companies working with very large, long running enterprise systems. Especially in long running, constantly changing systems, you want the code to be easy to understand, relatively painless to extend or modify, and when...

Room: CypressTrack: ArchitectureTags: Programming Principles, ArchitectureFormat: General SessionLevel: Intermediate
3:30 PM

Out of Control: How to Rescue a Struggling Software Project

Presented by: Cory House
Time: Thursday 3:30 PM - 4:30 PM

We were drowning in bugs. We had countless partially implemented features. We had no tests, few types, no CI, no error handling, and we couldn't demo our work reliably. Developers kept copying anti-patterns in our code. Our software was out of control. If you want to improve quality and velocity,...

Room: Kilamanjaro BallroomTrack: Software QualityTags: Architecture, System Design, Code QualityFormat: General SessionLevel: Introductory and overview

Friday

8:30 AM

Application Architecture Patterns

Presented by: Joseph Guadagno
Time: Friday 8:30 AM - 9:30 AM

Architecting an application can be challenging. What do you do to keep your application flexible to ever-constant requirement changes? How do you handle landscape changes (cloud, on-premises, databases)? How do you avoid over-engineering the application? How do I make sure my application plays well...

Room: CypressTrack: ArchitectureTags: Programming Principles, Architecture, System DesignFormat: General SessionLevel: Intermediate
9:45 AM

Clean Architecture with ASP.NET Core 8

Presented by: Steve Smith
Time: Friday 9:45 AM - 10:45 AM

Clean Architecture is a very popular approach for DDD and Microservices, and for good reason. It's not a new approach, and went by other names in the past (e.g. Onion, Hexagonal, Ports-and-Adapters). One of the main benefits of the approach is its focus on business logic and its reduction in...

Room: OrangeTrack: ArchitectureTags: .NET, C#, Backend, Object Oriented Programming, Programming Principles, Architecture, System Design, Code QualityFormat: General SessionLevel: Intermediate

Expect the Unexpected: Handling Exceptions in Enterprise Applications

Presented by: Kito Mann
Time: Friday 9:45 AM - 10:45 AM

One of the most common reasons for software defects is poor exception handling. The more complex the application, the more difficult it can be to track down the root cause of a bug. An exception at the service or database layer may manifest itself as unpredictable behavior at the user interface...

Room: Salon HTrack: Programming PrinciplesTags: Java, Programming Principles, Architecture, System DesignFormat: General SessionLevel: Intermediate

Harnessing the Power of Asynchronous Messaging and Eventing for Distributed Systems at Scale

Presented by: Eric Boyd
Time: Friday 9:45 AM - 10:45 AM

Distributed applications, microservices solutions and systems at scale depend on In today's era of distributed applications, microservices, and systems at scale, the key to achieving agility, resilience, and scalability lies in mastering the art of asynchronous messaging and eventing. In this...

Room: Salon BTrack: ArchitectureTags: Architecture, System Design, PerformanceFormat: General SessionLevel: Intermediate
11:00 AM

The Right Database for the Right Job

Presented by: Nuri Halperin
Time: Friday 11:00 AM - 12:00 PM

Picking a database for your particular purpose is hard, and vendors don't make it easier. So which database is right for which workload? This session breaks down the decision factors into characteristics that let you decide and reason with them on even ground. We will examine the underlying...

Room: Indigo BayTrack: DataTags: Databases, ArchitectureFormat: General SessionLevel: Intermediate

CQRS with Event Sourcing using the “Critter Stack”

Presented by: Jeremy Miller
Time: Friday 11:00 AM - 12:00 PM

Do you have a system where you think would be a good fit for a CQRS architecture that also uses Event Sourcing for at least part of its persistence strategy? Are you intimidated by the potential complexity of that kind of approach? Fear not, using a combination of the Postgresql-backed Marten...

Room: Salon DTrack: ArchitectureTags: .NET, Databases, ArchitectureFormat: General SessionLevel: Intermediate
12:15 PM

Best of Both Worlds: Apache Pulsar and Apache Kafka

Presented by: Mary Grygleski
Time: Friday 12:15 PM - 1:15 PM

Which streaming technology is right for me? Do I need to use Apache Pulsar or do I choose Apache Kafka? That is mostly the question, but did you also knew that you can combine them?  In this session we will show how to use best of both worlds. Let's compare both architectures and Java Client...

Room: Salon ETrack: ArchitectureTags: Java, Backend, ArchitectureFormat: General SessionLevel: Introductory and overview
2:45 PM

The Micro-Frontend Playbook

Presented by: Marko Skugor
Time: Friday 2:45 PM - 3:45 PM

Micro-frontend architecture can provide a lot of great benefits to team autonomy and can play a crucial role in enabling technical and organizational scalability. At the same time, it also comes with a lot of potential pitfalls and anti-patterns to avoid. In this talk we'll learn how to apply Domain...

Room: OrangeTrack: Web/Front-EndTags: Javascript, Front End, Cloud, ArchitectureFormat: General SessionLevel: Intermediate
4:00 PM

From Legacy Monolith to Microservices via Event Storming

Presented by: Sarah Dutkiewicz
Time: Friday 4:00 PM - 5:00 PM

It can be overwhelming to take a legacy monolith and split it into microservices, especially if the code seems messy. However, conversations with techies and non-techies over policies and process through an exercise called Event Storming can help ease your migration from a monolith to microservices....

Room: Salon ATrack: ArchitectureTags: ArchitectureFormat: General SessionLevel: Introductory and overview

Unveil the Magic Without Hoodini: Transform Your Data Lake into a Fountain of Insights

Presented by: Nadine Farah
Time: Friday 4:00 PM - 5:00 PM

Many people have been using their data lake as vast reservoirs of data. Yet, there’s been a real struggle to harness the full potential of this data to power actionable insights. These data lakes often become stagnant because processing and analyzing them is hard. Hudi’s magic, however, brings a...

Room: Salon BTrack: DataTags: Databases, Architecture, System Design, PerformanceFormat: General SessionLevel: Introductory and overview