Tomasz Fijałkowski's programming blog.
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.
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.
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...
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?
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.
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.
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...
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,...
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
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...