Role: Software Developer - Java
About the Role:
- Lead the design and improvement of the Cash Management digital platform, as well as support and maintain it, and provide strategic solutions for new features adapting to agile and scrum methodologies.
- Research, design, and develop software.
- Develop and enhance the cash management & reporting applications to meet evolving business requirements.
- Develop specifications and performance requirements.
- Update software, enhances existing software capabilities, and develops and direct software testing and validation procedures.
- Provide ongoing maintenance and support for the existing cash management & reporting applications, ensuring its stability and performance.
- Lead the solution design, estimation, and strategy for the implementation of new features, upgrades, obsolescence, or migration of existing applications.
- Implement solutions using TDD/BDD to ensure high-quality code and robust applications.
- Work closely with business stakeholders to gather and analyse requirements, translating them into technical solutions.
- Analyse user needs and develop software solutions
- Liaise with product owners and business analysts for clarification and deep understanding of requirements and user stories
- Provide detailed estimates for user stories to facilitate project planning and execution
- Work with other engineers to integrate hardware and/or software systems
- Collaborate with cross-functional teams to ensure the successful delivery of projects and initiatives.
- Leverage your basic cash management functional knowledge to ensure that the application aligns with industry requirements.
- Apply Agile and Scrum methodologies to drive project success.
- Mentor and guide junior developers, sharing your expertise and best practices.
- Support Technical Lead with all technical tasks and activities
About the Requirements:
- At least a Bachelor’s degree in any of these faculties: Computer Science / Information Technology / Programming & Systems Analysis / Science (Computer Studies)
- 8+ years of hands-on experience in Java/J2EE development.
- Deep understanding of distributed platform & micro services architecture
- Proficiency with latest technologies such as Flink, Kafka, Elastic Search and Mongo DB
- Profound knowledge in Spring Frameworks encompassing IOC, Sprint Boot, Spring Integration & more
- Hands-on experience in software deployment and orchestration technologies, including Docker and Kubernetes
- Proficient in utilizing build and continuous integration services such as Jenkins, GitLab, Artifactory, Nexus and Maven
- Extensive experience working in TDD (Test-Driven Development) and BDD (Behavior-Driven Development) environments, utilizing unit testing frameworks such as JUnit, Mockito and Cucumber
- Strong understanding of software architecture, design patterns, and best practices.
- Proven experience in leading the design and implementation of complex features and applications.
- Very good understanding of application system design, development, testing, deployment and maintenance using UML.
- Basic cash management functional knowledge.
- Proficiency in Agile and Scrum working methodologies.
- Excellent problem solving and troubleshooting skills.
- Effective communication and teamwork skills.
- Financial industry experience is a plus
- Deliver best practices recommendations and highly technical implementations with cross-product integrations based on needs
- Excellent communication and presentation skills with the ability to communicate core concepts to IT Management, executives and developers
- Comprehensive understanding of and experience working in Agile team
- Very good organization skill with attention to details, Team player mindset
About your Application:
- Apply to this job posting, and email your CV with the job title as your email header to: [email protected]