Author Image

Hi, I am Marc

Marc Nützel

Freelance Senior Java Engineer at Marc Nützel IT-Solutions

I architect and deliver production-grade Java and Kotlin platforms with Spring Boot and Kubernetes. I help teams ship microservices faster with clean, testable code, event-driven architecture, CI/CD automation, and cloud-native reliability (Azure/AWS). Since 2010, I’ve led and scaled backend systems in logistics, e‑commerce, energy, and fintech. Available for short‑ and long‑term projects, remote or NRW on‑site. Let’s make your roadmap real.

Spring Boot
Java
Kotlin
Microservices
Kubernetes
Event Sourcing / CQRS
Docker

Skills

Experiences

1
ista SE

April 2020 - Present

Essen

ista SE is one of the leading energy service providers, helping apartment buildings and commercial properties become more energy efficient.

Senior Backend Engineer (Kotlin / Java) (perm position)

May 2025 - Present

Responsibilities:
  • Contributed to a greenfield, event-sourced platform that serves as the system of record for property units and the full lifecycle of their metering devices — installation, replacement, removal
  • Part of the team building the backend in Kotlin on Spring Boot 4 / Java 25, running in production on Azure Kubernetes Service
  • Domain-Driven Design enforced at build time — hexagonal architecture and DDD building blocks validated by jMolecules and ArchUnit, so an architecture violation fails the pipeline instead of slipping through review
  • Event Sourcing and CQRS on a PostgreSQL event store — state is rebuilt by replaying domain events, which gives a complete and auditable history of every device change instead of overwritten rows
  • Anti-Corruption Layer that keeps the core domain clean — consumes work orders from Azure Service Bus, validates and transforms legacy formats into domain events, and integrates SAP via OData and SOAP
  • Contract-first API design with OpenAPI 3 and JSON Schema as the single source of truth; API clients and event classes are generated from the contracts, so services cannot drift apart
  • Testing across the pyramid — unit and integration tests with JUnit 5, Mockito, WireMock and Testcontainers, plus a Cucumber / REST Assured BDD suite that verifies business processes end to end
  • GitOps delivery — GitLab CI builds and versions the service, ArgoCD syncs Helm charts to AKS; SonarQube, Spotless and OpenRewrite gate every merge
  • AI-assisted development as part of daily delivery — Claude Code with custom agent skills and automated review loops for code review, test generation and repetitive refactorings, with every change still reviewed by a human before merge
  • Kotlin, Java 25, Spring Boot 4, Event Sourcing, CQRS, DDD, Hexagonal Architecture, PostgreSQL, Flyway, Azure Service Bus, CloudEvents, SAP OData/SOAP, Docker, Kubernetes (AKS), Helm, ArgoCD, Terraform, GitLab CI, JUnit, Mockito, Testcontainers, WireMock, Cucumber, OpenAPI 3, Maven, Claude Code
DevOps Engineer

March 2025 - May 2025

Responsibilities:
  • Built and maintained the shared CI/CD platform — reusable GitLab CI pipeline templates and Infrastructure-as-Code modules that development squads adopt instead of writing their own
  • Defined the cloud architecture for centralised and squad-specific DevOps use cases on Azure
  • Set up and operated the development, test and production environments, including the tooling around them
  • Consulted and mentored development teams on their application lifecycle, with a focus on CI/CD
  • Azure, GitLab CI, Terraform, Kubernetes, Helm
Fullstack Developer

April 2020 - March 2025

Responsibilities:
  • Built Spring Boot integration services that collect data from several source systems and consolidate it in a central system
  • Designed and documented the REST APIs contract-first with OpenAPI 3.0
  • Migrated the service landscape from Docker Swarm to Kubernetes, and several applications from on-premise to Azure
  • Connected services asynchronously via JMS (ActiveMQ) and built batch jobs with Spring Batch
  • Developed the matching Angular frontends and covered the backends with JUnit and Mockito tests
  • Java, Spring Boot, Docker, Kubernetes, Hibernate, Liquibase, Angular, GitLab CI, JUnit, Mockito, Spring Batch, Azure, Maven, MariaDB, PostgreSQL

DB Schenker AG

August 2014 - March 2020

Essen

DB Schenker is a leader in supply chain management and logistics solutions, handling everything from logistics to customised shipping solutions.

Java Backend Developer

Feb 2020 - March 2020

