Most Active Speaker

Chad Green

Chad Green

Microsoft MVP; Director of IT Architecture at Aline

Louisville, Kentucky, United States

Chad Green is a developer, speaker, and software development community organizer. He is the organizer of Code PaLOUsa, a regional software development conference in Louisville, Kentucky along with the Louisville .NET Meetup and Louisville Tech Leaders. He is also a frequent speaker at software development conferences, where he shares his knowledge and experience in the field. He is passionate about helping other developers grow in their careers and is active in the local developer community.

Awards

  • Most Active Speaker 2022

Area of Expertise

  • Information & Communications Technology

Topics

  • .NET
  • ASP.NET Core
  • .NET Core
  • C#
  • Azure Functions
  • Cosmos DB
  • Event-Driven Architecture

File New: Build a Fully-Managed and Documented API

Azure API Management is a way to create consistent modern API gateways for existing backend services. It provides an interface for your backend services and APIs while ensuring they are secured, monitored, maintained, well-documented, and published to the cloud. In this session, we will focus on the how by creating a new Azure API Management instance, configuring API endpoints to be served by the API Management instance, setting up rate-limiting, transforming data coming in and out of the endpoints, providing a portal for developers to intact with the API, and add security and performance. You will see firsthand how to get the most out of Azure API Management to make your APIs accessible to your internal and external customers.

File New: Build a Serverless Microservices from Scratch

The microservice pattern serves as an excellent practice in building modern applications to be more resilient and reduce dependencies across multiple components of a system. Often these solutions are based on complex web frameworks and containerization. Using Azure Functions, we can develop more concise services even quicker and get many additional benefits that come with serverless technology without all the operational management. In this session, we will focus on the how by starting with an empty Visual Studio solution and building a complete serverless microservice solution using Azure Functions that solve a real-world problem. You will see firsthand how to design, develop, and deploy the Azure Function App providing services usable to perform valuable services.

File New: Build a Event-Driven Architected Microservice from Scratch

Event-driven microservice architectures provide a versatile approach to designing and integrating complex software systems with independent, encapsulated components. During this session, we will focus on the how by starting with an empty Visual Studio solution and building a complete event-driven architected microservice to solve a real-world problem. You will see firsthand how to design, develop, and deploy a decoupled, encapsulated, responsive, scalable, and independent solution. We’ll talk about potential pitfalls, and you will see how to get around them.

Time Travelling Data: A Quick Overview of SQL Server Temporal Tables

Often customers will ask what the data looked like on a particular date and you might have built completed triggers and procedures to track that history. But SQL Server and Azure SQL already have a solution built-in, and it's straightforward to use. During this quick overview, you will understand what Temporal Tables are, the key scenarios around their use, and how to use built-in query syntax to retrieve the values of database records at a point in time. We will also look at how Entity Framework Core makes this even easier now with Temporal Table support.

Design and Develop a Serverless Event-Driven Microservice-Based Solution in 2 Days

You have heard all the buzzwords such as microservices, event-driven architecture, serverless, etc. You probably have attended sessions that talk about these terms. But how do you put all that together?

During this two-day workshop, you will start by designing a solution using serverless and event-driven cloud services using microservice patterns. Then you will build that solution using .NET, Azure services, and other best-practice tools. Finally, you will deploy that solution to the cloud so your customers can reap the rewards of a well-architected, reliable, and scalable solution that meets their needs today and provides for growth in the future.

Beyond Hello World: Getting Deeper into Azure Functions

By now, you surely have seen the HTTP trigger within Azure Functions. Just about every presentation uses that trigger to show how awesome Azure Functions can be. But there is a bunch more you can do with Azure Functions using the other triggers and bindings, which make Azure Functions a fantastic tool in your tool chest for solving all sorts of needs. So come and hear about these triggers and bindings and see real-world examples of how they have been employed in different solutions to solve real customer needs.

Developing a Resilient Serverless Solution

So, you have decided to develop a serverless solution using Azure Functions because it makes it easy to get things up and running and handles all the scalability issues for you. All you have to do is write the code. However, while Azure Functions (and other similar serverless services) offer a great set of features that make scalability, resilience, and reliability easier, it is not fool-proof and can still go down. During this session, we will talk about how to make your Azure Function solutions more resilient, how to validate it will continue to work under load, and how to know about potential failures or at least the failures before your customer does.

