About this role
Key Responsibilities
- Design, develop, and maintain scalable .NET / ASP.NET Core applications.
- Develop and maintain Microservices-based architectures.
- Build and consume RESTful APIs and integrate with internal and external systems.
- Implement asynchronous communication using RabbitMQ and message-based architectures.
- Design and implement event-driven solutions using message queues and exchanges.
- Handle message reliability, retries, acknowledgements, dead-letter queues, and error handling.
- Develop clean, maintainable, and reusable code following Clean Architecture, SOLID, and design patterns.
- Work with SQL Server and optimize database queries, stored procedures, and data access.
- Implement authentication and authorization using appropriate security mechanisms.
- Troubleshoot production issues and analyze application logs and distributed-system failures.
- Collaborate with Frontend, QA, DevOps, Business Analysts, and Solution Architects.
- Participate in code reviews and ensure adherence to development standards.
- Write unit and integration tests and ensure high-quality deliverables.
- Support CI/CD pipelines and application deployments in cloud/containerized environments.
- Monitor and improve application performance, scalability, and reliability.
Requirements
-
Strong experience with C# and .NET / ASP.NET Core.
-
Strong understanding of Microservices Architecture.
-
Strong experience with REST APIs and API integration.
-
Hands-on experience with RabbitMQ.
-
Good understanding of:
-
Exchanges and Queues
-
Direct, Topic, Fanout exchanges
-
Routing Keys
-
Acknowledgements
-
Dead-Letter Exchanges/Queues
-
Retry mechanisms
-
Message durability and persistence
-
Publisher/Consumer patterns
-
Strong experience with SQL Server.
-
Good understanding of Entity Framework Core / Dapper.
-
Experience with Dependency Injection and Middleware.
-
Strong knowledge of SOLID principles and Design Patterns.
-
Experience with Git and source-control workflows.
-
Understanding of Docker and Kubernetes is highly preferred.
-
Experience with Azure or another cloud platform is a plus.
-
Knowledge of Redis, caching, and distributed systems is a plus.
-
Experience with CI/CD and Azure DevOps is preferred.