Johannesburg, South Africa
Intermediate Developer
Job Description:
The Intermediate C# Developer is responsible for designing, developing, and maintaining scalable and high-performance C# applications within a cloud-native ecosystem. This position involves leveraging Microsoft Azure services, implementing microservices architecture, integrating APIs, and upholding Test-Driven Development (TDD) and Continuous Integration/Continuous Deployment (CI/CD) practices. The role encompasses collaborative work across cross-functional teams to ensure the delivery of robust, modular, and reliable software solutions while actively contributing to troubleshooting efforts and maintaining comprehensive documentation.
Responsibilities:
- C# Development: Collaborate with cross-functional teams to design, develop, and maintain robust C# applications.
- Microsoft Azure: Utilize Microsoft Azure services to build, deploy, and manage cloud-based solutions, ensuring scalability, security, and reliability.
- Microservices: Design and implement microservices architecture to enable modular and scalable software development.
- API Integration: Create and integrate APIs, ensuring seamless communication between various components and third-party services.
- Test-Driven Development (TDD): Write unit tests and participate in code reviews to ensure code quality, maintainability, and reliability.
- CI/CD: Implement and maintain CI/CD pipelines to automate the deployment process and ensure rapid and error-free releases.
- Troubleshooting: Investigate and resolve software defects, performance issues, and other technical challenges.
- Documentation: Maintain comprehensive documentation of code, architecture, and development processes.
- Collaboration: Work closely with cross-functional teams, including product managers, designers, and QA engineers, to deliver high-quality software solutions.
Qualifications & Experience
- Bachelor's degree in computer science, software engineering, or a related field.
- 3+ years of hands-on experience in C# development.
- Proficiency in Microsoft Azure services, including Azure Functions, Azure App Service, Azure Storage, and Azure DevOps.
- Strong understanding of microservices architecture and best practices.
- Experience with API design, development, and integration.
- Familiarity with Test-Driven Development (TDD) and writing unit tests.
- Experience with CI/CD pipelines and tools (e.g., Jenkins, Azure DevOps, GitLab, CI/CD).
- Knowledge of containerisation and orchestration technologies (e.g., Docker, Kubernetes) is a plus.
- Excellent problem-solving and troubleshooting skills.
- Strong communication and teamwork abilities.
- Self-motivated and eager to learn about emerging technologies such as computer vision, big data, machine learning, and IoT.