Senior Software Developer @ UWM

Hi, I'm Janardhana
.NET Developer & AI Engineer

.NET Core 8 Generative AI Semantic Kernel Microservices Domain-Driven Design RAG Pipelines Cloud Architecture CQRS

Senior .NET developer with 13+ years in enterprise systems. Now I'm building AI systems at UWM with Semantic Kernel, RAG pipelines, and multi-LLM architectures across Azure OpenAI, Claude, and Gemini. I write about backend architecture, microservices, and practical AI engineering.

13+
Years Experience
6
Companies
80%
Backend Focus

Technologies I work with

.NET Core 8
C#
Semantic Kernel
Azure OpenAI
RAG
SQL Server
PostgreSQL
Microservices
Domain-Driven Design
CQRS
Azure
AWS
Docker
React
Angular
RabbitMQ
Redis
Kubernetes
.NET Core 8
C#
Semantic Kernel
Azure OpenAI
RAG
SQL Server
PostgreSQL
Microservices
Domain-Driven Design
CQRS
Azure
AWS
Docker
React
Angular
RabbitMQ
Redis
Kubernetes

Featured Articles

Deep-dives on .NET, Architecture and Cloud

View all articles →
If a Function Can Do It, Don't Make It an Agent
7 min read
ArchitectureAI SystemsAgents

If a Function Can Do It, Don't Make It an Agent

How to choose between AI agents and explicit workflows, why multi-agent is not a maturity badge, and how production systems mix both without losing control.

Janardhana Bandaru

Janardhana Bandaru

August 5, 2026

Exactly-Once Is the Wrong Default Goal
6 min read
ArchitectureDistributed SystemsMessaging

Exactly-Once Is the Wrong Default Goal

What at-least-once delivery means, why duplicates happen on both producer and consumer paths, and why business systems usually need at-least-once on the wire plus safe handling of repeats.

Janardhana Bandaru

Janardhana Bandaru

August 3, 2026

BigQuery for .NET Developers: What You Need to Know Before It Gets Expensive
13 min read
.NETBigQueryGCP

BigQuery for .NET Developers: What You Need to Know Before It Gets Expensive

BigQuery charges for data read, not queries run. Every decision you make, from table structure to query shape to how you write data, directly affects your bill. A practical guide for application developers calling BigQuery from .NET.

Janardhana Bandaru

Janardhana Bandaru

May 3, 2026

MediatR Pipeline Behaviors: Middleware for Your Application Layer
14 min read
.NETMediatRC#

MediatR Pipeline Behaviors: Middleware for Your Application Layer

Logging, validation, performance monitoring, and transaction management written once and applied to every request automatically. A deep-dive into MediatR Pipeline Behaviors with four production-ready implementations.

Janardhana Bandaru

Janardhana Bandaru

March 25, 2026

The Outbox Pattern: A Design Deep-Dive
11 min read
ArchitectureDistributed SystemsDesign Patterns

The Outbox Pattern: A Design Deep-Dive

Why does guaranteed message delivery fail in distributed systems, even when everything looks correct? A concept-first deep-dive into the Outbox Pattern covering the Dual Write Problem, trade-offs, analogies, and when to use it. No code, just clarity.

Janardhana Bandaru

Janardhana Bandaru

March 22, 2026

Implementing CQRS with MediatR in .NET Core
11 min read
.NETCQRSMediatR

Implementing CQRS with MediatR in .NET Core

Command Query Responsibility Segregation with MediatR in .NET: thin controllers, queries and commands, domain events, and the reliability gap that leads to the Outbox Pattern.

Janardhana Bandaru

Janardhana Bandaru

March 21, 2026

Janardhana Bandaru

Janardhana Bandaru

Senior Software Developer @ UWM

Senior .NET developer with 13+ years across Healthcare, Insurance, Loyalty & Rewards, and now Generative AI at UWM. I write about real-world backend architecture, Semantic Kernel, RAG, microservices, and cloud-native .NET.