Senior Software Developer

Stephan Jordan

.NET · Azure · AI Integration

I integrate AI agents seamlessly into existing system landscapes – building on more than 20 years of experience with business-critical .NET systems.

About

Experience that carries systems

Software developer with more than 20 years of experience in business-critical .NET systems for industry, access control and ERP. My focus is modernizing legacy systems towards cloud-native architectures on Azure and Kubernetes. Currently I combine this experience with integrating AI agents into existing system landscapes – with a focus on interfaces, security and operations.

Role
Senior Software Developer
Experience
20+ years
Languages
German (native), English (fluent, business level)
Focus
.NET, Azure, AI integration

Services

What I do

AI integration

Claude, multi-agent workflows, plugins and MCP integration; data sources via MCP, tool calls from .NET applications, OAuth2 protection.

Cloud-native architecture

Azure, Kubernetes (AKS), Docker, Microservices, Domain-Driven Design, Event Sourcing, CI/CD, OpenAPI.

Legacy modernization

Zero-downtime migrations and step-by-step replacement of legacy systems, for example moving to Entity Framework Core and modern frontends.

Data & performance

MSSQL, PostgreSQL, MySQL, RavenDB, Redis, MongoDB, InfluxDB, DB2; performance tuning and polyglot data architectures.

Experience

Work experience

05/2023 – present

Self-employed

Prototyping and development in AI agents and MCP integration

  • Building multi-agent workflows with Claude, plugins and MCP integration.
  • Prototypes for core questions of AI integration: data sources via MCP, tool calls from .NET, OAuth2 protection.
  • Cloud-native development with .NET 8/10 and Domain-Driven Design on Azure.

01/2022 – 04/2023

Senior Software Developer

Housing industry

  • Design and implementation of highly available, cloud-native microservice architectures (C#, NServiceBus, OpenAPI, Azure, Kubernetes).
  • Event-driven business processes with NServiceBus and sagas.
  • Polyglot data architecture with MySQL and RavenDB to scale data-intensive services.

10/2016 – 12/2021

Senior Software Developer

Enterprise projects via a technical services provider

Access control systems

02/2020 – 12/2021

Architecture responsibility for business-critical access control systems (C#, MSSQL), zero-downtime migration to Entity Framework Core in live operation, step-by-step replacement of legacy modules with Angular frontends.

Industrial plants

09/2018 – 01/2020

Scalable Azure solutions (.NET Core) for industrial plants deployed worldwide, polyglot data storage (MSSQL, PostgreSQL, Redis, MongoDB) to minimize latency for telemetry data.

Industrial management platforms

10/2016 – 08/2018

Industrial management platforms and latency-critical real-time applications (WPF, .NET Core), setting up CI/CD pipelines for shorter release cycles.

08/2006 – 09/2016

Senior Software Developer / ERP System Architect

Mid-sized company

  • 10 years of overall technical responsibility for the central ERP system (.NET Framework, Java, Lotus Notes).
  • Performance tuning of MSSQL and DB2 with measurably shorter query times.
  • Architecture of data-based reporting (business intelligence).

09/2000 – 06/2006

Software Developer / Application Programmer

  • Business-critical alerting systems and custom software (VB5, AS/400).
  • Setting up technical support processes.

Projects

Public examples

ODataAgentSample – Live demo

Reworks a classic OData service so that the same data can be used securely by AI agents via the Model Context Protocol (MCP): four typed tools, authentication via API key or OAuth2/JWT with roles, rate limit and an audit log per tool call. The demo runs on Azure Container Apps; chatting with Claude requires an access code.

  • .NET 10
  • MCP
  • OData v4
  • EF Core
  • OAuth2/JWT
  • Azure Container Apps
  • xUnit

SqlMcpServer

A small MCP server in C# / .NET 10 that gives an AI agent controlled, read-only access to a SQL database – with API key authentication, input validation, a read-only connection, limits and an audit log.

  • .NET 10
  • MCP
  • SQLite
  • API-Key
  • Audit-Log

OPCSample

OPC UA client with Rx.NET and a persistent queue: value changes from machines are stored and delivered with retry and backoff (at-least-once). Plus a REST API and an MCP endpoint for AI agents. Machine data – a topic from my industrial experience.

  • .NET 8
  • OPC UA
  • Rx.NET
  • SQLite
  • MCP

ODataSample

End-to-end OData v4 example in .NET 8: an ASP.NET Core OData server with EF Core and SQLite, plus a console client that runs typed LINQ queries and CRUD operations through a generated proxy.

  • .NET 8
  • OData v4
  • EF Core
  • SQLite

Skills

What I work with

Architecture & cloud

  • Azure
  • Kubernetes (AKS)
  • Docker
  • Microservices
  • Domain-Driven Design
  • Event Sourcing
  • CI/CD
  • OpenAPI

AI & automation

  • Claude
  • Multi-agent orchestration
  • Plugins/MCP
  • LLM integration into enterprise systems

Backend & Security

  • C#
  • .NET 8/10
  • .NET Core
  • Java
  • WCF
  • REST
  • gRPC
  • OAuth2
  • IAM

Frontend

  • Angular
  • React
  • Vue.js
  • Blazor
  • TypeScript

Databases

  • MSSQL
  • PostgreSQL
  • MySQL
  • RavenDB
  • Redis
  • MongoDB
  • InfluxDB
  • DB2

Messaging

  • NServiceBus
  • Sagas
  • Event-driven architectures

Methods & tools

  • Agile/Scrum
  • TDD
  • Azure DevOps
  • Git
  • Code reviews
  • Mentoring

Education

  • Training as a software developer (2000)
  • Journeyman's certificate as industrial electrician/electronics technician (1994) · Automation in industrial production

Contact

Let's talk

The quickest way to reach me is via LinkedIn or email.