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.