Tuesday

No Sessions

Wednesday

No Sessions

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

Neurodiverse Coders: Unlocking ADHD & Autism Superpowers in Tech

Presented by: Gaines Kergosien
Time: Thursday 8:00 AM - 9:00 AM

In the tech world, diversity isn't just about backgrounds; it's also about how we think and process information. ADHD and Autism Spectrum Disorder (ASD) are often pigeonholed as challenges. However, what if we told you that these so-called 'disorders' house superpowers that can be game-changers in...

Room: OrangeTrack: Career DevelopmentTags: Career Development, Diversity/Equity/Inclusion, Soft Skills, Leadership, TeamsFormat: General SessionLevel: Intermediate

How to Ground LLM's to minimize hallucinations

Presented by: Cameron Vetter
Time: Thursday 8:00 AM - 9:00 AM

Language models have made significant advancements in recent years, with models like GPT-3 and GPT-4 showcasing impressive capabilities. However, one persistent challenge that arises with these models is the occurrence of hallucinations—instances where the model generates plausible-sounding but...

Room: Salon ETrack: DataTags: Python, Machine Learning, Data ScienceFormat: General SessionLevel: Intermediate
9:15 AM

Don’t Build a Distributed Monolith: How to Avoid Doing Microservices Completely Wrong

Presented by: Jonathan "J." Tower
Time: Thursday 9:15 AM - 10:15 AM

As a consultant, I get to see many systems built by many different developers. Recently, I’ve seen an uptick in the number of systems built with a microservice architecture in mind, but those systems often include a lot of the same mistakes that keep them from working well. In this session...

Room: Kilamanjaro BallroomTrack: ArchitectureTags: ArchitectureFormat: General SessionLevel: Intermediate

Finding your Motivation and Managing When you aren’t Motivated

Presented by: Jennie Ocken
Time: Thursday 9:15 AM - 10:15 AM

We are all motivated by different things. But most companies and managers only know how to encourage employees through money or title. By better understanding what motivates each of us, we can be better teammates, managers, and people. In this session we will learn: • The 8 different kinds of...

Room: Indigo BayTrack: Career DevelopmentTags: Career Development, Diversity/Equity/Inclusion, Soft Skills, Leadership, Remote WorkFormat: General SessionLevel: Intermediate

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

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

Building a Full-Stack Application with Flutter and Dart

Presented by: Ryan Edge
Time: Thursday 9:15 AM - 10:15 AM

For the past few years, Flutter has revolutionized mobile app development by allowing developers to build high-performance, cross-platform applications with ease. However, building a full-stack application can be a challenging task because we often find ourselves juggling multiple technologies to...

Room: Salon ETrack: MobileTags: Front End, Mobile, CloudFormat: 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

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

Effective Observability for MLOps Pipelines at Scale

Presented by: Shivay Lamba
Time: Thursday 10:30 AM - 11:30 AM

As the world embraces AI and adopts machine learning, many companies and moving towards using models like the LLMs. Deployment and monitoring such large models are extremely important. As traditional DevOps Engineers, you might not be exposed to working with machine learning systems. This is where...

Room: Salon DTrack: DataTags: Cloud, DevOps, Machine Learning, Data Science, ObservabilityFormat: General SessionLevel: Intermediate

Hybrid Agility: Working Conditions for Team Success

Presented by: Carina Silfverduk
Time: Thursday 10:30 AM - 11:30 AM

Is your team or workplace working hybrid, with some in the office and some remote on any given day? Working hybrid is by far harder than either remote or on-site work because you need to accommodate both and then do something extra to keep everyone in the room and everyone on the call engaged. How...

Room: Salon ETrack: Teams & CollaborationTags: Soft Skills, Agile, TeamsFormat: General SessionLevel: Intermediate
11:45 AM

A Contrarian View of Software Architecture

Presented by: Jeremy Miller
Time: Thursday 11:45 AM - 12:45 PM

I’ve spent an inordinate amount of time the past half decade across multiple companies working with very large, long running enterprise systems. Especially in long running, constantly changing systems, you want the code to be easy to understand, relatively painless to extend or modify, and when...

Room: CypressTrack: ArchitectureTags: Programming Principles, ArchitectureFormat: General SessionLevel: Intermediate

GPT Embeddings - Not Magic, Just Math

Presented by: Barry Stahl
Time: Thursday 11:45 AM - 12:45 PM

Embeddings may be the least understood yet most valuable tool to come out of the world of Large Language Models. In this presentation, we will unravel the mystery of embeddings, emphasizing their mathematical foundations and practical applications. We'll start by discussing what embeddings are,...

Room: Salon BTrack: DataTags: C#, Machine Learning, Data ScienceFormat: 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

Modern Web Automation Testing

Presented by: Bob Crowley
Time: Thursday 1:00 PM - 2:00 PM

Modern web applications require a modern tool for automated testing. Something that can handle both mobile and desktop, async operations, shadow DOM, all the browsers and much more. Enter Playwright. Designed for all the needs of modern applications, Playwright checks all the boxes. This session...