Develop a Serverless Event-Driven Microservice-Based Solution in a Day

You have heard all the buzzwords such as microservices, event-driven architecture, serverless, etc. You probably have attended sessions that talk about these terms. But how do you put all that together?

During this workshop, you will build a solution using serverless and event-driven cloud services implementing microservice patterns. Then you will deploy that solution to the cloud so your customers can reap the rewards of a well-architected, reliable, and scalable solution that meets their needs today and provides for growth in the future.

Building Great Libraries

“Bad libraries build collections; good libraries build services; great libraries build communities.” Whether you are building a class library containing common functionality to use within your company’s products, a class library for your customers to be able to use your services, or the next great open-source project; you should take great care when building a class library so that it is easy to use and widely adopted. During this session, we will talk about coding standards you should apply, documentation, dependencies, publishing, versioning, and handling breaking changes so that you can build class libraries that developers will enjoy using instead of those they curse at.

Building Event-Driven Microservices

Event-driven architecture promotes the production, detection, consumption of, and reaction to events. Using this type of architecture can improve how your products respond to events coming in from multiple sources – especially when you need to take various actions based upon an event. During this session, we’ll explore event-driven architecture and how we can incorporate it into a microservice pattern to develop lightweight services that can quickly react to events coming from multiple sources. While the architecture can work with different technologies, we’ll implement this approach using Azure services.

Building Microservice REST APIs Using Azure Functions

The microservice pattern serves as an excellent practice in building modern applications to be more resilient and reduce dependencies across the multiple parts of a product. But generally, these involve complex web frameworks and containerization to get those benefits. But using Azure Functions, we can develop more concise services even quicker and get many of the benefits of serverless technology without lots of operational management. In this session, we’ll explore Azure Functions and see how they can be used to build out a microservice-based solution.

The Taming of the API

Tranio tells Lucentio that, “No profit grows where is no pleasure ta’en: In brief, sir, study what you most affect.” While Tranio’s point was to get Lucentio to loosen up for him to “live a little,” this is still a valuable lesson to developers. Your team has worked hard to build the functionality that provides all of your customers’ needs, but how easily have you made it for them to access that? Sometimes building the API is the easy part; making them usable is the hard part. But by adding an API gateway, we can make it easier for customers to access functionality and data provided by your application.

In this presentation, we will look at API gateways in general and how to use them to make your APIs usable. We’ll then go into examples using Azure’s API Management service, which allows you to streamline work in Azure and across hybrid and multi-cloud environments to provide your customers with a single place to work with your APIs.

Technical Debt Is Not Free

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 of debt, if we do not take steps to handle it, we will be destined for bad times when that comes due. In this session, we’ll explore technical debt, how to properly document and track it, and – more importantly – how to address it so that it does not cause significant issues down the road.

Going Schema-less: How to migrate a relational database to a NoSQL database

There can be a lot of great benefits of developing with a NoSQL database over a relational database. In this presentation, you will learn about those benefits and also the potential pitfalls. There will be demonstrations where we take relationally developed data, restructure it into a NoSQL database (Cosmos DB in particular), and develop an application to work with that data.

Secrets of Conflict Resolution

One of the most challenging aspect of being a leader is dealing with conflict amongst your team. It’s vital to productivity to get the team running like a well-oiled machine, even in the face of adversity. Improving your relationships with your coworkers, clients, and managers and find your way through conflict back to cooperation. This session will provide you with the secrets of effective conflict resolution and how to prevent conflicts from ever starting.

Software Craftsmanship for Non-Developers

Have you heard the developers on your team throw around terms like code smell, DRY, or SOLID you just look at them with a blank stare? When your senior developer tells you that they need to spend a sprint taking care of technical debt do you just think they are wanting some time to goof off? Then this session is for you. We will discuss what exactly software craftsmanship is and what is not and why it can be important on your team.

How to be a Leader

What is leadership? That term gets thrown around a lot, but what is it really? What do leader do that makes them leaders? Leadership can be learned and that is good as leaders are in high demand and in short supply. TO be an effective leader, you must first understand what leadership is and what traits a leader exhibits.

During this session, we will review leadership traits and principles and how you can implement them within your teams. By demonstrating these in your daily activities you will earn the respect, confidence, and loyal cooperation of those on your team.

Software Craftsmanship for New Developers

