Communication The Science Behind Dramatically Better Conversations Discussions typically have multiple conversations — practical (what’s this really about), emotional (how do we feel), social (who are we). Things get off the rails when you’re having one conversation and the other…
All posts filed under “Career”
Professional Development – 2025 – Week 9
.NET WhenAll vs WaitAny The Craziest Feature .NET Released in YEARS The StringComparer class supports a new option — CompareOptions.NumericOrdering — that allows you to do things like have “07” equal to “7”. Another use case is when you have…
The Responsibility Process (Notes)
This post contains my margin notes from the book The Responsibility Process: Unlocking Your Natural Ability to Live and Lead with Power by Christopher Avery. This book was recommended to me by Cameron Presley, and is a core part of…
Professional Development – 2025 – Week 8
Professional Development – 2025 – Week 7
Sociology The Theory of Stupidity
Professional Development – 2025 – Week 6
.NET The Most Underrated .NET Feature You Must Use Channels can be thought of as in-memory queues. See the official Microsoft docs here. Decisions 5 Questions to Help Your Team Make Better Decisions
Professional Development – 2025 – Week 5
.NET Everything a .NET Developer Needs to Know in 2025 This is an updated version of last year’s roadmap — so many things!
Professional Development – 2025 – Week 4
.NET Fixing Your Dictionary Problem in .NET A common scenario is checking if a key exists before inserting it. This causes two passes through the hashing algorithm — lookup, insertion. Note that ConcurrentDictionary<T> has a GetOrAdd() method. You can make…
Professional Development – 2025 – Week 3
.NET The Problem with Singletons You Need to Avoid For most applications, using the traditional singleton pattern (or using a singleton scope in a service container) is good enough to minimize overhead of things “create once use many.” There are…
Professional Development – 2025 – Week 2
.NET Don’t Use This LINQ Feature. It’s Bad. Code Cop #26 This video was about .Skip(x).Take(y) versus .Take(x..y). The performance difference is minor for providing a range argument. The former tends to be more readable as well. The New Way…