Java Software Engineer
Summary
A senior Java engineer builds and supports cash management and reporting applications for a banking client, working with Java/J2EE, Spring Boot, microservices, and distributed streaming tech like Kafka, Spark, and Flink. Day to day they lead solution design, apply TDD/BDD practices, and mentor junior developers within Agile teams.
We are seeking a seasoned Java Developer with experience in Java/J2EE, Spring Boot, microservices and distributed systems to develop and support Cash Management applications in a banking environment.
Mandatory Skill(s)
- Must have 7–9 years of hands-on Java/J2EE development experience;
- Must have strong Java, Spring Boot, Spring Integration and microservices expertise;
- Experience with Kafka, Spark and Flink;
- Hands-on Docker, Kubernetes and CI/CD tools;
- Strong TDD/BDD experience with JUnit, Mockito and Cucumber;
- Good knowledge of architecture, design patterns and performance tuning;
- Strong Agile/Scrum and stakeholder management experience;
- Experience with Elasticsearch, HBase, HDFS and MongoDB;
- Basic cash management or banking domain knowledge;
- Financial industry experience;
- Experience in solution design, UML and application migrations;
- Experience mentoring developers and supporting technical leads;
Responsibilities
- Develop and enhance Cash Management and reporting applications;
- Maintain application stability, performance and support;
- Lead solution design, estimation and implementation of new features;
- Develop quality solutions using TDD/BDD practices;
- Collaborate with Product Owners, BAs and business stakeholders;
- Support Agile delivery and cross-functional project teams;
- Troubleshoot issues and drive technical improvements;
- Mentor junior developers and support the Technical Lead;
Confidentiality is assured, and only shortlisted candidates will be notified for interviews.