Draw architecture diagrams like a boss!

I am always grateful when I see any architecture diagram once I join a new project. A picture is better than a thousand words. A well-designed diagram can quickly enlighten us about the architecture of the project. The more we see such diagrams in the company we work for, the better understanding w have of what is actually going on from a more high-level perspective. Nevertheless, I do not see such diagrams as often as I would wish and I guess you have the same feeling (hopefully not!). There are a couple of reasons for that, I think the main Read more…

How helpful are Architectural Decision Records (ADRs)?

A few years ago, my team started to write ADRs. We had several green projects and we were all responsible for the architecture of these new systems. We had also the ability to choose the tech stack – at least to some extent. Obviously, we did not want to contaminate this happy time by spending it writing extensive documentation that almost nobody likes writing and almost nobody reads. We have decided to go with ADRs and this was the way to go! Right now, more and more projects in the company adopt this approach and it really makes our life Read more…

Own a blog in the cloud in less than 5 mins with Docker. Free, fast, and with SSL!

In my recent post, I described how cool is the Free Tier in the Oracle Cloud – we can for example spawn a pretty strong ARM server and use it for free (see Oracle Cloud Free Tier – too good to be true? for more details). While I was using GitHub pages to host my personal website as well as a programming blog for a few years (I have written more about GitHub Pages in this post: Java’s guy journey to GitHub pages), I decided to switch to WordPress hosted in the cloud – and Oracle Cloud was a perfect Read more…

Oracle Cloud Free Tier – too good to be true?

Cloud-related topics are trendy for many years. There is no escape from that and sooner or later, every dev will need to get familiar at least with the key concepts. Yes, I know there are DevOps teams for that, and I have already heard complaints from developers that the maintenance of infrastructure is not their duty. Even if I somehow agree with that, having a dedicated environment to play in would be awesome. Why Oracle Cloud? I always hesitated to provide my payment card to cloud providers. While experimenting, it is not that difficult to make a mistake and eventually, Read more…

Secure your files in the cloud – Cryptomator for the rescue!

The 3-2-1 backup rule I guess we all know this saying and I guess all of us have already advanced from type 2 to type 1 a long ago: There are two types of people : People who do backup People who will start doing backup — Author: life, for sure 🙂 If we talk about backups, there is also one another pretty wise rule: The 3-2-1 backup rule: 3-2-1 backup rule:3: Create one primary backup and two copies of your data.2: Save your backups to two different types of media.1: Keep at least one backup file offsite. While I Read more…

Delivering high-quality software – a code review

Other posts in the “Delivering high-quality software” series: 1. Delivering high-quality software – a clean code 2. Delivering high-quality software – a code review A proper process of code review is another part required to deliver software that not only “works” but also evolves correctly. Doing a code review is like playing a good game – “easy to learn and difficult to master”. The are several challenges we have to face in this process, yet we may be unaware of them. Today I am going to write a little about these challenges and tips that can help to overcome them. Read more…

Delivering high-quality software – a clean code

Other posts in the “Delivering high-quality software” series: 1. Delivering high-quality software – a clean code 2. Delivering high-quality software – a code review Nowadays, we use the software every day and almost everywhere. We require the software to work – and to work fast. I guess we all are annoyed by buggy software. The same is on the other side of a mirror – it is not that comfortable to investigate and fix production bugs under the pressure of time and upper management. I am going to write a series of posts about making our life easier by producing Read more…

IntelliJ plugins that will speed you up – my battle-tested collection for 2021

IntelliJ IDEA has tons of awesome plugins which make this fantastic IDE even better. Here is my battle-tested list of plugins I use for a long time. General usage plugins Save Actions Save Actions plugin does the necessary code cleanup in the background, therefore you can forget once and for all about reformatting code, optimizing imports, putting finals, and so on. Just configure it and things will be done automatically for you. Rainbow brackets The idea of colorizing brackets is simple yet ingenious. I think such a feature shall become a default in all IDEs. String Manipulation This awesome plugin Read more…

My java dev interview questions database

I think everybody can agree that programming interviews can be tricky. No matter how experienced we are, our overall area of expertise is incredibly huge and it is pretty easy to fall prey to a simple question:) Still, preparing for interviews is a good way to refresh our knowledge. For this reason, years ago I started collecting questions I got in interviews. This particular collection contains: ~90% of real questions I was asked in various companies in Krakow between 2016-2020 ~10% real questions my friends got difficulty: most of them are from junior to senior java dev positions, few of Read more…

Commit to the quality of your commits

There are lots of good practices often repeated regarding the code review process, however I very rarely see anything regarding reviewing the structure and the content of commit messages. The proper history of the change is as important as the code itself and can really help to understand the purpose of the implementation, especially after some time. A good commit description and a logical order can be a blessing, especially when finding a bug in a legacy project in the middle of a night. Below there is my checklist what I try to do with my commits before I submit Read more…