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.