Senior Java Developer
Summary
Builds and maintains enterprise Java/J2EE applications, focusing on microservices, distributed systems, and cloud-native deployment using Spring, Kafka, and Kubernetes.
Key Responsibilities
- Design, develop and maintain enterprise applications using Java/J2EE.
- Develop and support microservices-based applications and distributed platforms.
- Apply software design patterns and best practices in solution development.
- Perform application performance tuning and troubleshooting.
- Work with technologies including Spark, Flink, Kafka, Elasticsearch, HBase, HDFS and MongoDB.
- Develop applications using Spring Framework, Spring Boot and Spring Integration.
- Support application deployment and orchestration using Docker and Kubernetes.
- Work with CI/CD and build tools including Jenkins, GitLab, Artifactory, Nexus and Maven.
- Develop and maintain automated tests using JUnit, Mockito and Cucumber.
- Apply TDD and BDD practices during software development.
- Lead the design and implementation of complex application features.
- Support application design, development, testing, deployment and maintenance.
- Prepare and maintain technical documentation and system designs.
- Collaborate with development, testing and other technical teams.
- Participate in Agile and Scrum activities.
- Troubleshoot technical issues and provide effective solutions.
Requirements
- 5–10 years of hands-on experience in Java/J2EE development.
- Strong understanding of microservices and distributed platform architecture.
- Good knowledge of software architecture, design patterns and development best practices.
- Experience with Java, Spring Framework, Spring Boot and Spring Integration.
- Experience with one or more of Spark, Flink, Kafka, Elasticsearch, HBase, HDFS and MongoDB.
- Hands-on experience with Docker and Kubernetes.
- Experience with Jenkins, GitLab, Artifactory, Nexus and Maven.
- Experience with TDD and BDD methodologies.
- Knowledge of JUnit, Mockito and Cucumber.
- Experience in designing and implementing complex software features.
- Good understanding of application development, testing, deployment and maintenance.
- Proficiency in Agile and Scrum methodologies.
- Strong problem-solving and troubleshooting skills.
- Good communication and teamwork skills.
- Basic knowledge of cash management is an advantage.
- Financial industry experience is an advantage.
EA Number: 11C4879