As a new developer, knowing language syntax is important; but just as important is understanding what software craftsmanship is. In this session Chad will talk about what the software craftsmanship movement is all about and why it is important. Chad will also explain important craftsmanship terms like code smells, DRY, and SOLID. Even if you have been developing for a while, this session will be useful to brush up on how not to be a developer but how to be a professional developer.

Time Travelling Data: SQL Server Temporal Tables

Have you have built complicated triggers and procedures to track the history of data in your databases? What if SQL Server or Azure SQL could take care of all that for you and you just had to change a couple of settings? Starting with SQL Server 2016, there is support for system-versioned temporal tables as a database feature that brings built-in support for providing information about data stored in a table at any point in time rather than only the data that is correct as the current moment time. During this session, Chad will explain the key scenarios around the use of Temporal Tables, how system-time works, how to get started, and finish up with a demo to show you Temporal Tables in action, including the easy-to-use T-SQL syntax to implement all of the Temporal goodness. We will also look at how Entity Framework Core 6 now lets us do all this directly in Entity Framework.

The Hitchhiker’s Guide to the Cosmos

Today’s applications are required to be highly responsible and always online. Cosmos DB was built from the ground up to provide a globally distributed, multi-model database service that enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide. Because of its ARS (atoms, records, and sequences) design, Azure Cosmos DB accessing data via SQL, MongoDB, Table, Gremlin, and Cassandra APIs. All of this with transparent multi-master replication, high availability at 99.999%, and guarantees of less than 10-ms latencies both reads and (indexed) writes.

In this session, you will learn what you can do with Cosmos DB, the benefits of each of these data models, and how to use everything Cosmos DB has to offer to make your applications rock solid. Come find out when and how to implement Cosmos DB and which options you should use based upon your needs.

Graphing Your Way Through the Cosmos: Common Data Problems Solved with Graphs

Data as it appears in the real world is naturally connected, but traditional data modeling focuses on entities which can cause for complicated joins of these naturally connected data. That is where graph databases come in as they store data more like what happens naturally in the real world. Sure, there a lot of talk about using graph databases for social networks, recommendation engines, and Internet of Things; but using graph databases can also make a lot of sense when working with common business data problems.

In this presentation, you will get a better understanding of what graph databases are, how to use the Gremlin API within Azure Cosmos DB to traverse such data structures, and see practical examples to common data problems.

Ch-ch-ch-changes: Tracing Changes in Azure Cosmos DB

David Bowie might not be able to trace how time changes him, but with the Azure Cosmos DB change feed allows us to trace the changes to your data within your Cosmos database. The Azure Cosmos DB change feed listens to an Azure Cosmos container for any changes and then outputs the sorted lists of documents that were changed. In this session, you learn what the change feed is, how it works, and how you can use it to build more robust applications.

Reevaluating Software Design Patterns: Uncovering Patterns That Can Be More Burden Than Benefit

Design patterns are potent tools in software development that solve recurring problems. These patterns have become essential in creating maintainable, scalable, and robust software systems. However, not all design patterns are created equal, and some well-respected patterns may inadvertently lead to increased complexity, decreased maintainability, and even hinder productivity. In this presentation, we'll delve into software design patterns that can cause more work than they are worth.

Join us as we explore design patterns that have earned their place in software engineering history but may only sometimes live up to their reputation. We'll discuss real-world scenarios where these patterns can lead to unintended consequences, including convoluted code, performance bottlenecks, and intricate debugging sessions.

Essential Software Design Patterns for Optimal Development

Utilizing effective design patterns is paramount to achieving maintainable, scalable, and robust systems in software development's dynamic and ever-evolving landscape. This presentation aims to delve into the world of software design patterns, providing an in-depth exploration of the most valuable and versatile ways that have stood the test of time.

The presentation will begin by laying a solid foundation with an overview of design patterns and why they are crucial in modern software engineering. It will then examine a carefully curated selection of essential design patterns, each accompanied by real-world examples and use cases highlighting their practical applications.

The presentation will emphasize each pattern's benefits and potential drawbacks, addressing concerns related to code maintainability, extensibility, and collaboration within development teams. Special attention will be given to pattern selection criteria, guiding participants in making informed decisions about when and where to apply specific patterns.

