Key Responsibilities:
• Design and develop scalable, maintainable, and secure .NET applications using Microsoft Azure.
• Apply design patterns to create robust and reusable code.
• Optimize application performance and ensure high availability and reliability.
• Design and implement distributed systems using event-driven principles.
• Develop and maintain event producers and consumers using technologies like Apache Kafka
• Ensure high availability, scalability, and fault tolerance of event-driven services.
• Collaborate with cross-functional teams to gather requirements and translate them into technical specifications.
• Mentor and guide junior developers, conducting code reviews and ensuring adherence to best practices.
• Stay updated with the latest industry trends and technologies to drive continuous improvement.
Qualifications:
• Bachelor's degree in Computer Science, Information Technology, or a related field.
• 7+ years of experience in software development with a focus on .NET technologies.
• Strong knowledge of C#, .NET Core and Web API.
• Extensive experience with Microsoft Azure services, including Azure SQL Database, Blob Storage and Cosmos DB
• Proficiency in database design and optimization, particularly with SQL Server and Cosmos DB.
• Experience with event-driven systems and messaging platforms like Kafka.
• Solid understanding of microservices architecture and RESTful APIs.
• Proficiency in applying design patterns such as Singleton, Factory, Observer, and Strategy.
• Familiarity with DevOps practices and tools such as Azure DevOps, Git, Jenkins, Docker, and Kubernetes.
• Familiarity with caching mechanisms (Redis, Memcached, etc.).
• Familiarity with Prometheus and Grafana for monitoring and observability.
• Excellent problem-solving skills and the ability to work in a fast-paced environment.
• Strong communication and collaboration skills
Bachelor's degree