About the Role
We are seeking a highly skilled Technical Lead (Java) to lead the development of innovative, enterprise-grade applications. This role involves guiding a team of software engineers, establishing coding and quality standards, and ensuring the successful delivery of scalable, maintainable, and high-performance Java-based solutions.
You will collaborate closely with business analysts, Scrum Masters, DevOps, and other stakeholders throughout the full software development lifecycle.
Key Responsibilities
- Leadership & Team Management
- Lead and mentor a team of software engineers, setting standards for coding, testing, and software quality.
- Conduct code reviews, provide guidance, and encourage knowledge sharing to foster team growth.
- Report on progress, scope, and timelines for project delivery.
- Lead the analysis and resolution of complex technical and application issues.
- Development & Architecture
- Oversee the design, development, and deployment of applications using Java 8+, Spring, and Spring Boot.
- Build and maintain microservices architectures with modular and reusable components.
- Design and integrate RESTful APIs and event-driven services using Apache Kafka or similar messaging systems.
- Ensure adherence to coding standards, best practices, and secure software development principles.
- Databases & Cloud
- Work with relational databases such as MS SQL, PostgreSQL and NoSQL databases like MongoDB.
- Implement cloud-native solutions using AWS or Azure services (optional based on project).
- Monitor and optimize applications for performance, scalability, and cost efficiency.
- Collaboration & Process
- Participate in Agile/Scrum ceremonies including sprint planning, reviews, and retrospectives.
- Work closely with product managers, QA engineers, and DevOps teams to ensure high-quality software delivery.
- Promote continuous improvement in Agile processes, DevOps practices, and software engineering standards.
Requirements & Qualifications
Must-Have Skills:
- 7+ years of professional experience in Java development, including 2+ years in a technical leadership role.
- Strong experience with Spring Framework and Spring Boot.
- Hands‑on experience with relational (MS SQL, PostgreSQL) and NoSQL (MongoDB) databases.
- Experience with microservices architectures,ful APIs, and Apache Kafka.
- Cloud experience with AWS (EC2, Lambda, S3, RDS) or Azure (optional).
- Proficient in unit testing frameworks (JUnit, TestNG, Mockito) and TDD practices.
- Strong leadership, problem‑solving, and communication skills.
Highly Desirable Skills:
- Exposure to containerization using Docker and orchestration with Kubernetes / EKS or AKS.
- Familiarity with CI/CD pipelines (Jenkins, GitHub Actions, Azure DevOps).
- Knowledge of secure coding practices, performance optimization, and observability tools.
- Experience in event‑driven and asynchronous architecture patterns.
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: Market Related
- Location Options: Johannesburg / Cape Town / Remote
- Must be located in South Africa or have a valid work permit for South Africa