Software Engineer - Senior: Product Engineering
Summary
Senior hands-on engineer at Syspro (an ERP software company) who owns major C#/.NET services end to end — designing, building, testing, and operating them as Docker containers on Kubernetes in Azure, with SQL, RabbitMQ event-driven integrations, and Azure DevOps for delivery. The role also leads design reviews, mentors engineers, and drives modernisation of legacy (COBOL-era) systems to cloud-nati
This is a hands-on engineering role with clear expectations for technical leadership, system design input, and team enablement.
Responsibilities
- Design, build, and maintain services and components in C#/.NET, containerised with Docker and deployed to Kubernetes on Azure, that meet Syspro’s quality and performance expectations.
- Take end-to-end ownership of complex work: analysis, design, implementation, testing, deployment readiness, and operational support.
- Drive refactoring and technical debt reduction with a focus on maintainability and business value.
- Lead design reviews and architecture discussions across teams.
- Apply strong design principles (e.g., SOLID) and guide others in their practical application.
- Design event-driven integrations using RabbitMQ (or equivalent) to support scalable, decoupled services.
- Factor SaaS delivery considerations (multi-tenancy, scalability, operability) into architecture and design decisions.
- Make strategic technical decisions that improve system health and reduce long-term complexity.
- Set and uphold coding standards and engineering practices within the team.
- Help define and reinforce a strong testing culture (unit, integration, component, regression as appropriate).
- Raise the quality bar through reviews, coaching, and pragmatic improvements to the Definition of Done.
- Use Azure DevOps effectively for delivery transparency and discipline (work items, code reviews, pipelines, traceability).
- Contribute to healthy repository structure and CI/CD practices; help the team improve deployment and release readiness over time.
- Contribute to modernisation initiatives, including working with or around legacy components as required.
- Lead modernisation of legacy technologies (including COBOL-related domains) into modern, cloud-native .NET architectures.
- Work confidently with SQL, including query refactoring for performance and clarity.
- Collaborate with Product, Architecture, Quality, and other engineering teams to deliver outcomes.
- Influence product and roadmap direction through strong technical input and clear articulation of trade-offs.
- Shape solution requirements and contribute to product design discussions with a customer-value mindset.
- Coach and mentor engineers across the team, supporting juniors with practical guidance and feedback.
- Drive team-wide improvements (ways of working, quality practices, technical patterns, shared standards).
- Surface technical risks, dependencies, and impediments early and manage them effectively.
- Lead by example in delivery quality, engineering discipline, and technical initiatives.
- Provide transparent delivery execution and reporting through disciplined use of Azure DevOps.
Requirements
Minimum Level of Education- Bachelor's degree in relevant field (e.g. Computer Science, Software Engineering, Information Systems etc.)
Relevant certifications
Minimum Experience
- 6 - 9 years of software development experience, with demonstrated ownership of complex systems
- Strong professional experience in C#/.NET (backend and/or services), including design and refactoring for maintainability
- Proven experience leading technical work: design input, complex debugging across components, and delivery ownership
- Solid SQL experience (performance considerations, query refactoring, data integrity)
- Practical experience working in an agile delivery environment and using Azure DevOps (or equivalent), with the ability to mentor others in good usage
- Hands-on experience with Azure cloud services, plus containerisation and orchestration using Docker and Kubernetes
- Experience in enterprise software, ERP, SaaS, or complex multi-team product environments
- Experience with legacy modernisation programmes (including COBOL-related domains)
- Experience with distributed systems concepts (resilience, scalability, observability) and message-based/event-driven architectures (e.g., RabbitMQ)
- Front-end exposure (React) and/or component performance and testing practices
Special Skills and Knowledge
- Strong understanding of engineering quality: coding standards, reviews, and testing practices
- Strong communication skills and the ability to influence peers and stakeholders constructively
- Ownership mindset: responsible for product quality and delivery outcomes
- Strong problem-solving and cross-component debugging capability
- Pragmatic technical leadership: makes good decisions, explains trade-offs clearly, and drives alignment
- Team-first collaborator: resolves team-level technical and collaboration issues constructively
Benefits
- 25 annual leave days
- 30 days paid sick leave over 3-year cycle
- Hybrid working environment (3 office days as determined by the function/ manager)
- Pension 10%
- Medical aid
- Life insurance
- Income continuation protection
- Funeral Benefit
- Provident Fund Admin Fee
- Global Education Protection
- Bonus/ commission programmes
- Maternity: 6 months at half pay
- Paternity: 2 weeks full pay
- Employee Assistance Programme
- Free Barista Coffee Daily
- Gym Facilities
- Free Daily Lunch
- Free Fruit on a Tuesday & Thursday
- Free Refreshments & Snacks Daily