Simplify your Application Architecture with Modular Design and MIM  [Pinned]

1. Intro tl;dr Instead of forcing your application into a prescriptive template like Clean or Hexagonal Architectures, get back to basics and use patterns from Modular Software Design. Divide the application into independent modules, each containing business logic representing a specific process. For modules with complex business logic, extract the infrastructure-related code into separate Infrastructure-Modules. This will enable you to build an application characterized by low cognitive load, high maintainability, and high extensibility. ...

How to level up in Software Engineering with Books

Books related to programming or Software Engineering can be divided into two categories: the ones that are outdated shortly after printing and those which are still valuable after decades. In this article I would like to present you books that will help you skill up at Software Engineering. I once heard that a good book is like accomplishing a software project. In my opinion some of the books I’ve listed below are worth more than several projects. ...