I’ve had a few ideas for this year’s C# Advent, but this one feels the most relevant at this time. The client I’m currently working with, builds their NuGet packages on developers’ machines; it’s a practice that generally works and is not too labour intensive, but occasionally steps are missed and problems can occur. The relative infrequency of builds means developers are not sufficiently motivated to automate the task, but as we’ll see, it’s not too difficult. This post walks through my preferred solution.

Is this for me?

However you build your NuGet packages, I hope you’ll find this post useful. I’m going to…

Is This For Me?

I’m going to showcase how I prefer to structure my microservice repositories while I practice Outside-in TDD using C# and Docker Compose.

I’ll show you how I create the skeleton repository with some initial tests. We will implement some temporary behaviour to satisfy the tests before replacing it with a more persistent solution.

If you’re like me, you won’t have Christmas done, so we will walk through the commits in the repository to save a bit of your time. What you gain from not copying and pasting, can be spent on wrapping and sticking instead!

This post is one of…

Photo by from Pexels


One problem we have as developers, is keeping on top of our dependency housekeeping. How often have you seen a repo with packages that are months, perhaps years, out of date? And how many times have you tried to update one or more, only to rage-revert after hours of hair pulling frustration? Updating these dependencies few and often is most definitely the way forward.

In my last post I wrote about Creating a Pull Request workflow in Azure DevOps; I’ve since applied this to many of the repos belonging to the client I’m currently working for. …

Photo by from Pexels


I’ve recently moved from a client with a very mature microservice architecture to one whom is just embarking on their microservice journey; mature vs green, AWS vs Azure. I had some ideas about how we should work, discussed them with the team and we set off to quickly make them reality. Or so we thought!

To provide some context, I have used the Trunk Based Development (TBD)¹ model successfully before, using GitHub Pull Requests and Thoughtworks GoCD. …

Andrew Craven

Freelance Engineer, Architect, Problem Solver etc.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store