About the Role
We are seeking an experienced Senior Software Engineer (.NET & Azure) to join our innovative technology team. You will design, build, and maintain scalable enterprise-grade applications leveraging modern .NET technologies and Microsoft Azure cloud services.
This role emphasizes cloud-native development, microservices architecture, and secure, high-performance coding practices. It is ideal for a skilled engineer who thrives in collaborative Agile environments, embraces continuous learning, and is passionate about delivering robust, future-ready software solutions.
Key Responsibilities
Development & Architecture
- Design, develop, and maintain scalable backend applications using C# and .NET Core / .NET 6+.
- Build microservices-based architectures with reusable and modular components.
- Implement cloud-native solutions using Azure services, including App Services, Functions, Storage, SQL Database, Cosmos DB, and Service Bus.
- Develop and integrate RESTful APIs and services with front-end systems.
- Ensure high availability, performance, and security of applications.
- Apply best practices in coding, architecture, and DevOps for maintainable and extensible solutions.
Tooling & Pipelines
- Implement CI/CD pipelines using Azure DevOps or other automated build and deployment tools.
- Containerize applications using Docker and manage orchestration with Kubernetes / AKS.
- Monitor and optimize application performance using Azure Monitor and Application Insights.
- Maintain unit tests, integration tests, and automated test frameworks to ensure application quality.
Collaboration & Process
- Collaborate with product managers, QA engineers, DevOps, and other software engineers in an Agile/Scrum environment.
- Participate in code reviews, architecture discussions, and knowledge-sharing sessions.
- Mentor junior developers and support team growth and skill development.
- Translate functional and technical requirements into high-quality software solutions.
Requirements & Qualifications
Must-Have Skills
- 6+ years of professional software development experience with .NET Core / .NET 6+.
- Strong proficiency in C# and object-oriented programming.
- Hands-on experience with Microsoft Azure cloud services.
- Experience developing microservices architectures.
- Knowledge of containerization tools such as Docker and orchestration frameworks like Kubernetes / AKS.
- Experience with CI/CD pipelines and automated build/deployment processes.
- Familiarity with relational and NoSQL databases (SQL Server, Cosmos DB, or similar).
- Solid understanding of RESTful APIs and secure software development practices.
Highly Desirable Skills
- Experience with serverless architectures using Azure Functions and Event Grid.
- Knowledge of event-driven architectures and messaging systems (e.g., Azure Service Bus, Event Hubs).
- Familiarity with Infrastructure as Code tools (ARM templates, Bicep, Terraform).
- Exposure to unit testing frameworks (xUnit, NUnit) and test-driven development (TDD).
- Experience in performance optimization, monitoring, and observability in cloud environments.
- Knowledge of DevSecOps practices and secure software development lifecycle.
Education & Certifications
Education
- Bachelor’s degree, higher certificate, or diploma in Computer Science, Software Engineering, IT, or a related field.
Certifications
- Microsoft Certified: Azure Developer Associate (optional but advantageous)
- Microsoft Certified: Azure Solutions Architect Associate (optional but advantageous)
- Microsoft Certified: DevOps Engineer Expert (optional but advantageous)
Additional Information
- Contract Duration: 12 Months (with possibility of renewal)
- Salary: Market Related
- Location Options: Johannesburg / Cape Town / Remote
- Must be located in South Africa or have a valid work permit for South Africa