Senior Backend .NET Developer
1) Responsibilities
• Design and develop ASP.NET Core APIs (Minimal APIs) with a strong focus on readability, testability, and stability
• Implement and maintain CQRS architecture using MediatR
• Implement validation and standardize API error handling and responses
• Design and develop the Domain layer based on Domain-Driven Design (DDD)
• Develop and optimize the data layer using SQL Server
• Use Flyway for database migrations and transaction management
• Use Dapper for high-performance and high-traffic queries
• Develop and stabilize scheduled / long-running jobs
• Implement and maintain integrations using HttpClient, gRPC clients, and in some cases SOAP
• Apply Design Patterns correctly, including: Strategy, Factory, Specification, Decorator
• Enforce SOLID principles and Clean Architecture across all layers
• Improve logging, monitoring, and metrics using standard observability tools
2) Required Skills
• Senior-level experience with C# and ASP.NET Core
• Deep understanding of Domain-Driven Design (DDD) with hands-on implementation experience
• Strong mastery of SOLID principles and Clean Code
• Practical experience applying Design Patterns in real-world systems
• Strong hands-on experience with CQRS and MediatR
• Professional experience working with SQL Server
• Hands-on experience using Dapper for performant queries
• Practical knowledge of JWT Bearer Authentication and Authorization
• Experience using Redis in real production scenarios
• Experience writing tests using xUnit
• Ability to design code that is: Testable - Maintainable - Extensible
• Strong ability to analyze and resolve performance and stability issues in production systems
3) Nice to Have
• Experience working with MongoDB
• Experience working with ClickHouse
• Experience using Kafka
• Experience with gRPC and protobuf
• Familiarity with OpenTelemetry and Prometheus
• Experience with integration testing using Testcontainers
• Experience with SpecFlow / BDD
• Familiarity with Docker and debugging services in containerized environments
4) Important Note
This position is suitable for developers who:
• Consider testing an essential part of software development
• Care deeply about proper domain modeling
• Avoid writing quick & dirty code
• Strive to build clean, maintainable, and professional software
تمام وقت - حضوری - با امکان دورکاری
بیمه - حقوق - بیمه تکمیلی