Johannesburg South, South Africa

Senior Developer

 Job Description:

The Senior C# Developer is responsible for designing, developing, and maintaining scalable and high-performance C# applications within a cloud-native ecosystem. This role involves leveraging Microsoft Azure services, implementing microservices architecture, integrating APIs, and adhering to Test-Driven Development (TDD) and Continuous Integration/Continuous Deployment (CI/CD) practices. The position requires collaboration with cross-functional teams to deliver robust, modular, and reliable software solutions while contributing to troubleshooting and maintaining comprehensive documentation.

Key Responsibilities

  • C# Development: Collaborate with cross-functional teams to design, develop, and maintain robust C# applications.
  • Technical Leadership: Act as a technical mentor, guiding teams and fostering excellence in software architecture and development.
  • Requirements Analysis: Work with stakeholders to gather and analyze technical requirements, translating them into architecture and design specifications.
  • Microsoft Azure: Utilize Azure services to build, deploy, and manage scalable, secure, and reliable cloud-based solutions.
  • Microservices: Design and implement microservices architecture for modular and scalable software development.
  • API Integration: Develop and integrate APIs for seamless communication between components and third-party services.
  • Test-Driven Development (TDD): Write unit tests and participate in code reviews to ensure code quality, maintainability, and reliability.
  • Documentation: Create clear, concise, and user-friendly documentation for tools, frameworks, and systems to support team understanding and usage.
  • Training and Mentorship: Provide guidance and training to junior developers and team members to enhance their technical skills.
  • CI/CD: Implement and maintain CI/CD pipelines to automate deployments and ensure efficient, error-free releases.
  • Troubleshooting: Investigate and resolve software defects, performance issues, and technical challenges.
  • Collaboration: Partner with product managers, designers, and QA engineers to deliver high-quality software solutions.
  • Software Testing: Implement robust testing frameworks, including unit, integration, and performance tests, to ensure system reliability.
  • Development Standards: Adhere to and contribute to coding standards, best practices, and architectural guidelines, driving their continuous improvement.

Qualifications & Experience

  • Bachelors degree in computer science, Software Engineering, or a related field.
  • 5+ years of hands-on experience in C# development.
  • Proficiency in Microsoft Azure services, including Azure Functions, Azure Service Bus, Azure Event Hub, Azure Event Grid, Azure App Service, Azure Storage, and Azure DevOps.
  • Certification in Agile development methodologies.
  Required Skills:

Maintainability CI/CD Collaboration Requirements Analysis Analysis Continuous Integration Azure Pipelines Agile Microsoft Azure Microservices DevOps Reviews Components Reliability Software Development Storage Architecture Continuous Improvement Developers Specifications C# Integration Computer Science Troubleshooting Documentation Software Testing Design Engineering Leadership Science Training Communication