Overview
Job title : Principal Software Engineer
Job Location : Western Cape, Cape Town
Deadline : October 22, 2025
Responsibilities
- Technical Leadership and System Architecture : Take ownership of designing high-level architecture for critical systems and services. Define and evolve the architecture of high-performance, scalable backend systems. Make key architectural decisions involving microservices, APIs, messaging, storage, and system integration. Ensure that technical solutions align with business objectives, system scalability, and operational requirements. Collaborate with Architects and Engineering Leads to create technical roadmaps that support product growth and long-term system health. Communicate architectural concepts and trade-offs clearly to both technical and non-technical audiences. Identify technical debt and refactor where appropriate to improve code readability, reliability, and resilience, while keeping solutions simple and avoiding unnecessary complexity.
- Software Development and Quality : Lead the development of robust, maintainable backend solutions using C# and .NET (Core and above). Champion clean code principles, modern design patterns, unit testing, and secure coding practices. Conduct code and design reviews, setting the standard for software quality across multiple Teams. Help Teams adopt best practices in CI / CD, version control, containerisation, and automation.
- System Monitoring, Performance and Optimisation : Lead troubleshooting and root cause analysis for complex production issues. Use tools like Prometheus, Grafana, ELK, or Confluent Control Centre to monitor distributed systems. Continuously evaluate and optimise system performance through load testing, tuning, and scaling strategies.
- Security and Compliance : Ensure all software solutions follow secure coding standards, encryption practices, and regulatory compliance requirements.
- Mentorship and Technical Growth : Mentor development teams, helping them grow their technical skills and architectural thinking. Promote engineering excellence through knowledge sharing, workshops, and code walkthroughs. Influencetechnical culture by being a thought leader and advocating for collaboration, innovation and continuous improvement.
Qualifications
Job Specification :
A completed or studying towards a degree or Diploma in Computer Science, Computer Engineering, Information Technology, Information Systems, or a related technical computer system discipline.10+ years of software development experience, with 5+ years focused on specialist tech stack systems.Technical leadership experience is required.Proficiency with distributed systems.At least 5 years working experience with monitoring tools (Dynatrace, Prometheus, Grafana, Splunk, Datadog) and Data storage (MS SQL, Cockroach DB, Redis, Elastic, Couch).Familiarity with CI / CD pipelines, DevOps tools, container technologies (Docker, Kubernetes) Devops tools, and infrastructure as code (Terraform, Ansible, Helm, Etc).Expert level of experience with C# or .NET Framework and .NET Core.Ability to effectively communicate technical concepts to non-technical stakeholders.Capability to analyse complex technical issues and develop creative solutions.Experience working in a Team environment, collaborating with cross-functional Teams.Excellent analytical and problem-solving skills.ICT jobs#J-18808-Ljbffr