Principal Software Engineer

BETSoftware

Programming Languages (C#, .NET, SQL).

Cloud Platforms (AWS, Azure, OpenShift) and Kubernetes.

Confluent Control Center, Dynatrace, Splunk, DataDog.

CI/CD pipelines and Infrastructure as Code (Terraform, Ansible, Helm).

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.
  • Influence technical 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.
  • Experience in Event Driven systems (Kafta) advantageous.
  • 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.