One of Malaysia's leading banks is seeking a skilled Backend Java Developer to contribute to ongoing software development projects. These projects encompass a wide range of deliverables including web and mobile applications, APIs, and database integrations. The focus will be on developing a microservices architecture using Spring Boot, Docker, and Kubernetes, with MySQL as the primary database. Integration with the bank's existing subsystems will also be a key component of the role.
Key Responsibilities
- Collaborate closely with the Development Manager, Project Manager, and a team of developers.
- Apply a systematic and disciplined approach to architecture, system design, and programming, adhering to standard software development lifecycle practices.
- Maintain meticulous attention to detail and ensure clear, practical documentation.
- Design, code, unit test, and support software components.
- Deliver high-quality software on time, following standard development processes.
- Analyze and resolve problems encountered in software development or production environments.
- Develop, prepare, and maintain comprehensive system documentation, including program descriptions and operating procedures.
- Provide second-line support during production issues.
Must-Have Skills
- Minimum of 4 years of experience as a Backend Java Developer.
- Proven experience in delivering software through a complete Continuous Integration and Continuous Delivery (CI/CD) pipeline.
- Strong background in agile methodologies.
- Proficiency in software development using open-source technologies.
- Knowledge of domain-driven design, design patterns, and enterprise integration patterns.
- Proficient in Java (Spring Boot and Spring Batch) and microservices architecture.
- Experience with relational databases, primarily MySQL (stored procedures not required).
- Hands-on experience with Docker and Kubernetes in a DevOps environment.
- In-depth knowledge of CI/CD tools such as Ansible, Artifactory, Jenkins, BitBucket, SonarQube, Fortify, and Flyway.
- Strong understanding of automated testing tools including JUnit, Mockito, Cucumber, and Selenium.
- Proficiency in scripting languages like Groovy and Linux Shell.
- Familiarity with Integrated Development Environments (IDEs) such as Eclipse and IntelliJ.
Nice-to-Have Skills
- Experience in the banking domain.
- Excellent oral and written communication skills.
What We Offer
- An opportunity to work on high-impact projects within a leading financial institution.
- Collaboration with experienced professionals and access to cutting-edge technologies.
- A dynamic and supportive work environment.