Dev Leader
@devleader
Helping you become a better software engineer 💪 YouTube: Newsletter: Principal Software Engineering Manager at Microsoft. Views are my own.
Your minimal API resolves its dependencies without you wiring them up. Ask the container with GetRequiredService, or just take the type as a parameter and it auto-resolves what it needs. That whole lifecycle is built into the service provider. Watch here: https://youtu.be/oI0uNZk_d-U
How to Build a Modular Monolith in C# from Scratch: Step-by-Step Guide Learn how to build a modular monolith in C# from scratch with this step-by-step guide. Create bounded context modules, enforce isolation, and wire them together in .NET 9. Read the article here: https://bgh.st/vxawgp
Gotta Catch 'Em All! - Global Exception Handling in C# We've seen how try/catch/finally works in C#... but what about those exceptions that are still sneaking through and crashing your program? Isn't there a way that we can know when ANY exception is thrown in our C# applications?
Does your ASP NET Core service need API key authentication? Read more here: https://bgh.st/rm89oi #CSharp #DotNetCore #ASPNETCore #WebDevelopment
Serilog vs Microsoft.Extensions.Logging: Which Should You Use? Serilog vs Microsoft.Extensions.Logging: understand the difference between an abstraction and a provider, when MEL is enough, and when Serilog adds real value in .NET. Read the article here: https://bgh.st/kg5yb9
The Old gh copilot Is Retired: Migrating to the New GitHub Copilot CLI Need a gh copilot suggest replacement? Migrate from the retired GitHub CLI extension to the new GitHub Copilot CLI agent workflow safely and with confidence. Read the article here: https://bgh.st/l8v6ra
What It Actually Takes To Become A Principal Engineer Dev Leader Weekly 148 Read the article here: https://bgh.st/yvbnz7
Distributing Roslyn Analyzers as NuGet Packages in .NET Learn to package and distribute your roslyn analyzer nuget package with the right folder structure, metadata, versioning, and CI/CD automation in .NET 10. Read the article here: https://bgh.st/epj8j3
_BiKe-shedding_DISCUSSIONS-oNlY! #SoftwareEngineering #Developers #Memes
Weekly Recap: NuGet Packaging, Monolith Architecture, and MCP in C# [Jul 2026]
Defining MCP Tools in C#: Attributes, JSON Schema, and Error Handling Learn how MCP tools in C# use attributes, JSON Schema, DI, content blocks, cancellation, error handling, and naming so models call .NET tools correctly. Read the article here: https://bgh.st/b8xwce
ONLY 0.7% Of The Memory Allocations When Downloading In C#! A 20MB file isn't all that big -- unless you're stuck with dial-up internet. Remember that? But what IS big is the difference in memory allocation that we can have when we use a couple of helpful tips when downloading files in C#.
Skipping the migration plan caught up with me. After all the package changes with Claude and Copilot, I realized I didn't actually know the new patterns. So I had Copilot read the code and suggest the shape it should take. Watch here: https://youtu.be/UU132ACeKCw
Distributed Monolith: The Anti-Pattern Every C# Developer Should Recognize Learn what a distributed monolith is in C#, why it's worse than a traditional monolith or microservices, and how to identify and fix this common architectural anti-pattern. Read the article here: https://bgh.st/t9ixgo
Build Your First Roslyn Analyzer in C#: Diagnostics and Code Fix Walkthrough Build roslyn analyzer c# from scratch -- complete project setup, DiagnosticAnalyzer scaffold, CodeFixProvider implementation, debugging, and unit tests. Read the article here: https://bgh.st/v7ro41
MDD because TDD never even stood a chance. #SoftwareEngineering #Developers #Memes
NuGet SourceLink and Symbol Packages: Step-Through Debugging for .NET Libraries Learn how to configure nuget sourcelink and symbol packages for your .NET library. Enable step-through debugging with embedded PDBs or .snupkg on NuGet.org. Read the article here: https://bgh.st/2nzbb4
Against The MSFT Rules! - Refactor Large File Downloads in C# You folks asked for it, and I delivered! When I put together content about challenges downloading large files in C#, you wanted to see how we could take this a bit further and make helper classes out of it.
Interpolation? What the HECK does that mean? Read more here: https://bgh.st/8vtnvi #csharp #string #strings #dotnet #formatstring
When the code can't see enough context, ask the tool that can. Three spots set up dependency injection and none had enough context after the change. I handed all three to Copilot CLI in planning mode and let it work out what they needed. Watch here: https://youtu.be/UU132ACeKCw
Serilog Enrichers: Adding Context to Every Log Entry Master Serilog enrichers in .NET: add machine name, thread ID, correlation IDs, and custom properties to every log entry automatically. Complete C# guide. Read the article here: https://bgh.st/zcn5ml
Internships, Learning Paths, & Getting Your First Job - Interview With Erik Andersen Look, we know it's challenging. Many people are going through tough times with it. Landing your first job as a software developer is no simple task.
Roslyn Analyzers in C#: The Complete Guide Learn what roslyn analyzers are, how they work in the .NET 10 compiler pipeline, why teams build custom diagnostics, and how to write your first rule in C#. Read the article here: https://bgh.st/k2nn4p
How to Test and Debug a NuGet Package Locally Before Publishing Learn how to test nuget package locally before publishing -- set up a local feed, pack to it, consume from a test project, and inspect your .nupkg file. Read the article here: https://bgh.st/zpwwtt
Apparently I'm not allowed to get the house decorations. #SoftwareEngineering #Developers #Memes
Before I let an AI rewrite my C# code, I make it show me a plan. I gave the same task to Claude Code and Copilot CLI and compared their plan modes. One spotted code it could reuse and applied the change cleanly across every spot -- no blind edits. Watch here: https://youtu.be/UU132ACeKCw
What Is a Monolith? Monolithic Architecture Types Explained for C# Developers Understand what a monolith is and the different types of monolithic architectures -- with C# examples that show exactly how each type looks in .NET code. Read the article here: https://bgh.st/2qcsj6
Build Your First MCP Server in C#: A Step-by-Step Quickstart Build an MCP server in C# with a local stdio quickstart covering packages, Host setup, tool attributes, VS Code wiring, stderr logs, and common fixes. Read the article here: https://bgh.st/xtdnec
Automating NuGet Package Publishing with GitHub Actions Automate NuGet package publishing with GitHub Actions. Learn how to build, pack, and push your .NET package to NuGet.org on every tagged release using a complete workflow YAML. Read the article here: https://bgh.st/hhv7lx