By the end of this presentation, attendees will be equipped with a solid foundation in a range of essential software design patterns, enabling them to make informed design choices, write cleaner and more modular code, and confidently tackle complex software engineering challenges. Whether novice or experienced, every software professional will find valuable insights to enhance their development practices and elevate the quality of their software projects.

TechBash 2023 Upcoming

November 2023 Mount Pocono, Pennsylvania, United States

dev up 2023

August 2023 St. Louis, Missouri, United States

JavaScript & Friends 2023

August 2023 Columbus, Ohio, United States

Beer City Code 2023

August 2023 Grand Rapids, Michigan, United States

Agile & Beyond 2023

June 2023 Detroit, Michigan, United States

Orlando Code Camp 2023

March 2023 Sanford, Florida, United States

TechBash 2022

November 2022 Mount Pocono, Pennsylvania, United States

Momentum 2022

October 2022 Cincinnati, Ohio, United States

Indy.Code()

• Building Event-Driven Microservices
• The Taming of the API

October 2022 Carmel, Indiana, United States

Atlanta Developers' Conference 2022

September 2022 Marietta, Georgia, United States

KCDC 2022

August 2022 Kansas City, Missouri, United States

Beer City Code 2022

August 2022 Grand Rapids, Michigan, United States

Scenic City Summit 2022

July 2022 Chattanooga, Tennessee, United States

Nebraska.Code()

* Technical Debt Is Not Free
* The Taming of the API

July 2022 Lincoln, Nebraska, United States

dev up 2022

June 2022 St. Louis, Missouri, United States

Stir Trek 2022

May 2022 Columbus, Ohio, United States

CodeStock 2022

April 2022 Knoxville, Tennessee, United States

TechBash 2021

October 2021 Mount Pocono, Pennsylvania, United States

Momentum 2021

October 2021 Cincinnati, Ohio, United States

Atlanta Code Camp 2021

October 2021 Marietta, Georgia, United States

Scenic City Summit 2021

September 2021

Music City Tech 2021

September 2021

KCDC 2021

September 2021 Kansas City, Missouri, United States

Granite State Code Camp 2020

November 2020 Manchester, New Hampshire, United States

NDC Sydney 2020

October 2020 Sydney, Australia

TDevConf

TDevConf is a new virtual conference presented by the .NET User Groups in Chattanooga, Knoxville, Memphis, and Nashville, Tennessee.

The Hitchhiker’s Guide to the Cosmos
Today’s applications are required to be highly responsible and always online. Cosmos DB was built from the ground up to provide a globally distributed, multi-model database service that enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide. Because of its ARS (atoms, records, and sequences) design, Azure Cosmos DB accessing data via SQL, MongoDB, Table, Gremlin, and Cassandra APIs. All of this with transparent multi-master replication, high availability at 99.999%, and guarantees of less than 10-ms latencies both reads and (indexed) writes.

In this session, you will learn what you can do with Cosmos DB, the benefits of each of these data models, and how to use everything Cosmos DB has to offer to make your applications rock solid. Come find out when and how to implement Cosmos DB and which options you should use based upon your needs.

October 2020

CodeStock 2020

April 2020 Knoxville, Tennessee, United States

Orlando Codecamp & Tech Conference 2020

March 2020 Sanford, Florida, United States

CodeMash 2020

January 2020 Sandusky, Ohio, United States

TechBash 2019

November 2019 East Stroudsburg, Pennsylvania, United States

dev up Conference 2019

October 2019 St. Louis, Missouri, United States

Little Rock Tech Fest 2019

October 2019 Little Rock, Arkansas, United States

DogFoodCon 2019

October 2019 Columbus, Ohio, United States

Music City Tech 2019

September 2019 Nashville, Tennessee, United States

Code PaLOUsa 2019

August 2019 Louisville, Kentucky, United States

KCDC 2019

July 2019 Kansas City, Missouri, United States

Beer City Code 2019

May 2019 Grand Rapids, Michigan, United States

Stir Trek 2019

April 2019 Columbus, Ohio, United States

CodeStock 2019

April 2019 Knoxville, Tennessee, United States

CodeMash 2019

January 2019 Sandusky, Ohio, United States

KCDC 2018

July 2018

Music City Tech 2018

May 2018 Nashville, Tennessee, United States

Stir Trek 2018

May 2018 Columbus, Ohio, United States

Chad Green

Microsoft MVP; Director of IT Architecture at Aline

Louisville, Kentucky, United States