Senior Software Engineer (Java)
Summary
Senior Java engineer designing, building, and maintaining scalable backend services and microservices for an enterprise software provider in Vereeniging, South Africa (hybrid). Core stack is Java with Spring Boot, REST APIs, and SQL databases, plus optional cloud, container, and messaging tools; also mentors junior engineers.
About the Role
Our client, a leading provider of enterprise software solutions, is looking for an experienced Senior Software Engineer with a strong background in Java development to join their team in Vereeniging, Gauteng. This role is essential for designing, developing, and maintaining high-performance, scalable, and reliable backend systems and applications. You will work on challenging projects, contribute to architectural decisions, and mentor junior engineers. The ideal candidate possesses a deep understanding of object-oriented programming, distributed systems, and modern software development practices. This position offers a hybrid work model, allowing for a balance between focused office collaboration in Gauteng and remote flexibility. Join a company committed to technological innovation and professional growth.
Key Responsibilities
- Design, develop, test, and deploy robust and scalable backend services using Java and related frameworks (e.g., Spring Boot).
- Architect and implement microservices-based solutions.
- Optimize application performance, ensuring efficiency and reliability.
- Collaborate with cross-functional teams, including product managers, frontend developers, and QA engineers.
- Write clean, maintainable, and well-documented code, adhering to coding standards.
- Participate in code reviews and provide constructive feedback to peers.
- Troubleshoot and resolve complex technical issues in development and production environments.
- Contribute to system design discussions and technology selection.
- Mentor junior software engineers and promote best practices.
- Stay updated with the latest Java technologies and industry trends.
Requirements
- Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
- 5+ years of professional software development experience, with a strong emphasis on Java.
- Expertise in Java and the Spring framework (Spring Boot, Spring MVC).
- Proficiency in building RESTful APIs and microservices.
- Experience with relational databases (e.g., PostgreSQL, MySQL) and ORM frameworks (e.g., Hibernate).
- Familiarity with messaging queues (e.g., Kafka, RabbitMQ) is a plus.
- Experience with cloud platforms (AWS, Azure, GCP) and containerization (Docker, Kubernetes) is desirable.
- Strong understanding of data structures, algorithms, and object-oriented design principles.
- Excellent problem-solving, analytical, and debugging skills.
- Effective communication and teamwork abilities.
Benefits
- Competitive salary package.
- Hybrid work model for work-life balance.
- Comprehensive health insurance and retirement benefits.
- Opportunities for professional development and advanced training.
- Collaborative work environment in Vereeniging.
- Annual performance bonuses.
- Access to cutting-edge technologies.