Senior Java Developer
Soldo
Software Engineering
Rome, Italy
Posted on Jul 26, 2025
Job Description
Soldo is the proactive spend management solution that frees progressive businesses to accomplish more.
Over 25,000 organisations across 31 countries use Soldo to end slow, messy, and inefficient spending, bringing financial agility and control over every expense. Soldo frees finance with a uniquely proactive approach to managing decentralised spending. By combining a powerful spend management platform, a userfriendly app, and versatile payment methods, Soldo automates expense admin to eliminate inefficiency in managing business spending. By proactively managing decentralised spend, organisations empower employees to spend when and where it's needed, keeping productivity high while avoiding month-end surprises. Founded in 2015 by Italian digital innovator Carlo Gualandri, Soldo is headquartered in London, with offices in Dublin, Milan, and Rome. We’re looking for people with big ambitions, cool heads, sharp minds, and warm hearts. Come and join us as we grow together.
What's in it for you
- Competitive salary
- Private healthcare coverage for you and your family
- Lunch Vouchers
- Genuine career development opportunities (we love to see you succeed) - including your own annual €500 career development budget
- Access to training and development - including a mentoring programme, workshops and the opportunity to progress onto our leadership programme
- Flexible working options including working from home or our Milan or Rome offices + 60 days’ work anywhere
- Statutory Leave entitlements plus extra days off on Christmas Eve, New Year's Eve and your Birthday
- Your own personal company Soldo card
- Employee Assistance Programme
- CAF Annual Fiscal & Financial Support
The role
We are seeking a Senior Java Developer with solid hands-on experience. The ideal candidate will have deep expertise in modern Java (17+), microservice architectures, and distributed systems. This role requires strong technical skills, a proactive approach to problem-solving, and the ability to work collaboratively in an agile environment.
Responsibilities
- Design, develop, and maintain scalable Java applications using Java 17+ and Spring Boot.
- Architect and implement microservices using best practices (including hexagonal architecture and MVC patterns).
- Ensure robust database integration with JPA, SQL, MySQL, PostgreSQL, and timeseries databases.
- Develop and maintain RESTful APIs and asynchronous communication flows (Kafka, Artemis, JMS, gRPC).
- Implement and manage CI/CD pipelines (Bitbucket Pipeline, Jenkins Pipeline).
- Optimise JVM performance and troubleshoot complex issues.
- Apply reverse engineering and refactoring techniques to improve legacy codebases.
- Integrate monitoring and observability solutions (Micrometer, Prometheus, Dynatrace, Grafana, Elasticsearch, OpenSearch).
- Collaborate with DevOps to containerise applications using Docker and orchestrate with Kubernetes.
- Ensure code quality and maintainability through rigorous testing (JUnit, Mockito, AssertJ, Testcontainer) and code coverage tools (SonarCloud).
- Contribute to pull request workflows and code reviews.
- Document solutions and processes using Jira and Confluence.
- Work with AWS services (S3, Lambda) and leverage cloud-native architectures.
We're looking for someone who must have
1. Solid professional experience in Java development (Java 17+).
2. Strong expertise in:
- Spring Boot, Spring Framework, Spring Security
- Database technologies: JPA, SQL, MySQL, PostgreSQL, Timeseries DB
- RESTful API design and asynchronous communication (Kafka, Artemis, JMS, gRPC)
- Microservices and distributed architectures
- MVC and hexagonal architecture patterns
- Saga pattern and transactional design
- Docker, Kubernetes
- Monitoring: Micrometer, Prometheus, Dynatrace, Grafana, Elasticsearch, OpenSearch
- AWS (S3, Lambda) and cloud solutions
- Build tools: Maven, Gradle
- Application servers: Tomcat
- Version control and workflows: Git, Gitflow, Bitbucket Pipeline, Jenkins Pipeline
- Testing frameworks: JUnit, Mockito, AssertJ, Testcontainer
- Code quality: SonarCloud, code coverage strategies
- Agile tools: Jira, Confluence
- IDE: IntelliJ IDEA
3. Advanced skills in concurrency, transactional systems, and distributed computing.
4. Strong troubleshooting and performance optimization for JVM-based applications.
5. Experience with reverse engineering and refactoring legacy code
6. Excellent communication and teamwork skills.
Nice to Have
- Experience with additional AWS services.
- Familiarity with other monitoring and logging solutions.
- Contributions to open source or technical communities.
What We Offer
- Opportunity to work on cutting-edge projects in a collaborative environment.
- Access to modern development tools and cloud infrastructure.
- Continuous learning and professional growth.