Tuesday

No Sessions

Wednesday

8:00 AM

Event Storming Unleashed: Building Bridges for Effective Communication

Presented by: Sarah Dutkiewicz
Time: Wednesday 8:00 AM - 12:00 PM

A lot of problems that we have in software development comes down to communication issues - gathering requirements, understanding processes, reporting issues, and making sure everybody involved is on the same page. This Event Storming workshop is a dynamic and interactive session designed to...

Room: OrangeTrack: Teams & CollaborationTags: Agile, Teams, System DesignFormat: PreCompilerLevel: Introductory and overview

Thursday

8:00 AM

Software Test Automation ‚Äčand System Design

Presented by: Kate Jordan
Time: Thursday 8:00 AM - 9:00 AM

In this session I'll share with you one of the most valuable lessons that I've learned as a software engineer. From what I've seen it's not something that colleges or courses have nearly enough emphasis on for the impact that it has. Both on your skills, and the health of the systems you work...

Room: Indigo BayTrack: Software QualityTags: Programming Principles, System Design, Code QualityFormat: General SessionLevel: Intermediate

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
9:15 AM

Managing a Rewrite Without Getting Stuck in the Tar Pit

Presented by: Randall Koutnik
Time: Thursday 9:15 AM - 10:15 AM

It's a tale as old as time: our startup had finally found success and was ready to scale up, but we'd taken on a huge amount of technical debt to get there. In particular, our frontend still relied on an old templating system! How could we rewrite our frontend to take advantage of modern tooling...

Room: NileTrack: Teams & CollaborationTags: Soft Skills, Teams, System DesignFormat: General SessionLevel: Introductory and overview
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
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
4:45 PM

From Good to Great: How API Gateways Can Level-Up Your Software

Presented by: Daniel Mikusa
Time: Thursday 4:45 PM - 5:45 PM

In today's digital landscape, APIs are an essential part of most software offerings, and from financial services to a Chuck Norris joke generator, all APIs have similar pain points. - How do we secure our APIs? - How do we monitor our APIs? - How do we authenticate and authorize users? - How can we...

Room: CypressTrack: ArchitectureTags: Java, Cloud, System DesignFormat: 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

Platform as a Product: the future of Agile and DevOps

Presented by: Brad Nelson
Time: Friday 9:45 AM - 10:45 AM

Cross-functional teams and full-stack developers have become the expectation in today's highest-performing teams. However, as technology needs become more complex and solutions begin to scale, it becomes increasingly difficult for software engineers to balance expertise across all layers of the...

Room: Indigo BayTrack: DevOpsTags: Programming Principles, DevOps, Agile, System DesignFormat: General SessionLevel: Intermediate

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

Building Event Driven User Interfaces

Presented by: Sam Ferree
Time: Friday 9:45 AM - 10:45 AM

In the realm of modern software development, creating dynamic and responsive user interfaces is essential to delivering engaging user experiences. Event-driven architectures have emerged as a powerful paradigm to achieve this goal. In this enlightening talk, we will delve into the world of...

Room: Salon ATrack: Web/Front-EndTags: Front End, Object Oriented Programming, System DesignFormat: 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
2:45 PM

Protocol Design

Presented by: Stephen Cleary
Time: Friday 2:45 PM - 3:45 PM

This language-agnostic talk will examine the design of application protocols, with a focus on TCP/IP. This talk is part history and part practical implementation. If you have a need to design a TCP/IP protocol, then this talk will cover everything you need. Most bugs in TCP/IP applications are...

Room: Salon HTrack: Programming PrinciplesTags: System DesignFormat: General SessionLevel: Introductory and overview
4:00 PM

From Theory to Practice: Building Reliable Event-Driven Services

Presented by: Hugh McKee
Time: Friday 4:00 PM - 5:00 PM

This talk will delve into the key concepts and strategies for creating effective and efficient event-driven services. We will cover the following topics: Handling at-least-once message delivery: This section will discuss the importance of ensuring that messages are delivered at least once, even in...

Room: Indigo BayTrack: ArchitectureTags: Java, Backend, Programming Principles, System DesignFormat: General SessionLevel: Intermediate

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