About the Role
We are seeking a highly experienced Senior Java Developer to join our team. You will design, develop, and maintain scalable enterprise-grade applications using Java and modern frameworks.
This role emphasizes cloud-native development, microservices architecture, and high-performance, secure coding practices. It is ideal for a seasoned engineer who thrives in collaborative Agile environments, embraces continuous learning, and is passionate about delivering robust, maintainable software solutions.
Key Responsibilities
Development & Architecture
- Design, develop, and maintain backend applications using Java 8+, Spring, and Spring Boot.
- Build microservices-based architectures with reusable and modular components.
- Develop and integrate RESTful APIs and event-driven services.
- Implement solutions using Apache Kafka for messaging and streaming.
- Ensure high availability, scalability, and security of applications.
- Apply best practices in coding, architecture, and DevOps for maintainable and extensible solutions.
Databases & Cloud
- Work with relational databases such as MS SQL and PostgreSQL and NoSQL databases like MongoDB.
- Design and optimize database queries, schema, and indexes for performance.
- Implement cloud-native solutions using AWS services such as EC2, S3, RDS, Lambda, and API Gateway.
- Monitor and optimize cloud-based applications for performance and cost efficiency.
Containerization & DevOps
- Containerize applications using Docker and manage orchestration using Kubernetes / EKS.
- Implement CI/CD pipelines using Jenkins, GitHub Actions, or Azure DevOps.
- Monitor applications using logging and performance tools such as CloudWatch, Prometheus, Grafana.
- Maintain unit tests, integration tests, and automated test frameworks to ensure code quality.
Collaboration & Process
- Collaborate with product managers, QA engineers, DevOps, and other developers in an Agile/Scrum environment.
- Participate in code reviews, architecture discussions, and knowledge-sharing sessions.
- Mentor junior developers and contribute to team growth and skill development.
- Translate functional and technical requirements into high-quality software solutions.
Requirements & Qualifications
Must-Have Skills:
- 5+ years of professional experience in Java development.
- Strong experience with Spring and Spring Boot frameworks.
- Hands-on experience with MS SQL, PostgreSQL, and MongoDB.
- Experience with Apache Kafka for messaging and streaming.
- Cloud experience with AWS (EC2, S3, RDS, Lambda).
- Containerization experience using Docker and orchestration with Kubernetes / EKS.
- Familiarity with microservices architecture and RESTful APIs.
- Strong problem-solving skills, attention to detail, and secure coding practices.
Highly Desirable Skills:
- Experience with event-driven architectures and message queues.
- Knowledge of performance optimization, monitoring, and observability.
- Familiarity with CI/CD pipelines, automated testing, and DevSecOps practices.
- Exposure to Infrastructure as Code (Terraform, CloudFormation, or ARM templates).
Education
- Bachelor’s degree, higher certificate, or diploma in Computer Science, Software Engineering, IT, or a related field.
Additional Information
- Contract Duration: 12 Months (with possibility of renewal)
- Salary: Negotiable
- Location Options: Johannesburg / Cape Town / Remote
- Must be located in South Africa or have a valid work permit for South Africa