J. Tower jtower.com

Events

I'm an internationally recognized speaker and event organizer, invited to speak at conferences and meetups all across the US and around the world. From CodeMash and KCDC to NDC and Update Conference, I bring real-world expertise in .NET, cloud architecture, and AI to developer communities everywhere — and I founded Trailhead, home to its own developer conference and meetup community in West Michigan. View my full speaker profile on Sessionize.

Upcoming

NDC Sydney 2026

Old API, New Tricks: Add MCP to Existing .NET REST Endpoints

Your existing .NET Web APIs have served you well—but what if they could do more with them in the era of AI? In this session, we’ll explore how to breathe new life into your existing ASP.NET Web API endpoints built with ASP.NET CORE by adding Model Creation Protocol (MCP) capab...

Warm and Fuzzy Search: AI-Driven Search in .NET

Searching isn't just about exact matches anymore—users expect search results that understand context and adapt to their input. Enter the world of AI-driven fuzzy search! In this session, we’ll explore how to implement powerful search capabilities in .NET using Microsoft.Extens...

Event details →

Update Conference Krakow 2026

Mission-Critical Code: What NASA’s Power of Ten Can Teach Us

Ever wonder how NASA writes software that literally can’t afford to fail? Meanwhile, back on Earth, our code is held together with duct tape and //TODO comments. The stakes might be a little lower for most of us—nobody's oxygen supply depends on our latest API deployment (hope...

Warm and Fuzzy: Semantic Search in .NET

Searching isn't just about exact matches anymore—users expect search results that understand context and adapt to their input. Enter the world of AI-driven fuzzy search! In this session, we’ll explore how to implement powerful search capabilities in .NET using Microsoft.Extens...

Event details →

Nebraska.Code() 2026

Mission-Critical Code: What NASA’s Power of Ten Can Teach Us

Ever wonder how NASA writes software that literally can’t afford to fail? Meanwhile, back on Earth, our code is held together with duct tape and //TODO comments. The stakes might be a little lower for most of us—nobody's oxygen supply depends on our latest API deployment (hope...

Event details →

Past

Expert Panel: How do you Secure your Azure Resources?

We will chat in real time about topics such as Azure Front Door, Azure Application Gateway, virtual networks, private endpoints, and more. What works, what does not, and what we would do differently next time. If you are working in Azure today or just starting to think abou...

Event details →

NDC London 2026

Warm and Fuzzy: Semantic Search in .NET

Searching isn't just about exact matches anymore—users expect search results that understand context and adapt to their input. Enter the world of AI-driven fuzzy search! In this session, we’ll explore how to implement powerful search capabilities in .NET using Microsoft.Extens...

Oops, I Leaked It Again: API Security Mistakes Fixed

