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 (9:00 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 are multipliers of each other: clear boundaries, explicit rules, and executable fitness tests are exactly what make an AI coding agent effective, and the agent is what makes the ceremony of a well-layered system cheap enough to actually build. This workshop teaches both at once by building one system with both.
Microservices promised independent teams and independent scaling, and delivered distributed debugging, flaky integration environments, and a network hop inside every business transaction. The industry answer is now clear: start with a well-modularized monolith and extract services only when something real (team size, scaling, isolation) forces it. Meanwhile, AI coding assistants went from autocomplete to agents that read, plan, edit, and run tests, and most teams still use them like a fancy search box.
This hands-on workshop teaches both, together, because they reinforce each other. Starting from an empty solution, you will build a modular monolith on .NET 10 with an AI pair (Claude Code) doing the heavy lifting while you make the architectural decisions: rich domain models whose factory methods return results instead of throwing, a hand-rolled CQRS pipeline that gives you validation and logging for free (no frameworks, you will see every line), reliable messaging via the outbox pattern, and architecture fitness tests that fail the build when someone (human or AI) violates a layer rule.
Along the way you learn the agentic workflow that makes it fast: project context files, plan-first prompting, test-driven loops, hooks that make dangerous operations impossible, and reviewing AI diffs like a reviewer instead of rubber-stamping.
The finale keeps the morning's promise twice over: we take a module and run it as its own service behind a YARP gateway with no rewrite, and we let the fitness tests catch the AI breaking a rule, live.
Setup clinic available 8:15-9:00 AM for anyone who needs help
The microservices hangover; the monolith-first path; what "extractable" actually requires. What an agentic coding tool actually is and why architecture discipline is precisely what makes it effective.
Create the blank solution and let the agent scaffold the layer skeleton. Learn to write the context file (CLAUDE.md), use plan mode, and review before approving.
DDD building blocks: aggregates, factory methods returning Result<T>, value objects, domain events. Write tests first, let the agent make them pass, review the diff.
Commands vs queries; hand-rolled decorator pattern for validation and logging. Add complete vertical slices with the agent doing the ceremony.
Domain events vs integration events, why dual writes fail, and the outbox replay pattern. Live demo: kill the process mid-operation and watch the replay.
Architecture fitness tests as executable rulesets. Have the agent write the tests, then ask it to violate a rule and watch the build fail.
Add a second module. Headline demo: lift the Tickets module out and run it as its own service behind a YARP gateway with no rewrite.
Real examples of plausible-but-wrong agent output and verification habits. Take-home starter kit with context file templates and example hooks.
Secure your spot in this exclusive workshop. Limited seats available!
Register for Workshop Now