There is still too much code without automated tests in place. It is a pity since automated tests are the foundation that safely enables rapid development.Read More »6 tips for creating tests for your code
Write code that grows
I have just completed the CKA (Certified Kubernetes Administrator) exam. The exam is vastly different from other certifications I have. I mean, this in a positive way. The exam is 100% hands-on, a quality I have missed in many other certifications. Although passing the exam does not give you everything you need to be able to administer a Kubernetes cluster in production, it is a good start, and it shows that you have understood the inner workings of Kubernetes.Read More »CKA certification – 3 tips to rock the exam
Adding tests to an existing code base is not always easy. So, where do you start? In the video, I showcase how to do it using a code kata called the gilded rose. It is complicated enough that you should be able to extrapolate it to the code you are working on.Read More »How to add a Test Harness
In a legacy codebase, there are often a considerable amount of dependencies. It makes it hard to introduce unit tests. But since tests are essential to make changes safely, we need techniques to break the dependencies. In this video, I try to explain how to do just that.Read More »Breaking Dependencies
When starting a new project, architecture is one of the defining decisions you want to make. If you have followed the hype, microservices seems to be the young and hip choice. But you should not rule out the monolith to quickly. Both architectures have a profound impact on not only the code but also on the team(s) writing it. In this article, I’m going to cover all aspects you need to consider when making a choice, not just on the code part. I will also include the organizational, infrastructure, deployment, and security aspects. Please remember to check out the checklist at the bottom that can help you choose.Read More »Monolith or Microservice?
Adding unit tests to a legacy codebase is quite different beast than adding it to new code. It provides some unique challenges.
With new code, we have the luxury to apply principles like test-driven development and make sure the code is designed for testing. In a legacy codebase, we are given the code we must approach it with much more care.Read More »Adding Unit-tests to a legacy codebase
Learn how to improve performance using scalability with the async and await keywords. When are asynchronous code able to help us and when will it… Read More »Improving scalability in C# using Async and Await
When developing distributed systems with containers, common problems surface. Common problems in programming are tackled using patterns. Brendan Burns introduces several patterns to use when designing and implementing distributed systems. Similar to the thoughts behind using patterns for software development. The author is one of the co-founders of the Kubernetes projects, so he is an expert in distributed systems.
The book is only 149 pages long and is available for free from Microsoft. It features both generic explanations of the different patterns and hands-on examples on how to implement them using Kubernetes.Read More »Book Review: Designing Distributed Systems
I have experienced both having and being a mentor. Both roles require a lot of energy to get great results. But when the energy to support the collaboration is maintained by both the mentor and the mentee, magic can happen.
The union for engineers in Denmark IDA has a mentor program where members can be matched with a mentor. As part of the mentor program, I have been interviewed which resulted in the video below(in danish).Read More »Mentoring