Jul 19, 2022Simplifying systemsWhen you start developing, software systems are small and easy to maintain. But they (almost) always grow in time. Human beings hope that they can hold average sized system in their heads at once. This can be only achieved by reducing complexity to simplicity. A good software engineer will do…Software Development4 min readSoftware Development4 min read
Jul 12, 2022Dissolving the Monolith: PatternsMonolith is not bad per se. Here are the benefits of monolithic architecture: simple to develop easy to make radical changes to the application straightforward to test straightforward to deploy easy to scale On contrary these are some of the biggest limitations: complexity slow development path to deploy is arduous …Microservices17 min readMicroservices17 min read
Jul 5, 2022Productively operating on legacy codeWhat is legacy code? Is this the code which we changed couple of months ago, or is it the part of the code where nobody has the ambition to go? There is no definite answer, but one thing is sure, software changes daily! There are several reasons why: adding a…Software Development10 min readSoftware Development10 min read
Jun 29, 2022Designing web APIsToday you can hear API word used everywhere. But what exactly is API? If you check wiki page you will see: An application programming interface (API) is a connection between computers or between computer programs Simply speaking API is a contract provided to the outside world which guarantees specific outcome…Software Development6 min readSoftware Development6 min read
Jul 29, 2021Lazy loading images from databaseWhen it comes to storing content (images, documents, videos,…) inside the database we all know of BLOB (Binary Large Object), CLOB (Character Large Object), VARBINARY, etc. data types. They are used for storing large amount of data. …Hibernate3 min readHibernate3 min read
Jul 22, 2021Java application performance managementBuilding application and writing code is one thing. It is challenging, but also rewarding. Once you have your application finished you often forget to pay attention how does it behave under real world pressure. There are times when you wish to optimize some workflows or check why application is using…Software Development6 min readSoftware Development6 min read
Jul 15, 2021Software testingSoftware testing is an important thing when building a product. It can find out issues before it reaches customer, it can also reduce cost of fixing the issue if found early enough. Let's dive deep in ways of testing. …Software Testing4 min readSoftware Testing4 min read
Mar 9, 2021Things to consider when designing objectsIt is very simple to learn how to code, but it is very hard to make the code readable/understandable, clean and robust. Let's try to mention some principles in making this easier. #1 Inject dependencies and configuration values as constructor arguments public interface Worker { public void work(); } public class ConstructionWorker implements Worker…Clean Code6 min readClean Code6 min read
Mar 2, 2021Microservices: monitoring and observabilityObserving system is a crucial thing for having robust system running in production. You need to be able to know how the components are interaction and how the infrastructure is behaving. It's fundamental to know as early as possible when something is not operating as expected. A robust monitoring system…Microservices4 min readMicroservices4 min read
Feb 23, 2021Microservices: low-impact feature releaseReleasing a new feature to production is crucial to successful market-impact. Unlike a monolith application, where you need to optimize deployment for that particular case, microservice deployment practices are different. …Microservices2 min readMicroservices2 min read