Back to Company jobs
Principal Software Engineer (DBN)
Durban, KwaZulu-Natal
Permanent
Apply
Posted 24 April 2025 - Closing Date 26 May 2025

Job Details

Job Description

We Want You:

Ready to engineer the future of tech? BET Software is on the hunt for a Principal Software Engineer to join our innovative Software Development team in Durban. In this role, you’ll be at the helm of designing and optimising high-performance, real-time systems that scale. You’ll lead with technical excellence, champion best practices, and collaborate across teams to build secure, event-driven architectures that power our business forward. If you’re passionate about shaping solutions, mentoring others, and leaving your mark on a fast-paced tech environment — we want to hear from you. Apply now.


You Bring:

  • Studying towards or completed a Diploma/Degree in Computer Science, IT, Information Systems, or related field.
  • 10+ years of software development experience, with 5+ years in a specialist tech stack and distributed systems.
  • Proven technical leadership experience.
  • Expert in C# or .NET Core.
  • Strong proficiency in building and managing distributed systems.
  • 5+ years' experience with monitoring tools (e.g., Dynatrace, Prometheus, Grafana, Splunk, DataDog) and data storage solutions (e.g., MS SQL, CockroachDB, Redis, Elastic, Couch).
  • Familiar with CI/CD pipelines, container tech (Docker, Kubernetes), DevOps tools, and infrastructure as code (Terraform, Ansible, Helm).
  • Skilled in translating technical concepts for non-technical stakeholders.
  • Strong analytical skills and problem-solving mindset.
  • Team player with experience in cross-functional collaboration.

What You’ll Do:


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.

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.
  • Influence technical culture by being a thought leader and advocating for collaboration, innovation and continuous improvement.

The Company We Keep:

At BET Software, we don't just recruit talent, we cultivate it. Our learning and development programmes, our various opportunities for growth, and our well-deserved incentives are what keep our All-Star Team the best amongst the rest.

Please note that only candidates who meet the stipulated minimum requirements will be considered. If you have not been contacted within 30 days, kindly consider your application to be unsuccessful.