Why growing new talent is important Companies and businesses are built and run by people, none of the companies will exist without people who dedicate their time, effort and talent to start and later move the company forward. Therefore, it is vital for a company to invest in people to secure long term success. One […]
Kafka or RabbitMQ
Kafka or RabbitMQ? If you are looking for a concise yet complete answer on any of the following questions, this post aims to provide you enough information to decide: what is better Kafka or RabbitMQ; how Kafka and RabbitMQ are different; when should you choose one over the other.
Domain Driven Design Layers
When we think about Domain Driven Design, what things do come first in mind? Is it Entities, Value Types, Aggregate Root, or maybe it is Ubiquitous Language; or Repositories and Services? Well, today we are going to discover less known and often missed out concept of Domain Driven Design: its layers. Domain Driven Design layers […]
Builder Design Pattern
As stands from the name, Builder design pattern helps to instantiate objects where instantiation logic is somewhat complex, involves multiple steps or options before an object is ready to be used. Builder design pattern helps to reduce complexity by proving clean object instantiation interface guiding users through all available options. Additionally, Builder helps to improve […]
Automated testing slows me down, doesn’t it?
You might have heard arguments similar to this: “I don’t have time to write tests, I’m too busy implementing this feature”. Being an automated testing fan, how would you reply? Automated tests indeed take time to write and maintain, and that is an axiom. Luckily, the reality is not as simple, and the statement above […]
Singleton Design Pattern
Singleton is perceived as controversial design pattern, in some publications it is criticized and placed in a bucket along with antipatterns. Never less Singleton is used in variety of applications for a reason. Singleton helps to ensure a single instance of an object is created throughout application lifecycle. In this post we are going to […]
Factory Design Pattern
The idea behind factory design pattern is quite simple and it is to help instantiate objects when we require more than just a constructor call.
Event Sourcing and CQRS is not that hard
“Event Sourcing, CQRS? Sounds familiar, but what is it again?” If you are in the same state of mind and the above sounds just slightly familiar or not at all, this is the right post for you. Event Sourcing and CQRS are two patterns on its own that apparently play very nicely together. Let’s look […]
Exceptions, catch or not?
Before we dive in, let’s define what does it mean to catch an exception. Many, if not all, programming languages have notion of an exception that terminates program execution flow; and most of languages have mechanism to handle exceptions, for example try-catch-finally language construct. Assuming familiarity with try-catch-finally we are going to focus on when […]
Comment or Not
We (developers) read code way more often than we write it, whether it’s someone’s else code or our own code written a while ago. Sometimes code is simple enough that It reads as plain English, but sometimes we can spend hours re-reading and debugging while trying to comprehend what is going on. So how easy […]