A Contrarian View of Software Architecture

Presented by: Jeremy Miller

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

Tags: Programming Principles, ArchitectureFormat: General SessionLevel: Intermediate

Agile Pitfalls and How to Parry Them: A Practical Guide

Presented by: Arin Heinselman

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! 🦸‍♂️ ...

Tags: Soft Skills, Leadership, AgileFormat: General SessionLevel: Intermediate

AI-Enabled Privacy: Leveraging Artificial Intelligence to Protect Personal Data in Models

Presented by: Jean Seely

In this session, we'll explore how AI can identify and safeguard personal data in the modeling process. As advocates for privacy, you're navigating the complex intersection of technology and regulation, and this talk aims to make that journey easier. We'll dive into the legal frameworks that govern...

Tags: Security, Project Management, Machine LearningFormat: General SessionLevel: Intermediate

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

Presented by: Craig Walls

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

Tags: Javascript, Front End, MobileFormat: General SessionLevel: Intermediate

All your secrets are belong to us

Presented by: Callum Whyte

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

Tags: .NET, Security, DevOpsFormat: General SessionLevel: Intermediate

Application Architecture Patterns

Presented by: Joseph Guadagno

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

Tags: Programming Principles, Architecture, System DesignFormat: General SessionLevel: Intermediate

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

Bad Tendencies in Leaders and How to Manage Up

Presented by: Benjamin Dobrowolski

No matter where you’ve worked, we’ve all had those bosses that we’ve not gotten along with. ...

Tags: Soft Skills, Leadership, Project ManagementFormat: General SessionLevel: Intermediate

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

Presented by: Chris Nelson

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

Tags: Javascript, Front End, Functional ProgrammingFormat: General SessionLevel: Intermediate

Binary Analysis - Learn to break stuff

Presented by: Jason Slagle, John Hammond

In this Pre-Compiler, we'll take a dive into the world of reverse engineering. ...

Tags: Hardware, SecurityFormat: PreCompilerLevel: 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

Build your own AI sidekick with Azure AI, Semantic Kernel, and .NET 8

Presented by: Matt Eland, Samuel Gomez

Are you a budding super hero or super villain* but you feel like you're lacking that AI companion to help you reach that next level? Have you ever wanted to see what AI can do to help your daily life? Do you have an interesting application that would just be so much better with a little artificial...

Tags: C#, Cloud, Data ScienceFormat: PreCompilerLevel: Intermediate

Building a Full-Stack Application with Flutter and Dart

Presented by: Ryan Edge

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

Tags: Front End, Mobile, CloudFormat: General SessionLevel: Intermediate

Building Applications on Top of Large Language Models (LLMs) (Part 1)

Presented by: Nilanjan Raychaudhuri, BJ Allmon

It’s no secret that a new generation of powerful and highly-scaled language models is taking the world by storm. Large language models are becoming a powerful new primitive for building software. ...

Tags: Python, Programming Principles, Machine LearningFormat: PreCompilerLevel: Intermediate

Building Applications on Top of Large Language Models (LLMs) (Part 2)

Presented by: Nilanjan Raychaudhuri, BJ Allmon

It’s no secret that a new generation of powerful and highly-scaled language models is taking the world by storm. Large language models are becoming a powerful new primitive for building software. ...

Tags: Python, Programming Principles, Machine LearningFormat: PreCompilerLevel: Intermediate

Building Better Teams Through Play

Presented by: Jenny Bramble

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

Tags: Soft Skills, LeadershipFormat: General SessionLevel: Intermediate

Building Event Driven User Interfaces

Presented by: Sam Ferree

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

Tags: Front End, Object Oriented Programming, System DesignFormat: General SessionLevel: Intermediate

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

Convert batch data into streaming with Python

Presented by: Bobur Umurzokov

The advent of real-time data processing has redefined how businesses operate, but the journey to real-time has its challenges. Many organizations find themselves juggling separate workflows and teams for batch and streaming data processing, each presenting unique difficulties. Batch processing,...

Tags: Backend, Data Science, DatabasesFormat: General SessionLevel: Intermediate

CQRS with Event Sourcing using the “Critter Stack”

Presented by: Jeremy Miller

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

Tags: .NET, Databases, ArchitectureFormat: General SessionLevel: Intermediate

