Senior Software Engineer (.NET)
Summary
Build and maintain scalable backend services in C#/.NET, designing APIs, integrations, and cloud-native systems while ensuring reliability and performance.
Senior Software Engineer (.NET) – 12-Month Fixed-Term Contract
My client based in Johannesburg are seeking an experienced Software Engineer with strong expertise in C# and .NET to help design, build, and support scalable business-critical applications. This role is ideal for someone who enjoys solving complex technical challenges, building reliable systems, and contributing to engineering excellence across the software development lifecycle.
Responsibilities:
Software Development
- Design, develop, and maintain scalable backend applications and services using C# and .NET.
- Build and enhance APIs, integrations, and distributed system components.
- Develop reliable, secure, and maintainable software solutions aligned with business requirements.
- Contribute to architectural decisions and technical design discussions.
- Ensure solutions meet performance, scalability, and operational requirements.
- Develop and support cloud-native applications and services.
- Work with messaging, caching, storage, and configuration services to build resilient systems.
- Contribute to deployment automation and infrastructure improvements.
- Support monitoring, troubleshooting, and optimisation of production systems.
- Collaborate with platform and infrastructure teams to improve reliability and efficiency.
Data & Integration
- Design and optimise database solutions and data access patterns.
- Develop integrations with internal and external services.
- Analyse and resolve performance issues related to data access and system interactions.
- Ensure data integrity, security, and reliability across applications.
- Promote software engineering best practices, including testing, code reviews, documentation, and maintainability.
- Identify and address technical debt through continuous improvement initiatives.
- Contribute to development standards, architectural guidelines, and engineering processes.
- Support the adoption of modern development tools and practices.
- Work within cross-functional Agile teams to deliver software solutions.
- Participate in planning, estimation, and technical review activities.
- Collaborate with stakeholders to understand requirements and translate them into effective technical solutions.
- Provide technical guidance and mentorship to junior and mid-level engineers.
- Foster a collaborative and knowledge-sharing culture across the engineering team.
- 7+ years of commercial software development experience using C# and .NET.
- Strong experience building and supporting production-grade backend applications.
- Experience designing and developing RESTful APIs and service-based architectures.
- Strong understanding of relational databases and data access technologies.
- Experience working with cloud-hosted applications and services.
- Experience with automated testing, CI/CD pipelines, and modern development practices.
- Strong problem-solving, debugging, and troubleshooting skills.
- Experience working in Agile software development environments.
- Excellent communication and stakeholder engagement skills.
Technical Skills
- C#
- .NET
- RESTful APIs
- SQL Server or other relational databases
- Entity Framework or similar ORM technologies
- Git and collaborative development workflows
- Cloud platforms (Azure, AWS, or GCP)
- Messaging and integration technologies
- Distributed systems and service-oriented architectures
- Experience with event-driven architectures and messaging platforms.
- Familiarity with containerisation technologies such as Docker.
- Exposure to Infrastructure as Code and cloud automation.
- Experience working with caching technologies and performance optimisation.
- Understanding of observability, monitoring, and application telemetry.
- Exposure to real-time systems or communication technologies.
- Experience integrating with AI, analytics, or machine learning services.
- Knowledge of front-end technologies and full-stack development practices.
- Previous mentoring, coaching, or technical leadership experience.