Development
Backend & software architecture
Java and Spring Boot as a foundation, modular architecture patterns, and Docker for reproducible environments.
Java has been my main backend language since my formal training (Java 17/21), on top of Spring Boot 3.3 as my go-to framework. I apply it both in internal projects at Nattia and, in more depth, at LIT.
Modular architecture
At LIT I designed a modular monolith by package, with architectural decisions documented as ADRs (Architecture Decision Records) — every relevant technical decision gets recorded with its reasoning, not just implemented. It’s a deliberate choice: keep the operational simplicity of a monolith (one deployment, no need to coordinate business microservices) while preserving clear boundaries between modules.
Docker
I use Docker to package services, keep environments reproducible, and deploy consistently, both at LIT (monolith + AI microservices) and in Nattia’s infrastructure.
Where it started
Fat & Happy POS, built with Java 17 and Hibernate 6, is where this technical evolution began: a socket-based client-server architecture, already backed by a documentation discipline (JavaDoc) that today translates into ADRs.