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..