
After 19 Years, I Cancelled My JetBrains Subscription
Nineteen years of ReSharper, Rider, and the full toolbox. Last month I let it lapse. Not out of frustration, but because I hadn't opened Rider in six weeks, and I didn't miss it.
31 posts on .NET, SQL, architecture, and the craft of building software. (page 2 of 2)

Nineteen years of ReSharper, Rider, and the full toolbox. Last month I let it lapse. Not out of frustration, but because I hadn't opened Rider in six weeks, and I didn't miss it.

AI doesn't introduce bad patterns into your codebase. It amplifies the ones that are already there, at machine speed.

Why 'developers don't write code anymore' is the wrong headline, and what the car wash problem tells us about where AI actually is.

A .NET architect's honest look at what happened when AI replaced the keyboard, and why the skills that made you senior five years ago are depreciating fast.

AI gave me back the part of the job I loved. It also removed the friction that forced me to stop.

Anthropic just shipped Programmatic Tool Calling, the feature that makes traditional tool calling look like dial-up. 37% fewer tokens. 13% higher accuracy. And a fundamentally different architecture.

Here's the thing nobody tells you when you start using AI coding agents: they trained on the internet. And most of the code on the internet is terrible. My job is to make sure it doesn't write like that for me.

78% of companies adopted AI. 80% saw no business impact. The generative AI paradox is real, and the Agile framework is the problem.

After more than 30 years of traditional software engineering, I went all in on agentic development. Not to dabble, but to build a complex new platform entirely from scratch this way. Here's what's real.

After years of chasing slow queries, most of the wins come down to a handful of indexing patterns. Here's the mental model I use every time.

Exceptions are the wrong tool for expected failures. The Result pattern makes error paths explicit, composable, and testable. Here's how I use it in C#.