Monolith vs Microservices

Over the years I read a lot of articles and stories about the differences between Microservices Architectures and Monolithic Architecture (Monoliths). Today I am about to tell you my own version. What is a Monolith i.e. a monolithic architecture? A monolithic application, let’s call it a Monolith, is an application delivered via a single deployment unit. Examples could be an application delivered as single WAR or a Node application with a single entrypoint. Example: Let’s make an example: A classic online shop. Our business boundaries are ORDERS, ITEMS, CUSTOMERS, SHIPPING and PAYMENT. Provided ways of interacting with the service are:... [Read More]

8 Lessons learned starting a Developer Blog

1. Find your purpose What is your reason to start a blog? Did you read on Reddit, Hackernews or another site that you need one as developer in order to be relevant? Are blogging developers getting paid better? Or do you want to showcase your latest work somwhere? Another thing you can do on a personal blog is to build an audience and get into selling courses or guides. Whatever it is - be aware of it and act accordingly. You want to build tutorials? Cool - write good ones and publish them. You want to build a portfolio of... [Read More]
Tags: personal

10 Rules to live by as a Developer

1. It is about the people! Software needs to solve people’s problems. What really separates good from great developers is mostly their way of communicating with others and thinking in problems. 2. Make friends and be someone you would to have as a co-worker - Be positive! You are probably spending more time with your co-workers than with your loved ones. Make sure to make the best out of it, make friends at work and you will see that work is much more bearable. Also it is a lot more fun! Try to be the best version of yourself. Even... [Read More]
Tags: personal

Spring Boot Integration Testing Done The Right Way

This article will be about writing proper Integration Tests with Spring Boot 2. In my opinion Integration Tests should be as similar as possible to the production environment. Due to this, an embedded H2 is not cutting it. I sat on this exact problem when bootstrapping our latest project at work. In the past, we just went with the embedded H2 and were quite happy. The only complaints we had: Sometimes we used a syntax which was working on H2 but not on our Production MariaDB instance. Mostly it was about creating indexes and tables within Flyway. Since our current... [Read More]

Spring Boot Redis: Ultimate Guide to Redis Cache with Spring Boot 2

Spring Boot and Redis are a powerful combination. This article shows how you can use it for your caching needs. The Ultimate Guide to Redis Cache with Spring Boot 2 will help you to fulfill all requirements. It has been a while since I wrote my article about ‘How We Made Our Spring Boot Applications More Robust with Redis Cache and Spring AOP‘, so I guess it is time to write another technical article about Redis and Spring Boot. During my last 2 years at work, I would say a lot of our current architecture is only possible by using... [Read More]

Staying In Business as a Developer

This article will be mostly about personal advice on how to stay in the industry and keep your sanity while being happy. I want to summarize my ideas about this topics as the “Growing Developer Mindset”. So what makes a growing developer? We, as developers, often hear these horror stories about old developers just disappearing or younger ones replacing them. This is a like night to day difference in comparison to other industries. In other industries, the more senior people are supposed to show the younger ones the ropes. Why is this happening in IT? How can we avoid to... [Read More]

Five Stages of Grief

Letting Go of a Software Project

You might be aware of the Kübler-Ross model (known as five stages of grief). It is a model designed to postulate the progression of emotional states experienced by terminally ill patients after diagnosis. The five stages are chronologically: Denial, Anger, Bargaining, Depression and Acceptance (source: Wikipedia). Today I don’t want to write about the original Kübler-Ross model, but an application of it on dying software projects. How are we dealing with dying software projects as developers? As software developers, we are often identifying ourselves with our work. As a result, we often suffer if things are not going right at... [Read More]

The Things more important than Code

There are Programmers living in ivory towers built from their own egos ruling over their systems. Technical solutions for the sake of technical solutions are not the things you should be building. Your code has to solve a problem. It is not beneficial to build a solution and start to look for matching problems. There is this saying: “If all you have is a hammer, everything looks like a nail” – Maslow’s Hammer, Abraham Maslow So make sure you work hard at solving a problem and not building a “solution without a problem”. The Software Developer Your part in this,... [Read More]

Git Best Practices

Over the years I learned a lot about git. Most of the parts I learned the hard way by using it on a regular basis. Here I summarize a lot of the things which I would consider Git Best Practices for using git in a team. Use the force Luke – use the CLI At least give it a real try! Like the young Skywalker you at least once should limit yourself to the bare minimals. Use the force Luke – let go! Over the years I got used to the terminal interface of git in a way that all... [Read More]

11 Ways to Kill Your App in the App Stores

1. Make Sure to Build the Wrong Features Users complain a lot about features which don’t work. So what would be better than building things they won’t use at all? Features not getting used are the ones with the lowest number of bugs reported. 2. Don’t Listen to Your Users This goes hand in hand with the advice I just gave. Why should we listen to our user base? Aren’t we experts who get paid for developing good software? Would you give feedback to a chef who wants to cook you a steak? 3. Ship No Matter What Every user... [Read More]
Tags: experience