Mandatory Skills
· Possess a degree in Computer Science, Engineering, or a related field.
· At least 7 years of experience in software development with a strong focus on .NET technologies.
· Proven experience in designing and implementing microservices architecture.
· Expertise in event-driven architecture and experience with Kafka.
· Strong understanding of RESTful APIs and web services.
· Proficient in .NET Core, C#, and related technologies.
· Experience with containerization technologies such as Docker and orchestration tools like Kubernetes.
· Familiarity with Cloud platforms (AWS, Azure, or Google Cloud).
· Excellent problem solving skill and attention to detail.
· Strong communication and leadership skills.
· Ability to work in a fast-paced and collaborative environment.
· Hands-on experience with Test-Driven Development (TDD) and writing test cases.
Skillsets (Good to have)
· Experience with CI/CD pipelines and DevOps practices.
· Knowledge of other messaging systems like RabbitMQ or AWS SNS/SQS.
· Experience with front-end technologies such as Angular, React, or Vue.js.
Familiarity with database technologies such as SQL Server, MongoDB, or PostgreSQL.
Summary:
· The successful candidate will be responsible for leading the design, development, and implementation of scalable and high-performance microservices-based applications. He/she will be involved in architecting and implementing event-driven systems using Kafka.
· This role requires a deep understanding of .NET technologies, microservices architecture, and event-driven patterns.
· The candidate is expected to be well versed in hands-on coding, writing test cases using Test-Driven Development (TDD), and ensuring high-quality software delivery.
Responsibilities:
· Lead the design and development of microservices-based applications using .NET Core.
· Architect and implement event-driven systems using Kafka.
· Collaborate with cross-functional teams to define, design, and ship new features.
· Ensure the performance, quality, and responsiveness of applications.
· Write and maintain test cases using Test-Driven Development (TDD) to ensure code quality and reliability.
· Conduct code reviews and provide constructive feedback to team members.
· Mentor and guide junior developers, ensuring best practices and coding standards are followed.
· Troubleshoot and resolve complex technical issues.
· Stay up-to-date with the latest industry trends and technologies to ensure our solutions remain cutting-edge.
· Participate in architectural discussions and contribute to the overall technical strategy.
Engage in hands-on coding and development activities as needed..