Programming Chi

Tomasz Fijałkowski's programming blog.

Remote Work Patterns

The illustration shows how different people, represented by small circles, can cooperate with others to create a communication network around which satellites orbit

Remote work has become increasingly common lately. I myself worked for a year as a satellite, and previously for a year in a fully distributed team across different time zones. Currently, I work at Allegro, where due to having offices in several cities, elements of remote work are commonplace.

read more

My Confitura '18 Talk: Micro-Monolith Anti-Pattern Now on YouTube!

The illustration shows the exponential growth of communication paths as nodes increase

My talk from Confitura ‘18, titled “Micro-Monolith Anti-Pattern”, is now available on YouTube!

Watch it here: https://www.youtube.com/watch?v=2CVJuPtlNVU

Note: The presentation is in Polish.

Enjoy the insights and feel free to share your feedback in the comments!

For further insights and concepts discussed in the talk, check out my Micro-monolith anti-pattern article.

Why scrum is passé?

An illustration of a puzzle in which one element with the word implementation is lifted and reveals the word value

For some time now, I’ve been observing that Scrum is in decline. It’s not about its decreasing popularity. On the contrary, it has become a buzzword. It appears in almost every job advertisement (alongside a young dynamic team), losing its original meaning. In my surroundings, people show less enthusiasm to implement it - they often want to modify it and...

read more

Optional as a Field and what are you going to do to me about it?

It’s been quite some time since the introduction of the Optional class in JDK 8. A lot has been written about where and how to use it, what constitutes good practice, and what doesn’t. An example of this can be found in the Optional Anti-Patterns article. But does it all make sense?

read more

Reducing coupling of Java 9 modules

In the Quick Introduction to Java 9 Modularization article, I quickly introduced the basic concept of Java 9 modularization. Now is the time to improve module design. In this article, we will focus on reducing module coupling.

read more

Quick introduction to Java 9 modularization

The new version of Java is fast approaching. The official release is scheduled for the 27th of July 2017. However, you can already use the early access version to play with the new features. In this post, I’d like to quickly introduce the modularization of Java 9.

read more

Looking for the best product owner

If I had to mention two things that can change the fate of a project, it would have to be domain-driven design (DDD) and agile methodology. One of the most popular agile methodologies is Scrum, which provides the product owner role. Unfortunately, I’ve noticed that in many projects, the weakest link of the team was the product owner. This is...

read more

Micro-monolith anti-pattern

Microservice-based architecture gains popularity every day. This approach has many advantages. The most important advantages include independent deployments, shortened and simplified deployment pipelines, limited communication between teams, and technology freedom. These core advantages support the quick delivery of new features and organization scalability - allows for doubling the number of teams without a significant increase in cross-team communication overhead. Microservices,...

read more

Microservices and modularization

Many times I heard that the microservice-based architecture is a solution of modularization issue. This is explained by the statement that monolith is a pure evil with the big ball of mud architecture. Microservices, in contrast, are well separated units of business logic. This biased point of view is visualized by diagrams like

read more

Responsible work with MongoDB

Understanding data model is sufficient to design good database schema in RDBMS (relational database management system). Having this knowledge you are able to construct normalized tables, add appropriate constraints and finally create indexes to speed up queries. In the world of NoSQL there are no simple solutions, rules and answers. That’s why we can only talk about patterns, tips and...

read more