Develop and enhance the cash management & reporting applications to meet evolving business requirements.
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 analyze requirements, translating them into technical 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.
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 applications in production - analyze and resolve issues as they arise.
Requirements:
More than 8 years of hands-on experience in Java/J2EE development.
Deep understanding of distributed platform & micro services architecture.
Solution design using proven patterns, awareness of anti-patterns, performance tuning.
Proficiency with technologies such as Spark programming, Flink, Kafka, Elastic Search, HBase, HDFS, 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.