← Back

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.

View the Java development resume