A technology-focused firm in Johannesburg seeks an experienced Senior Java Developer. The role involves building Java applications within a banking environment, with responsibilities in design, planning, and deployment. Candidates should possess over 10 years of programming experience and a solid foundation in the Spring Framework. The position requires collaboration in an Agile team setting, driving innovation while maintaining high quality standards. If you're passionate about technical challenges and software excellence, apply now.
Qualifications
10+ years Java application programming/development experience.
5+ years working with the Spring Framework and JEE.
Experience in high volume banking environments.
Responsibilities
Build Java integration services and applications in a Banking environment.
Manage all aspects of development including design, planning, and deployment.
Work in an Agile environment, collaborating with team members to deliver new features.
Skills
Java application programming
Spring Framework
Software engineering background
System architecture and design
DevOps practices
Container orchestration (Docker, Kubernetes)
SQL and NoSQL databases
Agile methodologies (SCRUM)
Education
B-Degree in Computer Science or related technical field
Tools
Eclipse
IntelliJ
Spring Tool Suite
Git
Maven
Jenkins
SonarQube
Nexus
Job description
About the job Senior Java Developer (Spring)
12 month contract
B-Degree in Computer Science or related technical field
10+ years Java application programming/development experience
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
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.
Responsibilities:
Looking for an exceptional individual to build Java integration services and applications using the company's 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.