Tuesday

No Sessions

Wednesday

No Sessions

Thursday

8:00 AM

Java Anti-Patterns

Presented by: Vitaliy Matiyash
Time: Thursday 8:00 AM - 9:00 AM

God object, spaghetti code, magic numbers? Anti-patterns are traps that developers encounter frequently due to lack of time, carelessness, inexperience, or pressure from project managers. Rushing can lead to big problems for applications in future, so you need to know how to avoid potential...

Room: Salon GTrack: Programming PrinciplesTags: Java, Backend, Programming PrinciplesFormat: General SessionLevel: Introductory and overview
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
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
11:45 AM

You’re Doing Exceptions Wrong

Presented by: Matt Burke
Time: Thursday 11:45 AM - 12:45 PM

Exceptions are powerful and valuable, but we frequently misuse them and destabilize our applications. We fear users seeing an error message, so we swallow the exception, creating troubleshooting nightmares down the road. We fail to check inputs and throw them at all, letting garbage into our...

Room: Indigo BayTrack: Programming PrinciplesTags: Backend, Object Oriented Programming, Code QualityFormat: General SessionLevel: Introductory and overview
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

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

Does Your API Need a REST? Check Out GraphQL

Presented by: Dan Vega
Time: Thursday 3:30 PM - 4:30 PM

GraphQL is a declarative query language that simplifies retrieving data from an application's back end. It provides a clear and comprehensive description of the data in your API, giving you the ability to request only what you need. This makes it easy to evolve APIs over time and enables powerful...

Room: Salon ATrack: Programming PrinciplesTags: Java, GraphQLFormat: General SessionLevel: Introductory and overview

Aerospace Engineering for Computer Scientists

Presented by: Ilyana Smith
Time: Thursday 3:30 PM - 4:30 PM

It IS rocket science! What does the International Space station have to do with basic programming principles? What considerations need to be taken into account when computers go to space? How does putting people in space make systems more complicated? In this session, you’ll get the answers to...

Room: Salon BTrack: Programming PrinciplesTags: Programming Principles, Project ManagementFormat: General SessionLevel: Introductory and overview

Friday

8:30 AM

Projectional Code Editors: Past, Present, and Future

Presented by: Jonathan Arnett
Time: Friday 8:30 AM - 9:30 AM

Have you ever felt that your humble text editor could be—should be—so much more? After all, the software we're writing is much more than text! Programming languages mandate rigid structures for textual code, for instance that (in some languages) the conditional for an "if" must be in...

Room: Salon ETrack: Programming PrinciplesTags: UI/UX, Code QualityFormat: General SessionLevel: Intermediate
9:45 AM

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
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
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

You Are the Pilot: Getting Better with Code Gen AI Tools

Presented by: Sean Wedig
Time: Friday 4:00 PM - 5:00 PM

You might have asked yourself - "Self, what's all this hubub about AI tools for programmers? Am I going to lose my job?" and you might have answered, "I don't know, self. I haven't even really played with any AI code generation tools. There are so many tools, I wouldn't even know where to...

Room: NileTrack: Programming PrinciplesTags: Velocity, Machine Learning, Code QualityFormat: General SessionLevel: Introductory and overview