Tuesday

1:00 PM

Building a Web Component Library

Presented by: Burton Smith
Time: Tuesday 1:00 PM - 5:00 PM

Web components have been around for a long time (since HTML 5 became a thing), but there hasn’t been a lot of attention given to them until recently. Now, tech organizations worldwide are adopting them and finding tremendous efficiency in creating framework-agnostic reusable components to build...

Room: OrangeTrack: Web/Front-EndTags: Javascript, Front End, CSS, UI/UX, Code QualityFormat: PreCompilerLevel: Introductory and overview

Wednesday

8:00 AM

Designing Effective Unit Tests for React

Presented by: Bob Fornal
Time: Wednesday 8:00 AM - 12:00 PM

React has great tools for Unit Testing component. This doesn’t mean testing is easy. There are still a lot of questions you have to figure out for yourself: How many component tests should you write vs end-to-end tests or lower-level unit tests? How can you test a certain line of code that is...

Room: Salon HTrack: Software QualityTags: React, Front End, Code QualityFormat: PreCompilerLevel: Introductory and overview
1:00 PM

Mastering TDD in Legacy Code

Presented by: Brendan Enrick, Steve Smith
Time: Wednesday 1:00 PM - 5:00 PM

In this hands-on workshop, you’ll learn to effectively use the principles and practices of increasing the reliability and maintainability of your code through testing and pair programming. You’ll sharpen your skills working with your peers on programming exercises designed to instill good...

Room: Salon ATrack: Software QualityTags: Code QualityFormat: PreCompilerLevel: Intermediate

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

Black Box Techniques for Unit Tests

Presented by: Jenna Charlton
Time: Thursday 9:15 AM - 10:15 AM

One of the greatest strengths of modern development is the ease of unit testing for many languages and frameworks. Obviously, you’re testing your code–but are you thoroughly testing it? Are you testing the right things? Is there more you could be testing? Enter black box testing techniques....

Room: Salon HTrack: Software QualityTags: Programming Principles, Code Quality, QA TestingFormat: 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

Isn't it time to ditch code coverage? Focus on high value tests instead

Presented by: Steve Odell
Time: Thursday 10:30 AM - 11:30 AM

As engineers, it can be difficult to use metrics to measure the value of what we do. One metric that typically falls short is code coverage because it can’t measure how WELL our application has been tested, rather, it focuses how MUCH has been tested. What if we ditched this traditional metric and...

Room: NileTrack: Software QualityTags: Automation, Code Quality, QA TestingFormat: 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

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

self.clone();//Passing On Your Passion

Presented by: Barry Tarlton
Time: Thursday 1:00 PM - 2:00 PM

When you've written your last line of code, what will be your legacy? Will your applications live on forever in Production or at least until AI takes over? Will your Github repos be archived and immortalized? Will there be patterns or tools named after you? For most of us, there probably won't...

Room: Salon HTrack: Career DevelopmentTags: Career Development, Soft Skills, Code QualityFormat: 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

Friday

8:30 AM

Writing Secure APIs - A Look at the OWASP 2023 API Top 10 List

Presented by: Darylynn Ross
Time: Friday 8:30 AM - 9:30 AM

OWASP published a new API top 10 list in July of 2023. There are some old favorites hanging around (I'm looking at you Authentication) and some new comers like Server Side Request Forgery and Unrestricted Access to Sensitive Business Flows. This session will cover the new top 10 list and take a...

Room: NileTrack: SecurityTags: Programming Principles, Security, Code QualityFormat: General SessionLevel: Introductory and overview

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

Testing Mayhem on the Basic Side

Presented by: Jeanette Kalb
Time: Friday 8:30 AM - 9:30 AM

Did you ever wonder how a QA managed to find something you didn’t on that last feature card? Hint, it’s not magic, but there is a lot of mayhem. Your quality professionals need your help to help them test better. This talk will provide insight as to what your QA person goes through when deciding...

Room: Salon BTrack: Software QualityTags: Programming Principles, Code Quality, QA TestingFormat: General SessionLevel: Introductory and overview
9:45 AM

Imposters! faking endpoints over-the-wire

Presented by: Bob Crowley
Time: Friday 9:45 AM - 10:45 AM

Faking remote services can be very useful. Maybe you need to build against a service that isn't created yet, mock micro service dependencies, test against an API that only has a production instance or validate a large number of data scenarios that would be difficult to achieve with a "real"...

Room: NileTrack: Software QualityTags: Backend, Code Quality, QA TestingFormat: 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
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

Testing Enterprise Software Rewrites

Presented by: Umang Nahata
Time: Friday 4:00 PM - 5:00 PM

Most enterprises have legacy code that needs to be rewritten to keep pace with industry standards, new technologies, and modern infrastructures. The primary purpose of a software rewrite is to ensure functional compatibility before retiring the current system. However, replacing large, complex,...

Room: Salon ETrack: Software QualityTags: Backend, Code Quality, QA TestingFormat: General SessionLevel: Introductory and overview