APIs are the backbone of modern applications—but one small mistake can expose sensitive data, allow unauthorized access, or even take down your entire system. In this session, we’ll explore the most common API security blunders (yes, including some real-world horror stories...

Event details →

‘Why Did They Do That?’ and Other Mysteries Solved by ADRs

We've all said it. “Why did they do it like that?” Without Architectural Decision Records (ADRs), these mysteries are inevitable. But don't fear, ADRs don’t mean boring documentation—these lightweight notes capturing the "why" behind your team’s decisions, saving you from futu...

Event details →

CodeMash 2026

Layers Are for Lasagna: Embracing Vertical Slice Architecture

Is your codebase fragile, where one small change risks breaking something unexpected? That fragility often comes from layered or “lasagna” architectures that scatter logic across controllers, services, repositories, and models. Touching one feature means touching several layer...

Mission-Critical Code: What NASA’s Power of Ten Can Teach Us

Ever wonder how NASA writes software that literally can’t afford to fail? Meanwhile, back on Earth, our code is held together with duct tape and //TODO comments. The stakes might be a little lower for most of us—nobody's oxygen supply depends on our latest API deployment (hope...

Event details →

Microsoft Zero to Hero

Old to Gold: How to Modernize Your Legacy ASP.NET Apps Gradually

Legacy applications built with ASP.NET can take a long time to migrate. Doing this work all at once isn't very agile, so in this session we'll explore using YARP (Yet Another Reverse Proxy), .NET Upgrade Assistant, and the "Strangler Fig" pattern to incrementally migrate your ...

Event details →

.NET Conf 2025

Old API, New Tricks: Add MCP to Existing .NET REST Endpoints

Your existing .NET Web APIs have served you well—but what if they could do more with them in the era of AI? In this session, we’ll explore how to breathe new life into your existing ASP.NET Web API endpoints built with ASP.NET CORE by adding Model Creation Protocol (MCP) capab...

Event details →

TechBash 2025

Fuzzy Wuzzy Was a Search: Semantic Search in .NET

Searching isn't just about exact matches anymore—users expect search results that understand context and adapt to their input. Enter the world of AI-driven fuzzy search! In this session, we’ll explore how to implement powerful search capabilities in .NET using Microsoft.Extens...

Oops, I Leaked It Again: API Security Mistakes Fixed

APIs are the backbone of modern applications—but one small mistake can expose sensitive data, allow unauthorized access, or even take down your entire system. In this session, we’ll explore the most common API security blunders (yes, including some real-world horror stories...

Event details →

Momentum 2025

Avoidifying Over-Complexification: Rooting Out Over-Engineering in Your Projects

Discover the art of unraveling complexity in your software projects and returning to the fundamental principle of KISS ("Keep It Simple, Software developer"). As complexity grows in any system, so do its potential points of failure, underscoring the importance of mastering the...

Event details →

DevIntersection 2025

Cache Me If You Can: Supercharging .NET APIs with Caching

Are your .NET Web APIs crawling at a snail’s pace? Is your database groaning under the load of too many requests? If you’re nodding along, it might be time to turbocharge your APIs with a caching layer to transform your application’s performance. In this session, we’ll look...

When Bad Libraries Happen to Good Code

When building applications, choosing the right 3rd party libraries can mean the difference between smooth sailing and a nightmare. With so many options available, how do you make smart choices that keep your codebase maintainable and your team productive? In this session, w...

Event details →

Can AI Do This?: Business Strategy Panel

Ever wondered if that repetitive task at work could be automated with AI? You bring the challenge — and a panel of cross-disciplinary experts will pressure-test it live. In this interactive session, you’ll: get real-time feedback, learn what’s viable (and what’s not), leav...

Event details →

KCDC 2025

Cache Me If You Can: Supercharging .NET APIs with Caching

Are your .NET Web APIs crawling at a snail’s pace? Is your database groaning under the load of too many requests? If you’re nodding along, it might be time to turbocharge your APIs with a caching layer to transform your application’s performance. In this session, we’ll look...

‘Why Did They Do It Like That?’ and Other Mysteries of Teams Without ADRs

We've all said it. “Why did they do it like that?” Without Architectural Decision Records (ADRs), these mysteries are inevitable. But don't fear, ADRs don’t mean boring documentation—these lightweight notes capturing the "why" behind your team’s decisions, saving you from futu...

Event details →

Cincy Deliver 2025

Avoidifying Over-Complexification: Rooting Out Over-Engineering in Your Projects

Discover the art of unraveling complexity in your software projects and returning to the fundamental principle of KISS ("Keep It Simple, Software developer"). As complexity grows in any system, so do its potential points of failure, underscoring the importance of mastering the...

Event details →

Nebraska.Code() 2025

Avoidifying Over-Complexification: Rooting Out Over-Engineering in Your Projects

Engineers in other disciplines often rely on fundamental principles, such as simplifying and eliminating unnecessary parts, to ensure the success of their projects. These principles are equally vital in software engineering. In this session, you'll learn how to apply these tim...

Event details →

Update Conference Krakow 2025

Cache Me If You Can: Supercharging .NET APIs with Caching

Are your .NET Web APIs crawling at a snail’s pace? Is your database groaning under the load of too many requests? If you’re nodding along, it might be time to turbocharge your APIs with a caching layer to transform your application’s performance. In this session, we’ll look...

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

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

Event details →

NDC Melbourne 2025

Old to Gold: How to Modernize Your Legacy ASP.NET Apps Gradually

Legacy applications built with ASP.NET can take a long time to migrate. Doing this work all at once isn't very agile, so in this session we'll explore using YARP (Yet Another Reverse Proxy), .NET Upgrade Assistant, and the "Strangler Fig" pattern to incrementally migrate your ...

Event details →

Azure Expert Panel Discussion

This month's meeting will be a bit different. We are hosting a panel of local technologists to discuss how they work with Azure on a day-to-day basis. Do they live in the Azure CLI, work with the Azure Portal, or rely on Bicep? Are they brave enough to use the Azure Developer ...

Event details →

NDC London 2025

Old to Gold: How to Modernize Your Legacy ASP.NET Apps Gradually

Legacy applications built with ASP.NET can take a long time to migrate. Doing this work all at once isn't very agile, so in this session we'll explore using YARP (Yet Another Reverse Proxy), .NET Upgrade Assistant, and the "Strangler Fig" pattern to incrementally migrate your ...

Event details →

CodeMash 2025

Avoidifying Over-Complexification: Rooting Out Over-Engineering in Your Projects

Engineers in other disciplines often rely on fundamental principles, such as simplifying and eliminating unnecessary parts, to ensure the success of their projects. These principles are equally vital in software engineering. In this session, you'll learn how to apply these ...

Is Everyone AI-ing Without Me? A .NET Developers Guide to Development with AI

AI is causing the tech landscape to evolve faster than ever, so it's important for developers to understand how to know when they should use traditional algorithms versus when they should use artificial intelligence (AI), and how to best use the two together. This talk take...

Event details →

Michigan Dev Fest 2024

Old to Gold: How to Modernize Your Legacy ASP.NET Apps Gradually

Legacy applications built with ASP.NET can take a long time to migrate. Doing this work all at once isn’t very agile, so in this session we’ll explore using YARP (Yet Another Reverse Proxy), .NET Upgrade Assistant, and the “Strangler Fig” pattern to incrementally migrate your ...

Event details →

Is Everyone AI-ing Without Me? Getting Started with AI in .NET

AI is causing the tech landscape to evolve faster than ever, so it's important for developers to understand how to know when they should use traditional algorithms versus when they should use artificial intelligence (AI), and how to best use the two together. This talk take...

Event details →

Momentum 2024

Avoidifying Over-Complexification: Rooting Out Over-Engineering in Your Projects

Discover the art of unraveling complexity in your software projects and returning to the fundamental principle of KISS ("Keep It Simple, Software developer"). As complexity grows in any system, so do its potential points of failure, underscoring the importance of mastering the...

Event details →

The Future Now: The Top Trends In Software Development

To prepare students for careers in a rapidly changing industry, it is crucial for computer science instructors to stay updated on the latest trends and innovations in the field. Jonathan "J." Tower, a sought-after industry expert, will provide insights into some of the most im...

Event details →

The Future Now: The Top Trends Software Leaders Must Know

Staying ahead of key trends is essential for any software leader. From AI-driven development and cloud-native architectures to the rise of low-code platforms, this talk will provide software creators and leaders with the insights needed to navigate the most important changes h...

Event details →

MIDOTNET

Rebuild your APIs Better, Stronger, Faster with Minimal APIs

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

Event details →

dev up 2024

Is Everyone AI-ing Without Me? A .NET Developers Guide to Development with AI

AI is causing the tech landscape to evolve faster than ever, so it's important to understand how and when to use custom development versus when to use artificial intelligence (AI), and how to use the two together. This talk takes you on a journey that demystifies the proces...

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

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

Event details →

Cincy Deliver 2024

Is Everyone AI-ing Without Me? A .NET Developers Guide to Development with AI

AI is causing the tech landscape to evolve faster than ever, so it's important to understand how and when to use custom development versus when to use artificial intelligence (AI), and how to use the two together. This talk takes you on a journey that demystifies the proces...

Event details →

KCDC 2024

You've Been Organizing Your Code Wrong: A C# Developer's Intro to Vertical Slice Architecture

Ditch the layers and jump into the world of Vertical Slice Architecture—an architecture where features reign supreme! Imagine a codebase where the organization revolves around capabilities and not tangled technical layers. This talk will be your map to this thrilling new world...

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

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

Event details →

Stir Trek 2024

Is Everyone AI-ing Without Me? A .NET Developers Guide to AI

AI is causing the tech landscape to evolve faster than ever, so it's important to understand how and when to use custom development versus when to use artificial intelligence (AI), and how to use the two together. This talk takes you on a journey that demystifies the proces...

Event details →

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

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

Event details →

NDC Sydney 2024

Migrate Your Legacy ASP.NET Projects to ASP.NET Core Incrementally with YARP

YARP (Yet Another Reverse Proxy) might have a funny name, but it a very serious tool when it comes to helping you upgrade your legacy ASP.NET projects to ASP.NET Core. The best part is, it helps you do the upgrade gradually, and with minimal impact to your users. In this sessi...

Event details →

CodeMash 2024

Mastering Solutions Architecture with Design Katas [Workshop]

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

Neurodiverse Coders: Unlocking ADHD & Autism Superpowers in Tech

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

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

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

Rebuild your APIs Better, Strong, Faster with Minimal APIs

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

Event details →

TechBash 2023

Dotnet CLI or: How I Learned to Stop Worrying and Love the Command Line

If you’ve been using Visual Studio for years like I have, you’ve probably also grown accustomed to the “walled garden” experience that it provides. With .NET Core’s successfully moves toward being cross-platform support for Linux, Mac, and Windows, the command-line interface (...

Improving Your Validation Game with Fluent Validation for .NET

Just about every application needs some sort of validation in it. If you’re a .NET Developer, you’ve no-doubt mostly been doing validation using the data annotation attributes from the System.ComponentModel namespace. These attributes are built-in to .NET by default, and can w...

Building a Slack Chatbot with Azure Functions

Chatbots have become an essential tool for businesses to improve customer support, automate tasks, and enhance engagement. However, building a chatbot from scratch can be challenging and time-consuming. In this session, we will show you how to build a chatbot for Slack using A...

Unleashing the Potential: Harnessing the Advantages of ADHD and Autism Traits

Attention-Deficit/Hyperactivity Disorder (ADHD) and Autism Spectrum Disorder (ASD) are often viewed as disorders with negative consequences. However, individuals with these conditions can exhibit seemingly superhuman abilities in the right setting. This session will explore th...

Event details →

NDC Porto 2023

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

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

Event details →

Attracting & Retaining Talent in the Work-From-Home Era

Come hear from a panel of local experts as they delve into the strategies and insights crucial for managers and organizational leaders seeking to acquire and retain top technology talent in the work-from-home era. Explore innovative approaches and hear first-hand about how to ...

Event details →

Indy.Code() 2023

Migrate Your Legacy ASP.NET Projects to ASP.NET Core Incrementally with YARP

YARP (Yet Another Reverse Proxy) might have a funny name, but it a very serious tool when it comes to helping you upgrade your legacy ASP.NET projects to ASP.NET Core. The best part is, it helps you do the upgrade gradually, and with minimal impact to your users. In this se...

Event details →

Beer City Code 2023

Mastering Solutions Architecture with Design Katas (Workshop)

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

Boosting Productivity with AI: Tips and Techniques for Software Developers

As Artificial Intelligence (AI) becomes more prevalent, software developers are looking for ways to harness its power to increase productivity and accomplish more in less time. This session will provide an overview of the latest AI tools and technologies available to software ...

Event details →

Cincy Deliver 2023

Choose Your Own Adventure: Lessons Learned from an Unusual Journey

A pro-adventure mindset can lead to exciting opportunities in both your personal and professional life. Join me as I share my unusual story of taking a leap of faith and embarking on a year-long RV adventure across the USA. During my journey, I learned how having a pro-adventu...

Event details →

KCDC 2023

Migrate Your Legacy ASP.NET Projects to ASP.NET Core Incrementally with YARP

YARP (Yet Another Reverse Proxy) might have a funny name, but it a very serious tool when it comes to helping you upgrade your legacy ASP.NET projects to ASP.NET Core. The best part is, it helps you do the upgrade gradually, and with minimal impact to your users. Come learn...

Unleashing the Potential: Harnessing the Advantages of ADHD and Autism Traits

Attention-Deficit/Hyperactivity Disorder (ADHD) and Autism Spectrum Disorder (ASD) are often viewed as disorders with negative consequences. However, individuals with these conditions can exhibit seemingly superhuman abilities in the right setting. This session will explore th...

Event details →

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

As a consultant, J. gets to see many systems built by many different developers. Recently, He's 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. ...

Event details →

The Pitfalls of Off-the-Shelf Software: Why Supply Chain and Logistics Must Adopt Custom Solutions to Survive

<ul><li>Discover why relying solely on off-the-shelf software can be dangerous, and how to avoid its biggest pitfalls.</li> <li>Find out how building custom software solutions can give you a competitive edge in supply chain and logistics over off-the-shelf and SaaS offerings....

Event details →

Stir Trek 2023

Migrate Your Legacy ASP.NET Projects to ASP.NET Core Incrementally with YARP

YARP (Yet Another Reverse Proxy) might have a funny name, but it a very serious tool when it comes to helping you upgrade your legacy ASP.NET projects to ASP.NET Core. The best part is, it helps you do the upgrade gradually, and with minimal impact to your users. Come learn...

Event details →

NDC London

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

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

Event details →

VS Live! Orlando

A Data Access Layer You're Proud of without Entity Framework

Dotnet CLI or: How I Learned to Stop Worrying and Love the Command Line

If you’ve been using Visual Studio for years like I have, you’ve probably also grown accustomed to the “walled garden” experience that it provides. With .NET Core successfully moving toward being cross-platform support for Linux, Mac, and Windows, the command-line interface (C...

Event details →

.NET Conf 2022

Migrate Your Legacy ASP.NET Projects to ASP.NET Core Incrementally with YARP

YARP (Yet Another Reverse Proxy) might have a funny name, but it a very serious tool when it comes to helping you upgrade your legacy ASP.NET projects to ASP.NET Core. The best part is, it helps you do the upgrade gradually, and with minimal impact to your users. Come learn...

Event details →

TechBash

Adding Redis Caching to Your .NET Web API

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

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

Event details →

Momentum

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

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

Event details →

Indy.Code()

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

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

Improving the Security of JSON Web Tokens with Refresh Tokens

Are you using JWT tokens to secure your .NET web APIs? Are you also worried about the security of using long-lived tokens or about possible holes in your token refresh implementation? If that sounds like you: fear not—all your answers are here in this session. Join me as I ...

Event details →

Code PaLOUsa

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

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

Adding Redis Caching to Your .NET Web API

Are you suffering from slow web APIs in .NET? Is your database overloaded? It’s quite likely that adding a caching layer to your application will help with both of those problems. In this session, we’ll learn about what causes slow APIs and overloaded databases, and see how ca...

Event details →

Seeing Your Career as an Adventure

In my 18-year professional career, I have had many adventures of many kinds. People, opportunities, and my own choices have all played a role in changing the trajectory of my professional life in ways I couldn't have dreamed when I was first starting out. These twists and turn...

Event details →

ASP.NET Core's Built-in Dependency Injection Framework

ASP.NET Core comes with its own built-in dependency injection (DI) framework. DI allows you to write better, more loosely-coupled code, and now with it built right into your favorite web development framework, you don't have to do anything extra to use this important design pa...

Event details →

TypeScript: The Why and the How

With the growing popularity of Angular 2, TypeScript is also growing quickly in popularity. In this session I'll give you more than just a basic introduction to the language — I'll give you the reasons why you should care from a software engineering perspective. We'll also loo...

Event details →

Work Remote: Extreme Edition

Join me as I take you on my year-long adventure to all 48 contiguous states enabled by technomadism — being a technological nomad. I'll talk about how I was able to work remotely, share practical tips, and answer the most common questions: how we lived, where we went, what we ...

Event details →

Dapper: Using a Micro ORM for Maximum Data Performance

.NET data access has evolved from raw ADO.NET to DataSource components, LINQ-to-SQL, and finally Entity Framework. If you've used feature-bloated ORMs, you've probably wished for something simpler. Micro ORMs solve these problems and bring a major performance boost. We'll look...

Event details →

ASP.NET Core 1.0: Someone Moved Your Cheese

With the release of ASP.NET Core 1.0, Microsoft has made great strides in creating a very modern and powerful platform for web developers. They've embraced open source tools like grunt and NPM. These new features come at the cost of moving some things around — in this session ...

Event details →

ASP.NET 5: Someone Moved Your Cheese

With the release of ASP.NET 5, Microsoft has made great strides in creating a very modern and powerful platform for web developers. They've embraced open source tools like grunt and NPM and brought ASP.NET into the cutting edge of web development.

Event details →