Senior Software Architect | 25+ Years Microsoft Stack
Ivan is a Senior Software Architect with 25+ years turning complex business problems into scalable, cloud-native systems on the Microsoft stack. His focus is architecture that lasts: Domain-Driven Design, Clean Architecture, and CQRS applied to real platforms that begin as modular monoliths and extract cleanly into microservices.
He pairs architectural expertise with hands-on Azure and DevOps (Bicep, Docker, Kubernetes, CI/CD, OIDC / Managed Identity) so the designs sketched on a whiteboard actually ship, run, and recover in production. Ivan has led architectural refactors across insurance, government, and enterprise software at Assurant, Hitachi Solutions, and biBERK.
Today he builds production-grade .NET 10 platforms using AI-assisted development (Claude Code, GitHub Copilot) to ship faster without sacrificing quality. Beyond the code, Ivan helps lead the Atlanta tech community as one of the organizers of the Atlanta Cloud + AI Conference and the Atlanta Developers Conference.
Core toolkit: .NET / C#, Blazor, .NET MAUI, ASP.NET Core, .NET Aspire, EF Core, Azure (Container Apps, Service Bus, Cosmos DB, SQL), DDD, CQRS, gRPC, YARP, and the outbox pattern. Bilingual: English / Spanish
When: Full Day (8:15 AM - 5:00 PM)
Where: Improving - 11675 Rainwater Dr #100, Alpharetta, GA 30009
Level: Intermediate .NET developers, tech leads, architects
Good architecture and agentic AI tooling multiply each other. Clear boundaries, explicit rules, executable fitness tests and CI gates are exactly what make an AI coding agent effective. The agent, in turn, makes the ceremony of a well-built, well-shipped system cheap enough to actually do. This workshop teaches both at once by taking one system through the whole software lifecycle with an AI pair.
Most teams use AI coding agents like a fancy autocomplete. The agents have moved on: they read, plan, edit, run tests, write pipelines and review code. What they need from you is structure: a written spec, a codebase with real boundaries, and tests, hooks and gates that catch them when they are confidently wrong.
This hands-on day walks one application through every phase of the SDLC, with Claude Code as your pair while you make the decisions. You start from an empty solution and:
Then you take it past the IDE:
The day closes with a field report on a year of running two production applications and an open-source framework this way: what the agent caught, what it missed, and what it costs in tokens.
A setup checker script is emailed two weeks before. A setup clinic runs from 8:15 to 9:00 AM for anyone who needs help.
Each block is labeled with the lifecycle phase it covers.
Checks for the SDK, Docker, Git, your IDE, GitHub, Aspire and Node, plus an Aspire smoke test.
The day's map is the lifecycle. The agent is a very fast new hire who onboards off the same rules your people do, and architecture discipline is exactly what makes it effective. Plus what this day is not: building agents into your software.
Write the context files first: CLAUDE.md, plus AGENTS.md for every other agent. Capture requirements and design in a spec, then use plan mode and review the plan. Finally, let the agent scaffold the layered solution and verify it.
Aggregates, factory methods returning Result<T>, value objects and domain events. Write the tests first, let the agent make them pass, and review the diff like a reviewer. Plus a quick look at what the union types coming to C# in .NET 11 mean for this code.
Commands versus queries, hand-rolled validation and logging decorators, and vertical slices added with one portable Agent Skill. The second slice is test-first at the API level: the agent writes an integration test against a real SQL container before writing the code. Plus a short look at the outbox pattern.
Architecture fitness tests as executable rules: ask the agent to break one and watch the build fail. Then add the hooks, deny rules and sandboxing that make dangerous agent actions impossible, and give the agent only the permissions it needs.
Host an MCP endpoint inside your app with the official .NET SDK, exposing the module's commands and queries as tools that reuse your existing handlers. Learn what the 2026 MCP spec changed and how remote MCP servers are secured. Connect Claude Code, VS Code or MCP Inspector and drive the app in plain English. Then try a prompt-injection attack through a poisoned ticket and watch your domain rules stop it.
Write a five-rule mini rubric. Have one agent score the codebase with file-and-line evidence and a second agent try to disprove every score.
A field report from two production apps and an open-source framework:
A three-minute clip of the finale this architecture makes possible: lifting a module out to run as its own service behind a gateway, with no rewrite. Snapshot branches, and goodbye.
Secure your spot in this exclusive workshop. Limited seats available!
Register for Workshop Now