Senior Java Developer
Job description
We are DIGIPAL , a software delivery agency specialising in building high-performing product design and software development teams for clients across Europe and North America. We work with a wide range of organisations from ambitious startups to multinational corporations. We have a unique career opportunity for you to work on building exciting digital products for international clients. Yet, remaining flexible in a remote-only environment and getting a top-tier compensation package. About the Role: We are looking for a Senior Java Developer to join a long-term project within the financial services domain. The project focuses on building a modern invoice factoring platform that streamlines financial processes between vendors, banks, and clients. Responsibilities: Design, develop, and maintain backend services using Java 17 and Spring Boot. Build and enhance scalable microservices within a distributed architecture. Design and implement robust RESTful APIs, including proper error handling and API best practices. Develop efficient data processing solutions using Apache Spark. Work with MySQL, Hibernate, and Elasticsearch to manage and optimize data storage and retrieval. Implement concurrent and multithreaded solutions for high-performance backend processing. Write clean, maintainable, and well-tested code following TDD/EDD practices. Collaborate closely with architects, developers, QA engineers, and business stakeholders to deliver high-quality software. Participate in code reviews, technical discussions, and architectural decisions. Troubleshoot, optimize, and continuously improve application performance and reliability. Requirements: 5+ years of commercial experience in Java backend development. Strong experience with Java 17. Solid experience with Spring Framework and Spring Boot. Experience designing and developing microservices. Strong knowledge of RESTful API development and error handling. Experience with MySQL and Hibernate/JPA. Experience working with Elasticsearch. Experience using Apache Spark for data processing. Good understanding of concurrency and multithreading concepts. Experience with Test-Driven Development (TDD) and/or Event-Driven Development (EDD). Strong understanding of software engineering best practices, clean code, and design patterns. Excellent communication skills and ability to work within an Agile environment. Nice to Have: Experience within Finance, Banking, FinTech, Payments, Invoice Processing, or Invoice Factoring. Experience working on complex enterprise or distributed systems. Familiarity with cloud-native and containerized environments. Knowledge of CI/CD practices and DevOps tooling. Our offer: 100% remote position. Attractive compensation package. Long-term B2B contract. Opportunities for professional growth and continuous learning. Collaboration with top engineering talent from around the globe. The chance to build world-class digital products for European and US markets.