Software Craft

Git Rebase vs. Git Merge Explained

In this article, we are going to discuss some very important commands from Git and how they make the life of developers easy - working individually or in a team.

Read more

The Liskov Substitution Principle Explained

This article gives a quick intro to the Liskov Substitution Principle (LSP), why it’s important, and how to use it to validate object-oriented designs.

Read more

The AWS Journey Part 2: Deploying a Docker Image with AWS CloudFormation

In the first article of my AWS Journey, we deployed a Docker image via the AWS web console. While this works fine, it includes manual work and doesn’t provide fine-grained control over the network and other resources we might need.

Read more

Interface Segregation Principle: Everything You Need to Know

“Clients should not be forced to depend upon interfaces that they do not use.” — Robert Martin, paper “The Interface Segregation Principle”

Read more

Single Responsibility Principle Unpacked

This article explains the Single Responsibility Principle (SRP): what does it practically mean? And when and how should we apply it?

Read more

Continuous Database Configuration with Flyway and Kubernetes

Self-contained systems (SCS) are systems that have no tight coupling to other systems. They can be developed, deployed and operated on their own.

Read more