استخدام Senior .NET Engineer
توسعه پلتفرم مبتنی بر Microservices
ما به دنبال یک Senior .NET Engineer حرفهای هستیم تا در توسعه پلتفرم Enterprise برای مدیریت و عملیات پروژه ما به تیم ما ملحق شود.
Backend سیستم بر پایه .NET 10 و معماری Microservices توسعه داده شده و شامل Domainهای پیچیدهای مانند:
- Customer Management
- KYC
- KYB
- AML / Compliance
- Risk Management
- Transaction Management
- Branch Management
- User & Permission Management
- Document Management
- Workflow
- Audit
- Reporting
ما به دنبال فردی نیستیم که صرفاً بتواند API بنویسد.فرد مورد نظر باید درک عمیق و تجربه عملی در Distributed Systems، Microservices، Event-Driven Architecture و Software Architecture داشته باشد و بتواند Featureهای پیچیده را از تحلیل تا طراحی، پیادهسازی، تست، Performance، Observability و Production بهصورت مستقل پیش ببرد.
مسئولیتهای اصلی
- طراحی، توسعه و نگهداری Microserviceهای Production
- مشارکت در طراحی معماری سیستم
- تحلیل و پیادهسازی Business Domainهای پیچیده
- طراحی Service Boundary مناسب
- طراحی APIهای پایدار و قابل توسعه
- پیادهسازی ارتباطات Synchronous و Asynchronous بین سرویسها
- طراحی و پیادهسازی Distributed Workflowها
- پیادهسازی Transactionهای توزیعشده
- طراحی و پیادهسازی Saga Pattern
- مدیریت Distributed Transaction
- پیادهسازی Event-Driven Architecture
- طراحی و پیادهسازی Eventهای Domain
- کار با Message Broker
- طراحی سیستمهای مقاوم در برابر Failure
- پیادهسازی Retry، Timeout، Circuit Breaker و Resilience
- پیادهسازی Distributed Lock در سناریوهای مورد نیاز
- طراحی Idempotent Operation
- پیادهسازی Distributed Tracing
- طراحی Logging و Monitoring مناسب
- Performance Optimization
- رفع مشکلات Production و Root Cause Analysis
- Code Review
- طراحی تستهای Unit، Integration و Contract
- همکاری با تیم Frontend، QA، DevOps و Product
- مستندسازی تصمیمات معماری و Technical Design
تسلط بسیار بالا بر:
- C#
- .NET 10
- ASP.NET Core
- Minimal API
- Web API
- Dependency Injection
- Middleware
- Configuration
- Options Pattern
- Background Services
- Hosted Services
- Async / Await
- CancellationToken
- Channels
- Threading
- Parallelism
- Exception Handling
و درک عمیق از:
- Memory Management
- Garbage Collection
- Thread Pool
- Synchronization
- Concurrency
- Locking
- Race Condition
الزامی است.
تسلط عملی بر:
- SOLID
- Clean Architecture
- Domain-Driven Design
- Domain Modeling
- Modular Architecture
- Hexagonal Architecture
- Onion Architecture
- Separation of Concerns
- Dependency Inversion
و مهمتر از همه: توانایی تصمیمگیری معماری بر اساس Trade-offهای واقعی.
تسلط واقعی و تجربه Production در:
- Microservices
- Service Boundary
- Service Discovery
- API Gateway
- BFF
- Inter-Service Communication
- Synchronous Communication
- Asynchronous Communication
- Service Ownership
- Independent Deployment
- Independent Scaling
- Fault Isolation
- Distributed Configuration
ضروری است.
تسلط عملی بر gRPC:
- Protocol Buffers
- Unary RPC
- Server Streaming
- Client Streaming
- Bidirectional Streaming
- gRPC Interceptors
- Deadlines
- Cancellation
- Metadata
- Error Handling
- Authentication
- Authorization
- Versioning
- Backward Compatibility
- Health Checking
- و توانایی طراحی ارتباط بین Microserviceها با gRPC
تجربه حرفهای با Message Broker و بهخصوص RabbitMQ و Kafka و مفاهیم مرتبط ضروری است.
Databases: تجربه حرفهای با PostgreSQL، MongoDB و Redis (Query Optimization، Indexing، Transactions، Caching و ...).
شرایط احراز (الزامی): حداقل 5 سال تجربه حرفهای در توسعه Backend با .NET، تسلط بسیار بالا بر C# و .NET، تجربه Production با Microservices، تجربه gRPC، تجربه RabbitMQ یا Message Broker مشابه، تسلط بر Event-Driven Architecture، تجربه عملی Saga Pattern، تجربه PostgreSQL و Redis، تجربه Docker و تسلط بر Git.
استفاده از ابزارهای AI برای تولید، تکمیل، بازنویسی یا Review کد در این موقعیت شغلی مجاز نیست.