Principal Software Engineer (Microservices)
Summary
Principal Software Engineer to lead design and development of a microservices architecture for a fintech company in Paarl, South Africa (hybrid). Sets technical direction, mentors engineers, and builds scalable backend services using backend languages like Java/Go/Python/C#, cloud platforms, Kubernetes, and messaging queues.
About the Role Our client, a leader in innovative financial technology solutions based in Paarl, Western Cape , is seeking a highly experienced Principal Software Engineer to lead the design and development of their microservices architecture. This senior role demands a deep understanding of distributed systems, cloud-native technologies, and best practices in building scalable, resilient, and high-performance applications. You will be responsible for setting technical direction, mentoring engineers, and ensuring the successful delivery of complex software projects. The ideal candidate is a seasoned problem-solver, a strategic thinker, and a strong communicator who can drive technical excellence across the engineering team. Join us in Paarl and play a pivotal role in shaping the future of our technology platform.
Key Responsibilities
- Lead the design and architecture of microservices-based systems.
- Develop high-quality, scalable, and maintainable code for critical backend services.
- Mentor and guide junior and mid-level software engineers.
- Define and enforce coding standards, best practices, and architectural principles.
- Collaborate with product management, QA, and other engineering teams to deliver features.
- Drive technical innovation and evaluate new technologies for adoption.
- Optimize application performance, scalability, and reliability.
- Participate in code reviews, architectural reviews, and technical discussions.
- Troubleshoot and resolve complex technical issues in production environments.
- Ensure robust security measures are implemented across the services.
Requirements
- Master's or Bachelor's degree in Computer Science, Engineering, or a related field.
- 10+ years of progressive experience in software engineering, with a strong focus on backend development.
- Proven expertise in designing, building, and deploying microservices architectures.
- Proficiency in one or more backend languages (e.g., Java, Go, Python, C#).
- Extensive experience with cloud platforms (AWS, Azure, or GCP) and container orchestration (Kubernetes).
- Deep understanding of distributed systems concepts, messaging queues (e.g., Kafka, RabbitMQ), and database technologies (SQL/NoSQL).
- Experience with API design principles (REST, gRPC).
- Strong understanding of Agile methodologies and DevOps practices.
- Excellent leadership, communication, and problem-solving skills.
- Experience with performance tuning and monitoring of distributed systems.
Benefits
Our client offers a highly competitive salary, comprehensive benefits package including medical aid and retirement fund, performance bonuses, and ample opportunities for professional growth and development. This role offers a hybrid work model and is based in our Paarl, Western Cape office. We provide a stimulating work environment, access to cutting-edge technology, and a culture that encourages innovation and collaboration. Enjoy generous leave policies and opportunities for career advancement.