thecookiezen blog

Phantoms Exist - the Delusion of IT Corporation World

| Comments agile, best practices, digital transformation


Have you ever wonder, what some people do in your company? What their mysterious corpo titles mean? Who do they manage? What are their day to day responsibilities? Is there any outcome of their work?

It looks like we’re talking about phantoms.

I’ve spent my whole career working for the IT companies, which were just before or in the middle of the digital transformation. During this amazing, 10 year long journey, I saw many changes, that were dictated by the corporation. One its tricks was creating a role for someone, just to make this person happy. No more reasons, no more other benefits for the company.

Now, I’ve finally managed to find a right word to describe this phenomenon. People that have these roles are Phantoms. You can see some similarity to the old movie series with brilliant Louis de Funès, right?

Never Ending Story of Delivery

| Comments agile, architecture, best practices


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.

Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.


Building Microservices Awareness

| Comments architecture, best practices, microservices


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

| Comments best practices, learning, recruitment, self improvement


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

| Comments conferences, devoxx


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.

Last month I was at a great JVM/Architecture/Cloud/Microservices related conference in Krakow - Devoxx Poland 2017. Not only did I meet my friends from previous companies over there, but I also attended in some rather interesting talks. As a re-warm-up blog post I’ve prepared a summary of some of those.

Data Synchronization - Part 1 : Service Discovery and Leader Election

| Comments curator, data synchronization, nginx, zookeeper


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

| Comments deltaspike, jpa, payara, persistence, spring, spring data


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.

Take Control of Your Career

| Comments career, job interview, self-improvement


Why should you change your job?

Your motivation is close to 0. You’re a part of IT division that is thought to be just a cost, not an income. Everyone’s quitting. There is a feeling that you’re not learning or growing anymore. It’s not fun anymore. Bad decisions are being made.

Just ask your partner, friend or your parent if you should change your job. They may know what is best for you because they spend so much time with you. Some impressions are not visible for you yourself.

For me the most important things that I’m looking for in the new place are: company culture, great people and possibility for my personal growth. Not the money, location or fancy technologies. Does the company know how to motivate its own developers? It’s also important. Being motivated is rather essential for being productive and just happy.

Don’t you want to be happy?

Best of GeeCON 2016

| Comments conferences, geecon, java, jvm


Last week I had a chance to be for the third time at a Java conference called GeeCON. I really enjoyed this event because of the number of great people and many interesting topics related to the JVM world. By visiting such conferences you can learn new things and get to know the expert’s newest opinions. However, after this event, as always, I have more questions than answers. Some mysterious magic was present there and, as software developer, I feel the need to make this magic disappear. So I have to spend some time reading articles, doing research and experimenting. In this post I want to summarize the best presentations I’ve been by those 3 days in Cracow.

High Availibility of Application Using Wildfly HA Singleton Service

| Comments high availibility, singleton service, wildfly


Why should I provide HA for my application?

If we are creating application for some client or for ourselves we need at some point to deploy our work on production servers and expose to the world. For most cases it’s obvious that our application cannot work as one instance. We need multiple instances of our service in case of failure of one of our servers. Also the network can fail. Also the accidence of high load or some other problems which might suddenly surprise us. Therefore we have to think about High Availability much earlier just not to fail and to be awakened during the weekend.