Debugging JavaScript and React

Presented by: Mark Erikson

## Description / Abstract ...

Tags: Javascript, React, Front EndFormat: General SessionLevel: Intermediate

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

Presented by: Joseph Guadagno

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

Tags: .NET, DevOps, CI/CDFormat: General SessionLevel: Intermediate

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

Presented by: Jonathan "J." Tower

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

Tags: ArchitectureFormat: General SessionLevel: Intermediate

Dude, Who Broke My Linux Server?

Presented by: Ryan Price, Justin DeBo

Linux-based operating systems are at the very core of the magic of computing technology -- and have been that core for decades. But software developers, data engineers, cloud engineers, and so many other disciplines often have no idea how to work effectively within those operating systems. What...

Tags: Backend, Programming Principles, DevOpsFormat: PreCompilerLevel: Intermediate

Effective Observability for MLOps Pipelines at Scale

Presented by: Shivay Lamba

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

Tags: Cloud, DevOps, Machine Learning, Data Science, ObservabilityFormat: General SessionLevel: Intermediate

Expect the Unexpected: Handling Exceptions in Enterprise Applications

Presented by: Kito Mann

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

Tags: Java, Programming Principles, Architecture, System DesignFormat: General SessionLevel: Intermediate

Finding your Motivation and Managing When you aren’t Motivated

Presented by: Jennie Ocken

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

Tags: Career Development, Diversity/Equity/Inclusion, Soft Skills, Leadership, Remote WorkFormat: General SessionLevel: Intermediate

Fresh Hot CSS Features!

Presented by: Alex Riviere

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

Tags: Front End, CSS, UI/UXFormat: General SessionLevel: Intermediate

From Theory to Practice: Building Reliable Event-Driven Services

Presented by: Hugh McKee

This talk will delve into the key concepts and strategies for creating effective and efficient event-driven services. We will cover the following topics: ...

Tags: Java, Backend, Programming Principles, System DesignFormat: General SessionLevel: Intermediate

git gone wild: how to recover from common git mistakes.

Presented by: Magnus Stahre

"Oh no! I just typed something into git and now my work is gone! Ahh!" ...

Tags: Programming PrinciplesFormat: General SessionLevel: Intermediate

GPT Embeddings - Not Magic, Just Math

Presented by: Barry Stahl

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

Tags: C#, Machine Learning, Data ScienceFormat: General SessionLevel: Intermediate

Hands on with OpenTelemetry

Presented by: Nočnica Mellifera

OpenTelemetry is the 'wave of the future' for observability, but is it ready for your team? Yes! In a few hours we'll instrument a demo application and see what OpenTelmetry can do. We'll also cover basic data filtering and compression, and how to see our first visualizations ...

Tags: DevOps, Observability, QA TestingFormat: PreCompilerLevel: Intermediate

Harnessing the Power of Asynchronous Messaging and Eventing for Distributed Systems at Scale

Presented by: Eric Boyd

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

Tags: Architecture, System Design, PerformanceFormat: General SessionLevel: Intermediate

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

Presented by: Chris Shinkle

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

Tags: Agile, Project Management, VelocityFormat: General SessionLevel: Intermediate

How to Ground LLM's to minimize hallucinations

Presented by: Cameron Vetter

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

Tags: Python, Machine Learning, Data ScienceFormat: General SessionLevel: Intermediate

Hybrid Agility: Working Conditions for Team Success

Presented by: Carina Silfverduk

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

Tags: Soft Skills, Agile, TeamsFormat: General SessionLevel: Intermediate

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

Mad Scientist Lab With Raspberry Pi Pico Microcontrollers

Presented by: Barry Tarlton, Brendan Barth

Carefully plugging the wires into the bread board, doubt seeps in, “should the red wire go to ground or the white one?” LEDs all in place, Python code properly indented (spaces, not tabs), prayers go up for the magic smoke to not escape as the electronics are powered on. In an instant, worries...

Tags: Python, Hardware, IoTFormat: PreCompilerLevel: Intermediate

Mastering Solutions Architecture with Design Katas (Part 1)

Presented by: Gaines Kergosien, Eric Potter

TLDR: Architects get relatively few opportunities to practice their craft, so we will group up to formulate architectural visions for "real world" business problems. Attendees will then evaluate each group's solution to gain insight into the pros and cons of different approaches. ...

