Description

Job Description

 

We are looking for an exceptional individual to build Java integration services and applications using Nedbank Framework with an enthusiasm for solving interesting technical challenges in a Banking environment. Be involved in all aspects of development playing a critical role in design, planning, development and deployment. The ideal candidate will not just be an outstanding Java developer, but will bring a mindset of creativity, innovation and balanced bleeding edge technology development with a relentless pursuit of timely product engineering delivery. The role requires ownership, logical thinking, and estimation of your own work, coding, testing, trouble shooting and performance optimizations. The candidate will work in an Agile (SCRUM) environment and will be allocated and co-located to a small agile development team (squad) – Tribe and Chapter Model. The candidate will collaborate with team members to understand the problem & define, design, and ship new features through the development lifecycle. This includes brainstorm, contribution to new ideas, conceive innovative strategies, and implement solutions to difficult problems. Must be able to work independently, effectively and efficiently in a collaborative agile environment with scrum masters, solution engineers, designers, and developers.

 

Key Roles, Responsibilities And Skills/Competencies

 

  • Strong technical/ software engineering background (‘hands-on’)
  • Strong application/software development or programming background in Java
  • Good experience in system, application architecture, design, development, implementation and deployment (end-to-end), development automation.
  • Ability to work on different tiers of the application
  • Object oriented Design
  • Solid experience on Sprint Boot, Spring Framework (Spring Data, Spring Batch, Spring Webservices, Spring Integration, Spring Rest, Spring Cloud), Hibernate, Open Source Frameworks
  • Solid experience with SOA-Architectures, Microservices Architectures and related integration protocols (e.g. Web Services (SOAP/XML), REST & JSON, and MQ), as well as the related security requirements/models.
  • Experience with application database management practices in a high volume Java environment (SQL, DB2, and NoSql – Cassandra/MongoDB).
  • Experience with deploying and running Java applications in orchestrated container environments (e.g. Docker, Kubernetes)
  • Solid CI, CD, DevOps and related tooling experience, build/test/deploy through automation
  • Performance and troubleshooting of Java Applications
  • Good experience with integrated system environments
  • Practical experience in a high volume banking environment. (E.g. application clustering, scaling, multi-threading, session management, etc.)
  • Proven ability as a problem-solver
  • Self-driven, self-starter, technology leader, and able to work independently.
  • Must have working experience on the following tools/IDEs
  • Eclipse
  • InteliJ
  • Spring Tool Suite
  • Git
  • Maven
  • Jenkins
  • SonarQube
  • Nexus
  • Debugging & troubleshooting.
  • Write well documented and maintainable code.
  • Passion for software excellence and be quality driven.
  • You must be prepared to bring new ideas to the workplace, but also to accept how things have been done and the reasons for doing things this way.

 

Educational Requirements

 

  • B-Degree in Computer Science or related technical field.
  • 10+ years Java application programming/development experience
  • 5+ years Spring Framework, JEE-Experience
  • 3+ CI/CD, DevOps, Docker, Kubernetes Experience

Education

Any Graduate