Skip to main content

Application development

Java and Spring Boot back-end development

I design and build robust business services with Java and Spring Boot, tested and observable from day one. The delivered code is readable, documented and easy for your team to take over.

What it covers

A solid back end shows three signs: tests fail before a bug reaches production, errors are explicit for the caller, and adding a business rule does not require re-reading the whole module. I build services around those three requirements, with minimal dependencies and versions kept current.

Decomposition follows business capabilities rather than technical layers. Controllers stay thin, business logic lives in objects that can be tested without infrastructure, and persistence stays confined to adapters. That choice enables fast tests and predictable evolution.

What a typical delivery contains

Every increment includes code, tests, API documentation and environment configuration. Database migrations are versioned, and entry points are instrumented for monitoring before release.

  • REST APIs documented and verified by integration tests.
  • Unit tests on business rules, with no database involved.
  • Integration tests against real dependencies using Testcontainers.
  • Versioned, repeatable schema migrations.
  • Traces and metrics exposed from the first deployment.

Problems addressed

  • Business logic is scattered across controllers, services and SQL queries.
  • Tests require a full database, so nobody runs them.
  • Errors surface as 500 responses with no actionable detail.
  • Spring upgrades have been postponed for years.
  • Performance degrades on search screens.

Expected benefits

  • Tested code where coverage targets business rules.
  • APIs documented and automatically verified.
  • A clear separation between business logic and infrastructure.
  • Startup and response times monitored continuously.
  • A codebase a newcomer can pick up confidently.
  • Dependencies kept current and tracked over time.

Method and steps

  1. 1

    Contract framing

    Writing API specifications, exchange models and expected error cases, validated with the consumers of the service.

  2. 2

    Technical foundation

    Project setup, migrations, instrumentation and the test pipeline, so that each feature lands on a stable base.

  3. 3

    Iterative development

    Implementation in shippable functional increments, each with tests, documentation and a walkthrough.

  4. 4

    Release and handover

    Monitored deployment, baseline indicator measurement, then a collective code review explaining the structural choices.

Deliverables

  • Delivered Spring Boot services with unit and integration tests.

  • Generated API documentation with request examples.

  • Versioned schema migration scripts.

  • Environment configuration for development, staging and production.

  • Monitoring dashboards for entry points.

  • Code review and handover session with your team.

Technologies used

  • Java
  • Spring Boot
  • Spring Security
  • Hibernate et JPA
  • PostgreSQL
  • Flyway
  • Apache Kafka
  • OpenTelemetry
  • JUnit 5
  • Testcontainers

Frequently asked questions

Do you work with an existing codebase?

Yes, that is in fact the most common case. I start by reading the conventions in place and align my contributions with them, suggesting targeted improvements rather than rewriting the foundations.

Which Java and Spring versions do you use?

Java 21 or 25 with Spring Boot 4 for new projects. On an existing application I stay on the current version until an upgrade plan is agreed and tested.

Do you provide maintenance after delivery?

Yes, as a maintenance package or planned on-call support. My goal remains making your team self-sufficient on the delivered code.

Related case studies

Talk about my back-end project

Describe the functional need and the technical context. I will quickly tell you whether the scope is realistic and where to start.

Talk about my back-end project