Async/Await from the Ground Up

Presented by: Stephen Cleary

An async refresher course for developers who use async and await but want to really understand what's going on. ...

Tags: .NET, C#, Code QualityFormat: General SessionLevel: Intermediate

Black Box Techniques for Unit Tests

Presented by: Jenny Bramble

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

Tags: Programming Principles, Code Quality, QA TestingFormat: General SessionLevel: Intermediate

Building a Web Component Library

Presented by: Burton Smith

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

Tags: Javascript, Front End, CSS, UI/UX, Code QualityFormat: PreCompilerLevel: Introductory and overview

Clean Architecture with ASP.NET Core 8

Presented by: Steve Smith

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

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

Deliver what the client wants instead of what they ask for! Getting them to tell you what they need.

Presented by: Angel Thomas

As software developers, our goal is to typically write software that meets the needs of our clients, whether they be internal or external clients. Often times, when we miss the mark, it is due to a communication breakdown between the developer team and the client team on what the actual requirements...

Tags: Soft Skills, Teams, Code QualityFormat: General SessionLevel: Introductory and overview

Designing Effective Unit Tests for React

Presented by: Bob Fornal

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

Tags: React, Front End, Code QualityFormat: PreCompilerLevel: Introductory and overview

How I use VS Code to implement local CICD

Presented by: John Petersen

It's simplicity, transparency, & clarity make VS Code an effective code editor. One of VS Code's greatest features is the seamless way the terminal/CLI experience meshes with an intellisense-enabled code editor. In this session, I'll demonstrate how I use VS Code as a CI/CD-based development...

Tags: DevOps, CI/CD, Code QualityFormat: General SessionLevel: Introductory and overview

Imposters! faking endpoints over-the-wire

Presented by: Bob Crowley

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

Tags: Backend, Code Quality, QA TestingFormat: General SessionLevel: Intermediate

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

Presented by: Stephen Odell

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

Tags: Automation, Code Quality, QA TestingFormat: General SessionLevel: Intermediate

Mastering TDD in Legacy Code

Presented by: Brendan Enrick, Steve Smith

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

Tags: Code QualityFormat: PreCompilerLevel: Intermediate

Out of Control: How to Rescue a Struggling Software Project

Presented by: Cory House

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

Tags: Architecture, System Design, Code QualityFormat: General SessionLevel: Introductory and overview

Prime (re)Factoring

Presented by: Steve Smith

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, 1. ...

Tags: .NET, C#, Object Oriented Programming, Programming Principles, Code QualityFormat: General SessionLevel: Introductory and overview

Projectional Code Editors: Past, Present, and Future

Presented by: Jonathan Arnett

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

Tags: UI/UX, Code QualityFormat: General SessionLevel: Intermediate

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

Presented by: Barry Tarlton

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

Tags: Career Development, Soft Skills, Code QualityFormat: General SessionLevel: Introductory and overview

Software Test Automation ​and System Design

Presented by: Kate Jordan

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

Tags: Programming Principles, System Design, Code QualityFormat: General SessionLevel: Intermediate

Technical Debt Is Not Free

Presented by: Chad Green

So many software development teams rack up technical debt and do not even realize it. But even if you are a more mature team and recognize and maybe even document technical debt, what good is it if you do not take action. Just like in other parts of our life, just because we can accumulate bunches...

Tags: Code QualityFormat: General SessionLevel: Introductory and overview

Testing Enterprise Software Rewrites

Presented by: Umang Nahata

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

Tags: Backend, Code Quality, QA TestingFormat: General SessionLevel: Introductory and overview

Testing Mayhem on the Basic Side

Presented by: Jeanette Kalb

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

Tags: Programming Principles, Code Quality, QA TestingFormat: General SessionLevel: Introductory and overview

The Five Code Reviewers You Meet At Work

Presented by: Aaron Salvo

When you review code at work do you simply trust your peers have written bug-free code? Does a co-worker infuriate you when they block your pull request over indention? Are you a freshman engineer who worries they'll get an atomic wedgie by the coffee maker if you point out a syntax error in a...

Tags: Career Development, Soft Skills, Code QualityFormat: General SessionLevel: Intermediate

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

Presented by: Darylynn Ross

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

Tags: Programming Principles, Security, Code QualityFormat: General SessionLevel: Introductory and overview

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

Presented by: Sean Wedig

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

Tags: Velocity, Machine Learning, Code QualityFormat: General SessionLevel: Introductory and overview

You’re Doing Exceptions Wrong

Presented by: Matt Burke

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

Tags: Backend, Object Oriented Programming, Code QualityFormat: General SessionLevel: Introductory and overview