Leading SA Corporate and Investment Bank requires the skills of an experienced Senior Java Developer.
12 month contract role
Remote/Hybrid working – 1 day per week in the office
- Min 5 years’ development experience
- Experience working in an agile environment
- Excellent communication, analytical skills, and decision-making ability in collaborative environments
- Solid understanding of Object-Oriented Design and ability to properly apply general design patterns and paradigms
- Experience with test-driven development and domain-driven design
- Solid understanding of messaging protocols and web services like SOAP and REST
- Experience with open-source relational databases
- Experience with CI / CD tools (like Jenkins, Bamboo, TFS, Azure Devops) and Artifact Management (preferably Nexus)
- Ability to create and maintain sophisticated CI / CD pipelines
- Familiar with Containerisation technologies like Docker & or orchestrators like Kubernetes
- Java 8
- Databases (PostgreSQL)
- Jira
- Confluence
- GitHub
- Springboot
- Maven
- Junit
- Messaging (MQ / Kafka)
Accountability: DevOps
- Apply critical thinking, design thinking, and problem-solving skills in an agile team environment to solve technical problems (Front End, Back End OR Middleware) with high-quality solutions
- Contribute to all phases of the development lifecycle including
- Evaluate analysis, problem definition, business requirements, and solution development & provide recommendations to enable the operational feasibility of solutions
- Quickly produce well-organized, optimized, and documented source code to deliver technical solutions
- Ensure designs & solutions support the technical organization principles of self-service, repeatability, testability, scalability & resilience
- Apply general design patterns and paradigms to deliver technical solutions
- Support the development of CI / CD Pipelines (authoring & supporting CI/CD pipelines in Jenkins / similar tools and deploying to multi-site Kubernetes environments – supporting and managing your applications all the way to production)
- Use & configure modern observability techniques leveraging e.g. aggregated logging via ELK stack, metrics via Grafana / NewRElic
- Automate tasks through appropriate tools and scripting e.g. Jenkins, Docker, Ansible, Kubernetes
- Debug existing source code and polish feature sets.
- Work with integrated teams and other developers to improve and evolve technical products and services
- Align all application development & development process to Group Architecture & Infrastructure guidelines
- Provide input into project & program teams (when required) to plan & manage the development lifecycle e.g. releases, risk management, testing, integration etc.
- Conduct reviews, performance monitoring & ongoing optimization, and maintenance on applications
- Stay ahead of the curve on emerging technologies and development practices and continuously evolve existing knowledge & skill in preparation for cross-domain and other experiences e.g. Secure Side, Testing, Infrastructure solutions etc.
Desired Skills:
- Java
- Springboot