We are a group of humble, but amazing developers with one thing in common: we're all west of somewhere else. Where we differ from similar sites: we talk to each other! Often. At conferences, via email, and on Slack. From Docker to Canadian politics to feature toggles to smoked meat, we're never at a loss for words. We blog, talk, write, and present. Thanks for stopping by.


Avoid Death With C# Compiler Directives
Justin Self
Compiler directives in C#: they should be avoided. If they aren't, and you're using them to compile different code based on build modes (like DEBUG or RELEASE), then listen closely and do what I do... it'll change your life.
Using NodaTime with Dapper
Dave Paquette
After my recent misadventures attempting to use Noda Time with Entity Framework Core, I decided to see what it would take to use Dapper in a the same scenario.
Using Noda Time with Entity Framework Core
Dave Paquette
Noda Time is a fantastic date/time library for .NET. I started using it recently and it really simplified the logic around handling dates. Unfortunately, I ran in to some problems with using Noda Time together with Entity Framework Core.
Optimistic Concurrency Tracking with Dapper and SQL Server
Dave Paquette
This is a part of a series of blog posts on data access with Dapper. In today's post, we explore optimistic checks to ensure 2 users can't accidentally overwrite each other's updates to a particular row of data.
Durable Functions Analyzer
Simon Timms
When it was announced the Roslyn would become the default compiler for C# in Visual Studio I was super excited. I felt like it would generate all sorts of domain specific languages, custom flavors of C#, tons of custom error providers. So here we are 5 years later and almost none of it has come to pass. Why not?


JavaScript and NPM
DEC 27 - A discussion on the implications of blindly using NPM

What We've Done
A sample of some of the things we've done.

© 2015 Western Devs. All Rights Reserved. Design by Karen Chudobiak, Graphic Designer