Posted on: 31/08/2026
Job Description :
Required Qualifications :
Backend Engineering & .NET :
- 10+ years of hands-on backend engineering experience, with strong expertise in .NET / C# and building scalable, reliable, production-grade backend services.
- Strong experience developing RESTful APIs, distributed backend services, and microservices using ASP.NET Core / .NET.
- Solid understanding of asynchronous programming, concurrency, exception handling, dependency injection, and performance optimization in the .NET ecosystem.
- Experience working with relational and/or NoSQL databases, with a strong focus on transaction integrity, consistency, and data correctness.
- Experience in fintech, payments, banking, financial services, or other domains where strict correctness, consistency, and transactional integrity are critical is highly preferred.
Event-Driven Architecture :
- Demonstrated hands-on experience implementing event-driven architectures end to end, preferably using Apache Kafka or a comparable distributed messaging platform.
- Practical experience implementing both the Outbox and Inbox patterns for reliable message delivery, with the ability to clearly explain :
1. How the Outbox pattern ensures reliable publishing of events alongside database transactions.
2. How the Inbox pattern provides reliable event consumption and duplicate-message handling.
3. Why both producer-side and consumer-side reliability mechanisms are important in distributed systems.
- Experience designing and implementing event-driven communication between .NET microservices using Kafka or comparable messaging technologies.
Concurrency & Data Consistency :
- Strong understanding of race conditions as distinct from idempotency and duplicate prevention.
- Hands-on experience implementing serialization and concurrency-control mechanisms such as :
1. Pessimistic locking
2. Optimistic locking
3. Row/version-based concurrency
4. Database transactions
5. Application-level synchronization
- Ability to design systems that maintain strong data consistency and transactional correctness under concurrent requests and message processing.
- Experience applying these concepts in ledger, payment, financial transaction, order, inventory, or other transaction-critical systems is highly desirable.
Resilient Messaging & Fault Tolerance :
- Strong understanding of reliable messaging and failure-handling strategies, including :
1. Retry policies
2. Exponential backoff
3. Jitter
4. Dead Letter Queues (DLQs)
5. Idempotency keys
6. Idempotency hashing
7. Duplicate event detection and prevention
- Ability to explain when and why exponential backoff with jitter should be used, including how it prevents retry storms and reduces contention on downstream systems.
- Experience implementing resilient Kafka consumers/producers or equivalent messaging components within .NET applications.
Scalability & Distributed Systems :
- Clear understanding of horizontal vs. vertical scaling and the trade-offs between them.
- Strong understanding that stateless application design is a foundational requirement for effective horizontal scaling, rather than treating containerization or microservices alone as a proxy for scalability.
- Experience designing stateless ASP.NET Core/.NET services capable of running across multiple instances or Kubernetes pods.
- Understanding of load balancing, distributed caching, session management, connection management, and other considerations involved in horizontally scaled systems.
Distributed Transactions & Sagas :
- Working knowledge of Saga patterns for managing distributed business transactions across multiple services.
- Ability to explain and implement both :
1. Saga Orchestration - centralized coordination of distributed transactions.
2. Saga Choreography - decentralized coordination through domain events.
- Understanding of the trade-offs between orchestration and choreography, including failure modes such as :
1. Orchestrator single point of failure
2. Orchestrator bottleneck
3. Event coupling
4. Complex failure recovery
5. Compensation failures
6. Event ordering and consistency challenges
- Experience implementing Saga workflows in .NET microservices is highly desirable.
Messaging & Integration :
- Strong hands-on experience with Apache Kafka, RabbitMQ, Azure Service Bus, AWS messaging services, or comparable distributed messaging platforms.
- Understanding of partitions, consumer groups, offsets, ordering, delivery semantics, replay, retention, and consumer failure recovery.
- Experience integrating messaging systems with ASP.NET Core / .NET-based microservices.
Cloud-Native & Containerized Deployments :
- Experience building and deploying containerized, cloud-native applications using Docker and Kubernetes or equivalent orchestration platforms.
- Experience deploying and operating .NET microservices on Kubernetes, including configuration, secrets, health checks, scaling, rolling deployments, and service discovery.
- Working knowledge of AWS and/or Azure cloud platforms and cloud-native services.
- Understanding of observability for distributed systems, including centralized logging, metrics, alerting, and tracing.
Reliability & Production Engineering :
- Strong troubleshooting and problem-solving skills with the ability to diagnose failures across distributed .NET services, databases, APIs, and messaging infrastructure.
- Experience designing for failure and handling partial failures, duplicate messages, out-of-order events, consumer failures, network failures, and downstream service unavailability.
- Familiarity with production monitoring, alerting, incident response, RCA, and performance optimization.
Preferred Qualifications :
- Experience in fintech, payments, banking, financial services, or transaction-heavy platforms.
- Strong experience with C#, .NET 6/7/8+ and ASP.NET Core.
- Experience with Kafka and event-driven microservices architecture.
- Experience implementing Outbox, Inbox, Idempotency, Retry/DLQ, and Saga patterns in production.
- Experience with Kubernetes, Docker, and cloud platforms such as AWS or Azure.
- Experience with distributed tracing and observability tools such as OpenTelemetry, Jaeger, Prometheus, and Grafana.
- Familiarity with API gateways, service discovery, distributed caching, and database performance optimization.
- Strong understanding of distributed systems principles, eventual consistency, transactional boundaries, and failure recovery.
Problem-Solving & Engineering Mindset :
- Strong analytical skills with the ability to reason about correctness, consistency, concurrency, and failure scenarios in distributed systems.
- Ability to challenge assumptions and identify subtle issues such as race conditions, duplicate processing, lost events, inconsistent state, and retry amplification.
- Strong communication skills with the ability to explain complex distributed-system concepts clearly to engineers, architects, and non-technical stakeholders.
- Demonstrated ownership of production systems from design and implementation through deployment, monitoring, troubleshooting, and continuous improvement.
Did you find something suspicious?
Posted by
Posted in
Backend Development
Functional Area
Backend Development
Job Code
1667436