/images/logo.jpg

Korneliusz Rabczak

Never Ending Story of Delivery

The problem

There’s a never-ending story. It’s still not ready for shipping after working for over 3 sprints on it. Your project manager asks you all the time whether the job is going to be finished within this millennium. Your product owner asks you at every single meeting: why did the new feature not go live yet. Sounds familiar?

This unhealthy situation decreases team morale. We will rush with design decisions, work longer hours, we may have a feeling of not getting a closure ever, and failing our team. In the end all these elements have negative impact on us. And we end up with random, uncaught bugs.

Building Microservices awareness

The idea of microservices is a really old one and the “microservices” buzzword got new life about 2 or 3 years ago. Despite this, it’s still something rather new for many people, who go crazy about using it at work. Because of these facts you should think about building a proper microservices awareness in your company. As you don’t want to build yet another distributed system when you don’t need it.

Top 10 mistakes made by developers on recruitment coding challenge

During the last few months I’ve been doing a lot of code reviews of simple code assignments that candidates get as a first recruitment task. This assignment requires basic programming skills like JAVA Collections API, design and some knowledge about best practices. The main purpose is to filter out developers who don’t fit the company. Getting through such code doesn’t seem entertaining. However, I came up with an idea to list 10 common mistakes. Make sure you avoid them next time when applying for a job position!

Devoxx Poland 2017 - Summary

After a 6 months break I’m back to blogging. I hope that my motivation will stay as high as it was when I was starting with it. My absence was caused by the operation of moving to Berlin, what was pretty occupying*. Now, when the moving is finally done, I can go back on the trail :)

*After 2 months I still don’t have stable internet connection at home. Don’t ask me why.

Data synchronization - part 1 : Service Discovery and Leader election

This blog post will be the first part of the bigger proof of concept related to the data replication in distributed environment, which I’m working on. At the beginning, I will show how to separate GET requests from POST having multiple instances of a single application. The goal is to redirect all of the POST requests to the master instance, all GET requests should be distributed across all nodes. Today’s showcase will be focused on three subjects: single master - multiple slaves communication model, leader election between multiple application nodes, and using Service Discovery for automatic load balancer configuration. In this part we’re finding out how to simply use ZooKeeper for Service Discovery and Leader Election, NGINX as a load balancer with dynamically changing configuration by confd. NGINX is a web server, which can act as reverse proxy, load balancer or HTTP cache. In our case NGINX will be responsible for traffic load balancing to the appropriate nodes.

DeltaSpike Data - alternative for Spring Data JPA

Sometimes while attending a Java conference or reading some article on the internet, you can find out that many people think that Java EE is dead. It comes mostly from people strongly addicted to Spring Framework and its many cool features. They believe that Java EE is so 90’ and Spring is the only right solution. I don’t deny that Spring Framework is a great tool. Java EE is just the same tool which resolves the same problems, so we should have an open mind. One of these cool features of Spring is the ease to use a high level database abstraction called Spring Data JPA.