Azure and Terraform

I have always believed that Delivery is one of the most important aspects of software development. I blogged about it previously (My Core Values). Software delivery isn’t just putting the bits into the final resting location; it must also include the infrastructure provisioning to explicitly define where the bits will actually land. Terraform helps bridge that gap, especially given a public cloud offering like Azure.

[Read More]

Code Review Best Practices

I am a firm believer in delivery high-quality code at all times. As such, anytime the committer of code isn’t the only person looking at the code before it goes live, we can be reasonably certain that the quality of the code will increase.

[Read More]

What Makes a Senior Developer

In my current job, I’m frequently asked to interview new candidates to join our development organization. One of the first questions that always gets asked, either by me or one of my colleagues, is “What level is this person interviewing for?” There really are only two answers for this question where I work: Developer or Senior Developer.

[Read More]

Working With Legacy Code

Precursor: I’ve been working with a significantly large legacy codebase for over three years now. Here are some tips, tricks, and general pointers to make sure you don’t make the same mistakes I’ve made with legacy code.

[Read More]

Logging with Serilog, LibLog, and Seq

I’ve written and rewritten logging providers about 300 times in my career. It’s something I know how to do, I know how to extend, and I know how to hate it. Every time I write it, I hope for some great abstraction layer that will allow me to reuse this library across every future application. I inevitably fail at this.

Along comes The Solution To All My Problems.

[Read More]