Senior Java Software Engineer
ABOUT THE ROLE
- We are looking for a highly skilled and motivated Senior Software Engineer to join our growing engineering team. In this role, you will design, build, and maintain scalable, high-performance backend systems that power our core products. You will work closely with cross-functional teams to deliver robust solutions and help define the technical direction of our platform.
- This is a hybrid role requiring regular in-office collaboration alongside flexible remote working. The ideal candidate thrives in a fast-paced environment, takes ownership of complex challenges, and demonstrates strong technical leadership within an agile team.
KEY RESPONSIBILITIES
- Design, develop, and maintain scalable and resilient microservices using Java and Spring Boot.
- Build reactive and non-reactive REST APIs leveraging Spring WebFlux and Spring MVC.
- Manage relational data persistence with PostgreSQL, including schema design and query optimisation.
- Own and evolve database migration strategies using Liquibase to support continuous delivery.
- Implement event-driven architectures and asynchronous communication patterns using Apache Kafka.
- Design and integrate caching strategies using Redis or equivalent caching technologies to improve system performance.
- Write comprehensive unit and integration tests to maintain high code quality and ensure system reliability.
- Design, deploy, and manage microservice architectures with a focus on scalability, fault tolerance, and maintainability.
- Build and maintain CI/CD pipelines to automate testing, builds, and deployments across environments.
- Participate actively in code reviews, providing constructive feedback and upholding engineering best practices.
- Collaborate with product managers, architects, and fellow engineers to translate business requirements into technical solutions.
- Mentor junior and mid-level engineers, fostering a culture of continuous learning and technical excellence.
- Identify, diagnose, and resolve performance bottlenecks and production incidents.
REQUIRED QUALIFICATIONS
- Must have international Passport for Traveling
- Minimum of 5 years of hands-on software development experience with Java and Spring Boot.
- Strong proficiency in both Spring WebFlux (Reactive) and Spring MVC frameworks.
- Proven experience working with PostgreSQL — schema design, indexing, and performance tuning.
- Hands-on experience with Liquibase or a comparable database migration tool (e.g. Flyway).
- Practical experience building and consuming Apache Kafka topics in production environments.
- Experience with Redis or other distributed caching technologies (e.g. Memcached, Hazelcast).
- Strong command of unit testing frameworks such as JUnit 5 and Mockito, with a TDD-oriented mindset.
- Deep understanding of microservice architecture patterns — service discovery, circuit breaking, API gateway, distributed tracing.
- Demonstrated experience setting up and maintaining CI/CD pipelines (e.g. GitHub Actions, Jenkins, GitLab CI).
- Familiarity with containerisation and orchestration tools such as Docker and Kubernetes.
- Solid understanding of RESTful API design principles and best practices.
- Strong problem-solving and analytical skills with the ability to break down complex technical problems.
- Excellent communication and collaboration abilities, with comfort working across engineering and product teams.
- Willingness and ability to work in a hybrid arrangement with regular in-office attendance.
NICE TO HAVE
- Experience in fintech, payments, or other regulated industries.
- Knowledge of cloud platforms such as AWS, GCP, or Azure.
- Experience with observability tooling — Prometheus, Grafana, ELK stack, or OpenTelemetry.
- Exposure to gRPC or GraphQL as alternative API paradigms.
- Contributions to open-source projects or active participation in the Java/Spring community.
Method of Application
Interested and qualified? Go to Mintyn Digital Bank on docs.google.com to apply