Room: Salon ATrack: Software QualityTags: Front End, Automation, QA TestingFormat: General SessionLevel: Intermediate

Debugging JavaScript and React

Presented by: Mark Erikson
Time: Thursday 1:00 PM - 2:00 PM

## Description / Abstract As developers, we spend much of our time debugging apps - often code we didn't even write. Sadly, few developers have ever been taught how to approach debugging - it's something most of us learn through painful experience. The good news is you _can_ learn how to debug...

Room: Salon DTrack: Web/Front-EndTags: Javascript, React, Front EndFormat: General SessionLevel: Intermediate

Services Reloaded: Increased Throughput with Project Loom Virtual Threads

Presented by: Kito Mann
Time: Thursday 1:00 PM - 2:00 PM

The promise of Reactive programming models is that you can free yourself from the constraints of handling one request for each thread and realize increased throughput as a result. The only problem is that it requires a completely different set of APIs that many developers find counter-intuitive....

Room: Salon GTrack: ArchitectureTags: Java, BackendFormat: General SessionLevel: Intermediate
3:30 PM

Bad Tendencies in Leaders and How to Manage Up

Presented by: Benjamin Dobrowolski
Time: Thursday 3:30 PM - 4:30 PM

No matter where you’ve worked, we’ve all had those bosses that we’ve not gotten along with. But what if you did more than complain about it? What if you could “manage” your boss, to not only your benefit, but to your co-workers benefit as well? Take back control and learn to manage up...

Room: CypressTrack: Teams & CollaborationTags: Soft Skills, Leadership, Project ManagementFormat: General SessionLevel: Intermediate

Stop using JavaScript for that: moving features from JS to CSS and HTML

Presented by: Kilian Valkhof
Time: Thursday 3:30 PM - 4:30 PM

If you've been building websites for a while you "know" that some things require JS and that's just the way it is. Turns out, spec writers and browser makers both are working hard to find common JS patterns and implementing them in CSS and HTML. Things like accordions, auto-suggest, smooth...

Room: NileTrack: Design (UI/UX/CSS/a11y)Tags: Javascript, Front End, AccessibilityFormat: General SessionLevel: Intermediate

One app, multiple platforms: How Cross Platform Actually Works

Presented by: Mike Hartington
Time: Thursday 3:30 PM - 4:30 PM

Today's solutions for cross platform development all aim to provide developers a better way to build their apps. Build your app in a certain way, and you can ship it to multiple targets (iOS, Android, Web, etc.) with ease. But not all solutions are created equal, and it can be difficult to...

Room: OrangeTrack: MobileTags: Javascript, MobileFormat: General SessionLevel: Intermediate

Take Back Control - Introducing Veilid

Presented by: Bill Sempf
Time: Thursday 3:30 PM - 4:30 PM

Veilid is an open-source, peer-to-peer, mobile-first, networked application framework. It allows developers to build private, distributed, scalable social applications containing and sharing a user's personal content without data collection by third parties being of concern. Built by Cult of the...

Room: Salon ETrack: ArchitectureTags: Python, Rust, Mobile, Security, CloudFormat: General SessionLevel: Intermediate

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

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

The Vue.js Power Hour: Building a Dynamic Frontend in < 60 Minutes

Presented by: Tori Brenneison
Time: Friday 8:30 AM - 9:30 AM

Are you a beginner developer who is curious about JS component frameworks? A backend developer who wants to add a frontend skill to their toolbox? A data analyst looking for a quick way to build views? Have we got a deal for you! Vue.js is a relatively straightforward and increasingly popular...

Room: Salon ATrack: Web/Front-EndTags: Javascript, Front EndFormat: General SessionLevel: Intermediate

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

How to answer "When will it be done?" using probabilistic forecasting.

Presented by: Chris Shinkle
Time: Friday 9:45 AM - 10:45 AM

"When will it be done?" How often have you been asked that question? That question strikes fear or frustration in most people. It often results in throwing up your hands in frustration or tossing out a wild guess. Surely there's a better way? Forget story points, t-shirt sizing, historical...

Room: CypressTrack: Teams & CollaborationTags: Agile, Project Management, VelocityFormat: General SessionLevel: Intermediate

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

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

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

Understanding CSS Layout: the concepts underlying your (least) favorite language.

Presented by: Kilian Valkhof
Time: Friday 9:45 AM - 10:45 AM

Have you ever felt perplexed by CSS, struggling to understand why the browser put the element where it did, and why it didn’t just follow the clear instructions you wrote? Do you think CSS is hard to work with? By getting a better understanding of the concepts that underlie the language, you’ll...

Room: Salon DTrack: Design (UI/UX/CSS/a11y)Tags: Front End, CSSFormat: General SessionLevel: Intermediate

Building Better Teams Through Play

Presented by: Jenny Bramble
Time: Friday 9:45 AM - 10:45 AM