Responsibilities:
  • Built business and integration services in Java EE and Spring Boot, deployed as containerised microservices
  • Designed entity relationship models and optimised complex queries
  • Implemented synchronous and asynchronous interfaces — REST (JAX-RS, JSON), SOAP (JAX-WS) and messaging via JMS/ActiveMQ
  • Built high-volume, low-latency services and verified them under load with Gatling.io and JMeter
  • Applied object-oriented analysis and design with common design patterns, and supported the build and deployment process
  • Java, Spring Boot, Docker, Hibernate, Flyway, GitLab CI, Spock, Kubernetes, AWS, Maven
Lead Developer (perm position)

Feb 2018 - Jan 2020

Responsibilities:
  • Designed and built a microservice architecture for route planning, from the first MVP to production
  • Set up the CI/CD pipelines and the delivery process for the new service landscape
  • Built up the development team — first nationally with external contractors, then a permanent team of six developers in Poland
  • Handed the project over to the team in Poland and established a lead developer role there
  • Java, Spring Boot, Docker, Hibernate, Flyway, GitLab CI, Spock, Kubernetes, AWS, PostgreSQL, Maven
Java Backend Developer (perm position)

Jan 2017 - Jan 2018

Responsibilities:
  • Designed and built a service layer in front of a legacy application, so new applications could integrate against a modern API
  • Worked in a team of four developers in Essen and delivered the project on schedule
  • Java, Spring Boot, Docker, Hibernate, Flyway, GitLab CI, JUnit, Kubernetes, AWS, Vue.js, Netflix Stack, PostgreSQL, Maven
Java Backend Developer (perm position)

Jan 2016 - Jan 2017

Responsibilities:
  • Supported the company-wide initiative to move Schenker applications to AWS, in a team of ten developers in Essen
  • Built the AWS VPC foundation and provided hardened AMIs for the application teams
  • Containerised legacy applications and provided the supporting Docker images for the CI pipelines
  • Kubernetes, Docker, Terraform, Packer, GitLab CI, Ansible, Python, Spring Boot, Oracle, PostgreSQL
Fullstack Developer (perm position)

August 2015 - Jan 2016

Responsibilities:
  • Built a self-service portal for Atlassian Confluence and Jira, so teams could request spaces and projects without a ticket to IT
  • Java, Spring Boot, Gradle, Vue.js, npm
Fullstack Developer (perm position)

August 2014 - August 2015

Responsibilities:
  • Supported the development of a self-service portal for an identity and access management (IAM) application
  • Worked in an international team of five developers together with colleagues in China
  • Java, Spring Boot, Maven, AngularJS, Oracle
2

3
Plus Online GmbH

April 2008 - July 2014

Mülheim an der Ruhr

Plus Online GmbH was part of the Tengelmann Group and ran its e-commerce business.

Deputy Lead Developer (perm position)

August 2011 - July 2014

Responsibilities:
  • Deputised for the lead developer and supported and mentored the team throughout the development process
  • Worked hands-on in development, specialising in payment processes and API design for the online shop
  • Java, Intershop Enfinity, Servlets, JSP, Angular, Oracle
Fullstack Developer (perm position)

April 2010 - July 2011

Responsibilities:
  • Developed features for the Intershop Enfinity online shop across the stack — backend logic in Java and the corresponding shop frontends
  • Maintained and extended the existing shop functionality together with the e-commerce team
  • Java, Intershop Enfinity, Servlets, JSP, Angular, Oracle
System Administrator (perm position)

April 2008 - March 2010

Responsibilities:
  • Administered the e-commerce infrastructure behind the online shop — application servers, web servers and deployments
  • Intershop Enfinity, SUSE Linux, Apache Tomcat, Apache HTTP Server, Bash scripting

Düsseldorf District Government

Aug 2005 - March 2008

Düsseldorf

The district government of Düsseldorf is part of the state administration of North Rhine-Westphalia.

IT Specialist

Jan 2008 - March 2008

Responsibilities:
  • Administered the server infrastructure and the directory services behind it
  • Supported end users across the authority as second-level support
  • Debian Linux, Windows Server 2000, LDAP
IT Apprentice

Aug 2005 - Jan 2008

Responsibilities:
  • Completed the apprenticeship as IT specialist for system integration (Fachinformatiker Systemintegration)
  • Worked across server administration, directory services and end-user support
  • Debian Linux, Windows Server 2000, LDAP
4

Recent Posts