About the role: You'll be working on the backend of systems that move money; payment processing engines, merchant integration services, and the microservices that orchestrate transactions across multiple payment rails. This means designing APIs that handle edge cases gracefully, building services that fail safely when things go wrong, and ensuring our platform can scale as transaction volumes grow. We're looking for someone who is comfortable in the full lifecycle; from whiteboarding a technical approach with stakeholders, to writing clean Java code that other developers will maintain, to debugging production issues when required. The ideal candidate is someone who has built distributed systems before and understands the trade-offs between consistency and availability. We're looking for someone who spots problems in the design phase, and who cares about getting it right.About the Company: MiFinity is a dynamic, licensed, and regulated fintech leader offering cost-effective, end-to-end payment solutions for businesses, merchants, and consumers. With over 20 years of experience in online payments, we have built a highly secure technology platform and a growing global network of financial and banking partners. Our core service, the MiFinity eWallet, enables seamless money transfers worldwide through our extensive bank network and local payment options. As we continue to expand across multiple global verticals, we foster a collaborative, inclusive work environment while maintaining a start-up culture that values flexibility, autonomy, and innovation across all of our offices in Dublin, Malta, and Belfast.Responsibilities:Develop new in-house productsTranslate application storyboards and use cases into feasible functional applicationsDesign, build, and maintain efficient, reusable, and reliable Java codeWrite clean code supported with unit testing modulesEnsure the best possible performance, quality, scalability and responsiveness of the applicationsDocument features and share knowledge within the teamCollaborate with other team members and stakeholdersHelp maintain code quality, organization, and automatization including undertaking peer code reviewsPerform integrations with 3rd party applicationsQualifications:Minimum 5+ years of JAVA enterprise software experienceBachelor's or Master's degree in Computer Science or related fieldSelf-Motivated Individual with excellent interpersonal and communication skills having the ability to work in a team and on own initiativeExperience with JAVA Spring Boot, Caching methodologies and Database Design would be considered as a great plusExperience in working within a microservice architectural approachAbility to write clean code with an eye for performance and scalabilityStrong analytical and problem solving skillsFamiliar with various software design principles and architectural patterns behind a scalable applicationCreating database schemas that represent and support business processesDesirable to have experience with RabbitMQ & DockerFocused on driving standards in AI assisted developmentExperience in financial software development will be considered an asset.