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