I'm a software engineering professional with a decade of hands-on experience creating software and managing engineering teams. I graduated from the University of Waterloo in Honours Computer Engineering in 2012.
I started blogging at https://www.devleader.ca to share experiences about leadership and development. Since then I've been creating content across multiple platforms about programming and engineering leadership. This repo contains all the projects referenced from my website, Dev Leader, and My YouTube Channel.
Subscribe to the free weekly newsletter for C#, .NET, and software engineering content: Subscribe to Dev Leader Weekly
| Project | Description |
|---|---|
| agent-framework-examples | AI agent framework examples using Microsoft Agent Framework |
| AllAboutEnumerables | Deep dive into IEnumerable, iterators, and collections in C# |
| AppSettingsConsoleAppExample | Reading configuration from appsettings.json in .NET console apps |
| ArraysListsDictionaries | Working with arrays, lists, and dictionaries in C# |
| AsciiArtGenerator | ASCII art generation example in C# |
| AspNetAutofacDecorator | Decorator pattern with Autofac in ASP.NET Core |
| AspNetCoreAutofacExamples | Autofac dependency injection examples in ASP.NET Core |
| AspVerticalSliceTemplate | Vertical slice architecture template for ASP.NET Core |
| AsyncEventHandlers | Async event handler patterns in C# |
| AsyncEvents | Async event patterns and implementations |
| AutofacChildScopeBuilder | Building child scopes with Autofac in .NET |
| AzureBlobStorageExamples.ConsoleApp | Azure Blob Storage operations from a .NET console app |
| Base64Encocoding | Base64 encoding and decoding in C# |
| Benchmarking.BenchmarkDotNet | Performance benchmarking with BenchmarkDotNet in .NET |
| BlazorPluginsExample | Plugin loading in Blazor applications |
| CodeCommute | CodeCommute series projects |
| ConcurrentContrasts | Comparing concurrent programming approaches in C# |
| copilot-sdk-examples | Real applications built with the GitHub Copilot SDK for .NET |
| CopilotCoding | GitHub Copilot coding examples and demos |
| CYC2025 | Code Your Career 2025 examples |
| DapperExamples | Dapper ORM examples for .NET data access |
| DapperUtcConversion | UTC date/time conversion with Dapper |
| datalayer-interfaces-example | Data layer interface patterns in C# |
| EnumExamples | Enum patterns and best practices in C# |
| ErrorMiddlewareExample | Error handling middleware in ASP.NET Core |
| event-handler-example | Event handler patterns in .NET |
| EventHandlerLeak | Demonstrating and preventing event handler memory leaks |
| EverythingYouWantedToKnowAboutMultilineStrings | Multiline string techniques in C# |
| ExceptionBehaviorsAndBenchmarks | Exception handling behavior and performance benchmarks |
| ExceptionHandling | Exception handling patterns in C# |
| ExtensionMethodExamples | Extension method patterns in C# |
| FusionCacheExamples | Caching with FusionCache in .NET |
| InstallerTutorial | Creating installers for .NET applications |
| InternalsVisibleTo | InternalsVisibleTo for unit testing internal members |
| ioc-singleton-example | IoC container singleton patterns |
| IronPythonExamples | Running Python code from C# with IronPython |
| LambdaRefactor | Refactoring with lambda expressions in C# |
| LazyExample | Lazy initialization patterns in C# |
| LegacyCodeNightmare | Dealing with legacy code patterns |
| LetsGetDefensive | Defensive programming techniques in C# |
| LetsTalkEnumerables | Enumerable patterns and techniques in C# |
| MediatorDesignPatternExamples | Mediator design pattern in C# |
| MicrosoftTestingPlatformExamples | Microsoft.Testing.Platform examples |
| modular-monolith-examples | Modular monolith architecture patterns including strangler fig |
| MongoDBExamples | MongoDB with .NET — insert, query, and benchmark examples |
| MoreLinqExamples.ConsoleApp | MoreLINQ library examples in .NET |
| ObserverPatternExamples | Observer design pattern in C# |
| OperatorExamples | Operator overloading in C# |
| OptionsMonitorExample | IOptionsMonitor for live configuration reloading |
| OurWebApi | Web API examples in ASP.NET Core |
| performance-examples | .NET performance optimization examples |
| PipelineExamples | Pipeline pattern implementations in C# |
| PluginLoading | Dynamic plugin loading in .NET |
| PracticalIterationAndRecursion | Iteration and recursion patterns compared |
| PrimaryConstructorExamples | C# primary constructor syntax examples |
| PythonNetExample | Python.NET interop examples |
| RecordTypeEqualityDemo | Record type equality semantics in C# |
| RecordTypesInEarlierVersionsExample | Record types backported to earlier .NET versions |
| RedisExample | Redis caching with .NET and StackExchange.Redis |
| RefactorStaticSingletonDI | Refactoring from static singletons to dependency injection |
| RefactoringCompositionDITesting | Refactoring for composition, DI, and testability |
| RefactoringWithRosario | Refactoring techniques and examples |
| ReflectionExamples | Reflection in .NET — patterns and performance |
| ScrutorVsAutofac | Comparing Scrutor and Autofac for DI registration |
| SemanticKernel.Intro | Introduction to Semantic Kernel in .NET |
| semantic-kernel-examples | Practical Semantic Kernel applications: agents, RAG, search |
| singleton-examples | Singleton pattern implementations in C# |
| SocialMediaAssistant | AI-powered social media assistant |
| SpanExamples | Span and memory-efficient patterns in C# |
| StreamingData.DownloadVideoExample | Streaming data download example in .NET |
| StringExamples | String manipulation and best practices in C# |
| StringFormatBenchmarks | String formatting performance benchmarks |
| StructuredLoggingExamples | Structured logging with Serilog and Microsoft.Extensions.Logging |
| Tab Fragment Tutorial | Tab fragment UI tutorial |
| TestingWithBlazor | Testing Blazor components |
| thread-pattern-example | Thread and concurrency patterns in .NET |
| UnitTestSimpleSystem | Unit testing fundamentals in .NET |
| UnitVsFunctionalFaceOff | Comparing unit and functional testing approaches |
| UnsafeAccessors | UnsafeAccessor API for accessing private members in .NET |
| VehicleCompositionExample | Composition over inheritance example in C# |
| VibeCodedAnalyzers | Roslyn analyzers built with AI assistance |
| WeakEvents | Weak event patterns to prevent memory leaks |
| WorkingWithDictionaries | Dictionary patterns and techniques in C# |
| WorkingWithRegex | Regular expressions in C# |
| WpfApp1 | WPF application example |
| WpfPlayground | WPF experimentation and demos |
| XmlResults.SampleApplication | XML results in .NET testing |
| XUnitTheoryData | xUnit TheoryData for parameterized tests |
| yt-demo | YouTube demo projects |
If you found this useful and you want to learn more about C#, .NET, and software engineering, subscribe to the free Dev Leader Weekly newsletter:
Subscribe to Dev Leader Weekly
- All Links
- Website - Dev Leader
- YouTube - Dev Leader
- YouTube - Dev Leader Path To Tech
- YouTube - Dev Leader Podcast
- YouTube - CodeCommute
- Newsletter - Dev Leader Weekly
- LinkedIn - Nick Cosentino
- GitHub - ncosentino
- Twitter/X - Dev Leader
- Threads - Dev Leader
- Bluesky - Dev Leader
- Mastodon - Dev Leader
- Facebook - Dev Leader
- TikTok - Dev Leader
- Twitch - Dev Leader
- Stack Overflow - Nick Cosentino
Powered by BrandGhost 👻