Blog

We Need to Talk About Your Repository Pattern
Brad Jolicoeur - 03/01/2026
The repository pattern violates SOLID principles and is redundant with modern ORMs like Marten. Learn better alternatives for .NET data access.

Why Your Safety Net Is Dropping Messages
Brad Jolicoeur - 02/28/2026
Stop silently dropping messages with Rebus. Learn why try/catch kills retries in .NET message handlers—and how to configure backoff, SLR, and circuit breakers.

In Message-Based Systems, Who Owns the Contract?
Brad Jolicoeur - 02/17/2026
In distributed systems, coupling often hides in message contracts. Learn why Events vs. Commands matters for ownership, and how to avoid the "Common" library trap.

The "Big Save" Problem: Why Task-Based UI is Event Sourcing’s Best Friend
Brad Jolicoeur - 02/16/2026
Learn how Task-Based UI solves the "Big Save" problem in Event Sourcing, retaining user intent and context for smarter downstream effects.

The Trap of Database Triggers in Event-Driven Architecture
Brad Jolicoeur - 02/13/2026
Database triggers seem convenient for data reliability, but they introduce hidden locking, coupling, and semantic loss. Learn why modern architectures prefer the Outbox pattern and CDCs.

The FIFO Fallacy: Why Ordered Queues are Killing Your Scalability
Brad Jolicoeur - 01/31/2026
Explore why strict FIFO queues can hinder scalability and availability in distributed systems, with practical .NET/C# examples of better alternatives.

Transform Your Documentation Workflow with AI: A Hands-On GitHub Copilot Workshop
Brad Jolicoeur - 01/01/2026
Learn how GitHub Copilot instruction files transform documentation workflows with hands-on exercises for ADRs, performance reviews, and job postings.

The Architect’s Guide to .NET Templates: Building Scalable Golden Paths
Brad Jolicoeur - 10/01/2025
Software Architects, unlock the power of Platform Engineering with `dotnet new templates`. Learn how to enforce architectural consistency, reduce developer toil, and manage enterprise-scale code generation using native.NET tooling and NuGet packaging.

Master AI in Software Engineering: Vibe vs. Spec Coding
Brad Jolicoeur - 09/24/2025
Transform from a coder into an AI architect. This guide demystifies generative AI, teaching you when to use conversational "Vibe Coding" versus structured "Spec Coding." Master prompt engineering to write better, more secure code and avoid common AI pitfalls.

AI Revolution: Reshaping the Software Architect's Role
Brad Jolicoeur - 09/12/2025
Discover how generative AI is transforming the software architect's role from a hands-on coder to a strategic orchestrator. Learn what tasks to stop doing and what new, high-value responsibilities to embrace to stay ahead in an AI-driven world.