Who will train tomorrow’s senior engineers?
AI is taking over some of the work that helped previous generations of software engineers develop their judgment. If those opportunities diminish, how will today’s juniors become tomorrow’s seniors?
I write about ASP.NET Core, AWS, APIs, testing, infrastructure, and developer tooling, grounded in problems I encounter while building real systems.
AI is taking over some of the work that helped previous generations of software engineers develop their judgment. If those opportunities diminish, how will today’s juniors become tomorrow’s seniors?
After years of writing C#, there are still language features I wish existed. From simpler generic APIs to richer enums and more expressive types, here’s my personal wishlist, grounded in problems I’ve encountered while writing real code.
An MCP server, a secure tunnel, and a personal access token. What could go wrong? A Halloween horror story about shadow IT and security.
AI doesn’t just make writing code cheaper. It can also make architectural exploration cheaper, letting us investigate questions we previously wouldn’t have had time to pursue.
Managing roughly 25 GitHub repositories was becoming a maintenance problem. Here’s how a growing script turned into Octosmith, a declarative tool for aligning repository configuration without requiring uniformity.
Early-career developers can easily mistake short-term productivity for progress. Growing into a senior also requires context, relationships, judgment, and exposure to how experienced engineers think.
AutoFixture composes the test context. Bogus makes generated data easier to describe.
Contract-first API design is less about writing YAML first and more about making a shared boundary explicit before implementation decisions harden. This post looks at why that matters when one service is consumed by several independently...
AI helped me publish far more frequently by removing friction from how I develop and refine ideas, while keeping the filters, structure, and review that determine whether a post is worth publishing.
A unit test should show what makes its scenario special. AutoFixture can provide a valid context by default so the Arrange phase only needs to describe the difference.