Tuesday

No Sessions

Wednesday

No Sessions

Thursday

9:15 AM

Not Your Mother's or Father's C#

Presented by: Brendan Enrick
Time: Thursday 9:15 AM - 10:15 AM

Gone are the days of verbose C# code and having only one way to solve a problem. In recent updates, C# has been adapting ideas from other programming paradigms, including functional programming. Some of the most recent ones have significantly changed the appearance of C# code. We'll see what you...

Room: CypressTrack: Programming PrinciplesTags: .NET, C#Format: General SessionLevel: Introductory and overview

MSBuild Unleashed: Breaking Free From Complex CI Pipelines

Presented by: Dan Siegel
Time: Thursday 9:15 AM - 10:15 AM

In today's rapidly evolving software landscape, Continuous Integration (CI) and Continuous Deployment (CD) are the linchpins of a streamlined and efficient development process. However, with myriad build platforms, technologies, and tooling, we often find ourselves entangled in complex build...

Room: Salon ATrack: DevOpsTags: .NET, Programming Principles, CI/CDFormat: General SessionLevel: Intermediate
10:30 AM

Async/Await from the Ground Up

Presented by: Stephen Cleary
Time: Thursday 10:30 AM - 11:30 AM

An async refresher course for developers who use async and await but want to really understand what's going on. This session is a "re-introduction" to async and await. It covers what the keywords mean and - just as importantly - what they *don't* mean. We'll be covering What You Need To Know,...

Room: CypressTrack: Programming PrinciplesTags: .NET, C#, Code QualityFormat: General SessionLevel: Intermediate

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

Modern Authentication and Authorization with OIDC, OAuth2, and Resource-based Permissions

Presented by: Eric Boyd
Time: Thursday 10:30 AM - 11:30 AM

Open web standards for authentication, authorization and delegation are especially important in our connected, integrated, and mobile world. There are expectations for single sign-on, integration with external partners, multi-tenancy, identity across application tiers, and authentication with...

Room: Salon ATrack: SecurityTags: .NET, Backend, SecurityFormat: General SessionLevel: Intermediate
1:00 PM

Rebuild your APIs Better, Stronger, Faster with Minimal APIs

Presented by: Jonathan "J." Tower
Time: Thursday 1:00 PM - 2:00 PM

If you currently have a controller-based API built in ASP.NET or ASP.NET Core, you might be eager to embark on the journey of transitioning it to a Minimal API approach, but not know the best process to make it happen. If so, this talk is tailor-made for you. We will delve into the advantages of...

Room: Indigo BayTrack: Programming PrinciplesTags: .NET, C#, BackendFormat: General SessionLevel: Intermediate

Dev Containers. What are they and why do you need them?

Presented by: Joseph Guadagno
Time: Thursday 1:00 PM - 2:00 PM

You're onboarding a new team member, or your team recently inherited a project that uses a different SDK/framework version than your current project uses. What do you do? Install the old SDK/framework versions? Can they even be installed at the same time on the same machine? What if I told you...

Room: NileTrack: DevOpsTags: .NET, DevOps, CI/CDFormat: General SessionLevel: Intermediate

Prime (re)Factoring

Presented by: Steve Smith
Time: Thursday 1:00 PM - 2:00 PM

You've probably heard of refactoring, but did you know the term originates from the process of factoring programming code? In mathematics, factoring is used to pull out factors of numbers through division, and importantly prime numbers have factors of only themselves and the identity constant,...

Room: OrangeTrack: Programming PrinciplesTags: .NET, C#, Object Oriented Programming, Programming Principles, Code QualityFormat: General SessionLevel: Introductory and overview
3:30 PM

Scaling your .NET app with Azure

Presented by: Callum Whyte
Time: Thursday 3:30 PM - 4:30 PM

You've made it big time, and your web app just can't handle the traffic... Where do you even start with scaling in Azure? This session will cover all there is to know about efficiently scaling an app on Azure; from scaling on App Service, to hosting in containers on AKS, and all the DevOps magic in...

Room: Salon GTrack: DevOpsTags: .NET, Cloud, DevOpsFormat: General SessionLevel: Introductory and overview

Friday

8:30 AM

State of Mobile Development

Presented by: Sam Basu
Time: Friday 8:30 AM - 9:30 AM

It’s 2024. Thankfully, developers have a lot of choice in how to build for mobile form factors. Mobile strategy can often be an afterthought – in reality, it needs to be driven by type of app, audience, platform reach, developer expertise & need for code reuse. Is Mobile web still an option?...

Room: Indigo BayTrack: MobileTags: .NET, JavascriptFormat: 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
11:00 AM

Async Masterclass

Presented by: Stephen Cleary
Time: Friday 11:00 AM - 12:00 PM

You've mastered async and await, but you find you need more powerful tools. This is how to build them. Tired of reading articles about async that just don't go deep enough? Here you go. This is the async masterclass. There are no breakfast food analogies here. Except bacon, because bacon is...

Room: Salon ATrack: Programming PrinciplesTags: .NET, C#, Programming PrinciplesFormat: General SessionLevel: Advanced

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

All your secrets are belong to us

Presented by: Callum Whyte
Time: Friday 12:15 PM - 1:15 PM

Admit it: we've all checked in an API key or password to a repo at some point... Oops... No one wants their secrets to accidentally leak, so this session is your essential refresher on secret management (and mismanagement!) for your applications and beyond! Let's explore the range of methods and...

Room: OrangeTrack: SecurityTags: .NET, Security, DevOpsFormat: General SessionLevel: Intermediate

.NET on AWS: Wait, you can do that?

Presented by: Brad Knowles
Time: Friday 12:15 PM - 1:15 PM

.NET on AWS: Wait, you can do that? That's right, .NET is a first-class citizen on AWS, meaning you can run any .NET workload in your organization. Are you currently using AWS and need help understanding the .NET landscape? Are you comparing cloud providers and looking to understand what AWS can...

Room: Salon ATrack: ArchitectureTags: .NET, C#, CloudFormat: General SessionLevel: Introductory and overview