Tags: Agile, Project Management, TeamsFormat: PreCompilerLevel: Intermediate

Mastering Solutions Architecture with Design Katas (Part 2)

Presented by: Gaines Kergosien, Eric Potter

TLDR: Architects get relatively few opportunities to practice their craft, so we will group up to formulate architectural visions for "real world" business problems. Attendees will then evaluate each group's solution to gain insight into the pros and cons of different approaches. ...

Tags: Agile, Project Management, TeamsFormat: PreCompilerLevel: 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

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

Presented by: Eric Boyd

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

Tags: .NET, Backend, SecurityFormat: General SessionLevel: Intermediate

Modern Web Automation Testing

Presented by: Bob Crowley

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

Tags: Front End, Automation, QA TestingFormat: General SessionLevel: Intermediate

MSBuild Unleashed: Breaking Free From Complex CI Pipelines

Presented by: Dan Siegel

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

Tags: .NET, Programming Principles, CI/CDFormat: General SessionLevel: Intermediate

Neurodiverse Coders: Unlocking ADHD & Autism Superpowers in Tech

Presented by: Gaines Kergosien

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

Tags: Career Development, Diversity/Equity/Inclusion, Soft Skills, Leadership, TeamsFormat: General SessionLevel: Intermediate

One app, multiple platforms: How Cross Platform Actually Works

Presented by: Mike Hartington

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

Tags: Javascript, MobileFormat: General SessionLevel: Intermediate

Platform as a Product: the future of Agile and DevOps

Presented by: Brad Nelson

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

Tags: Programming Principles, DevOps, Agile, System DesignFormat: General SessionLevel: Intermediate

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

Rebuild your APIs Better, Strong, Faster with Minimal APIs

Presented by: Jonathan "J." Tower

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

Tags: .NET, C#, BackendFormat: General SessionLevel: Intermediate

Services Reloaded: Increased Throughput with Project Loom Virtual Threads

Presented by: Kito Mann

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

Tags: Java, BackendFormat: General SessionLevel: Intermediate

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

State of Mobile Development

Presented by: Sam Basu

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

Tags: .NET, JavascriptFormat: General SessionLevel: Intermediate

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

Presented by: Kilian Valkhof

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

Tags: Javascript, Front End, AccessibilityFormat: General SessionLevel: Intermediate

Take Back Control - Introducing Veilid

Presented by: Bill Sempf

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

Tags: Python, Rust, Mobile, Security, CloudFormat: General SessionLevel: Intermediate

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

The Micro-Frontend Playbook

Presented by: Marko Skugor

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

Tags: Javascript, Front End, Cloud, ArchitectureFormat: General SessionLevel: Intermediate

The Right Database for the Right Job

Presented by: Nuri Halperin

Picking a database for your particular purpose is hard, and vendors don't make it easier. So which database is right for which workload? ...

Tags: Databases, ArchitectureFormat: General SessionLevel: Intermediate

The Subtle Art of Communication

Presented by: Natalie Hylton, Tristan Chiappisi

We probably don't need this session. Technologists are excellent communicators, aren’t they? But for those who would like to learn (and practice) a new thing or two, here is a session packed with experiential learning. Amongst the things that we will cover: ...

Tags: Soft Skills, Leadership, TeamsFormat: PreCompilerLevel: Intermediate

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

Presented by: Tori Brenneison

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

Tags: Javascript, Front EndFormat: General SessionLevel: Intermediate

Thinking Architecturally

Presented by: Nathaniel Schutta

Rich Hickey once said programmers know the benefits of everything and the trade offs of nothing...an approach that can lead a project down a path of frustrated developers and unhappy customers. As architects though, we must consider the trade offs of every new library, language, pattern or approach...

Tags: Career Development, Soft Skills, ArchitectureFormat: PreCompilerLevel: Intermediate

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

Presented by: Kilian Valkhof

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

Tags: Front End, CSSFormat: General SessionLevel: Intermediate

Watch this! Building a Health app for Wear OS

Presented by: Sierra OBryan

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

Tags: Hardware, MobileFormat: General SessionLevel: Intermediate

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

Presented by: Justin Castilla

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

Tags: Python, IoT, Cloud, Data Science, DatabasesFormat: General SessionLevel: Intermediate