NMI is excited to add a Senior Software Engineer to our growing team in South Africa. This role sits within the Protocols team—responsible for building and maintaining mission-critical services that connect to card payment acquirers and processors. These systems, written primarily in C#, must be scalable, secure, observable, and highly available, ensuring seamless transaction processing for our global customer base.

The Protocols team is part of NMI’s Payments Gateway group, which focuses on developing and maintaining world-class payment solutions, including PIN pad and card reader integration and processor/acquirer connectivity. As a Senior Engineer, you’ll have a direct impact on how payments flow through the NMI platform, playing a key role in evolving our architecture and building scalable solutions. This role is ideal for engineers who thrive in dynamic environments, lead by example, and are eager to make critical systems more reliable, scalable, and maintainable.

Key Responsibilities

  • Contribute to the architecture of highly observable and fault-tolerant systems.
  • Lead technical discussions, participate in code reviews, and drive best practices in maintainability and performance.
  • Actively mentor and support the growth of junior team members.
  • Collaborate with cross-functional teams, including Product and QA, to ensure high-quality delivery.
  • Contribute to the evolution of our CI/CD pipelines and observability tooling.
  • Participate in the out-of-hours on-call rota to respond to incidents impacting payment flow.

Skills & Experience

  • Bachelor’s degree in Computer Science, Information Technology, or equivalent experience.
  • Minimum of 5 years of experience developing complex software applications in a commercial environment.
  • Advanced proficiency in C# (preferred) or Java, with strong understanding of object-oriented design principles.
  • Deep understanding of the full software development lifecycle (SDLC) and agile methodologies.
  • Experience with relational databases (e.g., MySQL, SQL Server, Oracle).
  • Strong knowledge of security best practices (e.g. OWASP, PCI, SOC2, HIPAA).
  • Proficiency with Google Cloud Platform (GCP), Amazon Web Services (AWS), or similar cloud environments.
  • Demonstrated experience applying modern software development practices in a collaborative, agile environment.
  • Excellent communication skills, with a proven ability to mentor others and contribute to a strong team culture.
  • Experience with logging systems (such as Logz.io) and optimizing logs preferred.
  • Experience with containerization (e.g. Kubernetes, Docker, etc.) preferred
  • Experience with monitoring and alerting systems (e.g. DataDog, NewRelic, etc.) preferred.

Come join a growing fintech company and grow your  tech career!

Benefits 

  • Annual salary as of  R550,000 – R675,000 + bonus
  • 15 days holiday + 12 public holidays  each year (+ 1 day after each year of service with up to a max. of 20 days)
  • 45-hour work week
  • Family friendly policies (Enhanced Maternity and Paternity Pay).
  • A chance to develop with an allocated company training budget
  • A strong commitment to employee wellbeing including mental health first aiders and weekly yoga sessions.
  • Employee referral scheme with generous financial reward
  • Bonusly colleague reward scheme
  • Fun culture events (company volunteering days, seasonal parties)
  • Medical Aid and Gap Cover

APPLY ONLINE NOW