August 1, 2022
Whenever facing a new challenge for implementing a new system or functionality, I try to stick to the mottos don’t re-invent the wheel and use the right tool for the job - I attempt to find the right libraries or software that can be used as building blocks for solving the problem at hand.
You want to parse JSON? Use a JSON-parsing library! You want to validate some data input? Use a validation library! You want to write structured logs? Use a proper logging library and a dedicated log shipping tool! You want to handle complex user authentication in your microservice stack? Use a user authentication service!
June 19, 2022
Common CI/CD pipelines can consist of an arbitrary number of steps, offering space for a lot of different actions. In this blog post, I will list down what I think should be, can be, and should not be done in a CI/CD pipeline.
January 7, 2022
What Keycloak is, what problems it solves, and why it is awesome.
August 10, 2021
Why I think the hate for bloated frameworks is (mostly) unjustified.
June 3, 2021
How idempotent APIs can make your system more fail tolerant.
May 3, 2021
How Terraform is changing how we work with IT infrastructure.
May 1, 2020
There’s many programming languages out there, but none of them are perfect (yet). Here is why I’m sticking to Kotlin for now.
November 4, 2019
The Red-Green-Refactor Approach
The RGR approach is a methodology derived from Test-Driven Development.
The idea is to structure development in the following phases:
Red
We write our expectations first, usually via an automated test.
Once the test is written, we can run it and see what happens.. This seems a bit useless, we haven’t written any code yet, it cannot pass. But what if it passes because our assumption of the problem, or the implementation of the tests, or the setup of the test cases are wrong?