Teams work incredibly hard to drive software and processes forward. Sometimes we neglect the emotional side of our hard work, leaving teams brittle and less able to adapt and bend. How do we release tension and form the strong bonds that a good team needs to be successful as well as honing some of...

Room: Salon ETrack: Teams & CollaborationTags: Soft Skills, LeadershipFormat: 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

Alexa on the Go: Building Location Aware Voice Experiences for Alexa

Presented by: Craig Walls
Time: Friday 9:45 AM - 10:45 AM

When you think of voice assistants like Amazon Alexa, you probably are thinking of a device on a shelf or a desk somewhere, tethered to a power outlet. But what if you could take Alexa with you wherever you go? Several devices allow for mobile Alexa, including Echo Auto, Echo Frames, Echo Buds,...

Room: Salon GTrack: MobileTags: Javascript, Front End, MobileFormat: General SessionLevel: Intermediate
11:00 AM

The Right Database for the Right Job

Presented by: Nuri Halperin
Time: Friday 11:00 AM - 12:00 PM

Picking a database for your particular purpose is hard, and vendors don't make it easier. So which database is right for which workload? This session breaks down the decision factors into characteristics that let you decide and reason with them on even ground. We will examine the underlying...

Room: Indigo BayTrack: DataTags: Databases, ArchitectureFormat: General SessionLevel: Intermediate

Beyond Request/Response: Why and how we should change the way we build web applications

Presented by: Chris Nelson
Time: Friday 11:00 AM - 12:00 PM

As web developers, we’ve been building web applications the same way for 25 years. We send a request, and we receive a response. We might get a whole page back, or we might get some data to render, but the common thread for almost every web application that has ever been built is the...

Room: OrangeTrack: Web/Front-EndTags: Javascript, Front End, Functional ProgrammingFormat: General SessionLevel: Intermediate

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

Watch this! Building a Health app for Wear OS

Presented by: Sierra OBryan
Time: Friday 11:00 AM - 12:00 PM

One of the most popular answers for a favorite smart watch feature is to monitor your health. From steps to heart rate to exercise to sleep, smart watches do it all and with Jetpack Compose and Health Services, we can build our own app for Wear OS! During this talk, we’ll explore building for...

Room: Salon BTrack: MobileTags: Hardware, MobileFormat: General SessionLevel: Intermediate
12:15 PM

Blood, Sweat, & Code Reviews

Presented by: David Giard
Time: Friday 12:15 PM - 1:15 PM

Code Reviews can sometime be painful and time-consuming, but they are an important part of delivering quality software. A Code Review provides an opportunity to share knowledge, improve code and catch potential problems before they go to production. This can be a positive experience or a negative...

Room: CypressTrack: Software QualityTags: Programming Principles, DevOps, AgileFormat: General SessionLevel: Intermediate

Fresh Hot CSS Features!

Presented by: Alex Riviere
Time: Friday 12:15 PM - 1:15 PM

Do you use a CSS Framework like bootstrap? Or maybe you've been coasting for a few years on your current knowledge of CSS. You've maybe seen something called CSS Grid and wondered what it was... Maybe you have never seen `var()` used before. Let's discuss the latest newest hottest big features in...

Room: NileTrack: Design (UI/UX/CSS/a11y)Tags: Front End, CSS, UI/UXFormat: General SessionLevel: Intermediate

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
2:45 PM

The Micro-Frontend Playbook

Presented by: Marko Skugor
Time: Friday 2:45 PM - 3:45 PM

Micro-frontend architecture can provide a lot of great benefits to team autonomy and can play a crucial role in enabling technical and organizational scalability. At the same time, it also comes with a lot of potential pitfalls and anti-patterns to avoid. In this talk we'll learn how to apply Domain...

Room: OrangeTrack: Web/Front-EndTags: Javascript, Front End, Cloud, ArchitectureFormat: General SessionLevel: Intermediate
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

Agile Pitfalls and How to Parry Them: A Practical Guide

Presented by: Arin Heinselman
Time: Friday 4:00 PM - 5:00 PM

Hey there, fellow conference-goers! 🎉 Imagine this: you've embarked on the Agile journey, armed with good intentions and high spirits, only to find yourself tangled in a web of chaos and confusion. Fear not, because our talk is here to save the day! 🦸‍♂️ Join us for a rollercoaster...

Room: OrangeTrack: Teams & CollaborationTags: Soft Skills, Leadership, AgileFormat: General SessionLevel: Intermediate

What's that smell? Monitoring air quality with Python, Raspberry Pi, and Redis

Presented by: Justin Castilla
Time: Friday 4:00 PM - 5:00 PM

With a little wiring and a few lines of code, one can create your own hyper-local air sensor system to send alerts, activate smart-windows, and gather data. A sensor measures air particulate density and sends the values to a Raspberry Pi compute unit. The Raspberry Pi then sends the data along with...

Room: Salon HTrack: Hardware/IoTTags: Python, IoT, Cloud, Data Science, DatabasesFormat: General SessionLevel: Intermediate