When you build a new feature, orchestrating the actual launch schedule between the Product, Engineering, and Marketing teams can be challenging.
While it seems easy to launch something new, a poorly executed rollout can end up being your worst nightmare.
In my company, I keep switching on multiple Kubernetes clusters depending on which project I am working on.
And to make it even more fun they don’t have all the same version (yes we still have a k8s 1.9 running).
A good practice I try to follow is to keep the…
Chain of Responsibility or Chain of Command is a design pattern that lets you pass requests along a chain of
Handler decides to process the request and enrich it or pass it to the next
It allows you to have great isolation between each step and avoid…
Git is a tool that software engineers have to use every day, so it is important to be happy and not waste too much time when using it.
I know there are plenty of UI tools on the market to help you with your Git experience, but after years of…
This is an endless discussion when creating a new team or product; should I prioritise stability and availability over release frequency? In more technical terms, are you a mean time to recovery Team (MTTR) or a mean time between failure team (MTBF)?
MTBF and MTTR are metrics that together determine…
If you read my previous posts you can see that I am working with Golang and AWS a lot, so in this one, I will present how I deploy a serverless API in AWS Lambda with an API Gateway to access it.
I will write the API using
Since I started using AWS CDK, I’ve been trying to use it for everything related to infrastructure. But I wanted to go a bit further and also manage my monitoring with it.
To achieve this, I am extending CloudFormation with the help of custom resources.
I love working with Go because it is easy to code and easy to build.
But like with all other programming languages, you have to deal with a lot of tooling. …
A cache that periodically refreshes in the background is a common pattern that is used in several use cases, but how can we achieve this in Go? In this article, I will guide you through the concepts behind the implementation to help you understand how it works.
I absolutely don’t think human/manual QA gates should be involved in between the writing of code and its being live. To avoid breaking things every time and to have an early cutoff system, you should use feature flags.