02 Sep
|
Ekfrazo Technologies Private
|
India
02 Sep
Ekfrazo Technologies Private
India
:
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 solid 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 :
- How the Outbox pattern ensures reliable publishing of events alongside database transactions.
- How the Inbox pattern provides reliable event consumption and duplicate-message handling.
- 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 :
- Robust understanding of race conditions as distinct from idempotency and duplicate prevention.
- Hands-on experience implementing serialization and concurrency-control mechanisms such as :
- Pessimistic locking
- Optimistic locking
- Row/version-based concurrency
- Database transactions
- 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 :
- Retry policies
- Exponential backoff
- Jitter
4.
Dead Letter
Queues (DLQs)
- Idempotency keys
- Idempotency hashing
- 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 :
- Saga Orchestration - centralized coordination of distributed transactions.
- Saga Choreography - decentralized coordination through domain events.
- Understanding of the trade-offs between orchestration and choreography, including failure modes such as :
- Orchestrator single point of failure
- Orchestrator bottleneck
- Event coupling
- Complex failure recovery
5.
Compensation failures
- 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.
📌 Ekfrazo Technologies - Team Lead - Backend Engineering (India)
🏢 Ekfrazo Technologies Private
📍 India