Recent Posts
12 things professional software developers do
Quite recently me and a coworker had a lively discussion on what constitutes a great software developer, or, in more blunt terms, what separates the professional from the amateur. This got me thinking about the things I currently think are crucial in any professional software developer. Here’s my...
A reminder on why every software team can benefit from Scrum and/or Kanban
At my current project, me and my very experienced team mostly focusses on supporting the development teams with architectural design challenges, long-running improvements, or helping them resolve technical debt that is impeding their user stories. However, during the last five months we picked up...
Ingredients for well-designed OWIN middleware components - Part 7
In the sixth post of this series I talked about how you can use Swagger to create real useful documentation for your API. In this seventh and probably last post, I'd like to present some spices to make that OWIN middleware component extra special. Spice 1: Automate your entire bu...
Ingredients for well-designed OWIN middleware components - Part 6
In the fifth post of this series I talked about some PowerShell tips to align the versions of all NuGet packages. In this sixth post, I'd like to show you how you can make your HTTP API much easier to use. Ingredient 7: Swagger-enabled documentation If your component exposes an HTTP API based o...
Ingredients for well-designed OWIN middleware components - Part 5
In the fourth installment of this series I proposed a pattern for postponing expensive operations from inside your middleware component until the OWIN pipeline has been constructed. In this post, I'm going to talk about aligning package dependency versions. Why? Well, in my experience a well-desi...
Ingredients for well-designed OWIN middleware components - Part 4
In my last post I talked about unit testing your OWIN pipeline and briefly mentioned that you shouldn't do any heavy lifting from inside your UseWhatever method. Examples of that include starting background tasks or connecting to other services (through that HttpMessageHandler). If you're lucky, ...