Systems Ltd is looking for a Principal .NET Engineer with strong experience in building distributed, resilient, and highly scalable enterprise systems. The ideal candidate will have hands‑on production experience with durable execution platforms, workflow orchestration frameworks, actor‑based systems, or large‑scale event‑driven architectures.
Responsibilities
- Design, develop, and maintain high-quality software systems using modern .NET technologies.
- Develop and support long-running business workflows that require durable execution, state management, fault tolerance, and recovery capabilities.
- Build distributed systems that coordinate work across multiple services, applications, and external integrations.
- Design and implement resilient solutions with retry policies, failure recovery mechanisms, and idempotent processing.
- Develop event-driven and message-based architectures using asynchronous communication patterns.
- Refactor and modernize existing systems to improve scalability, reliability, and maintainability.
- Collaborate with architects, engineers, product owners, and stakeholders to deliver complex distributed solutions.
- Participate in system design discussions focusing on resilience, eventual consistency, observability, and operational excellence.
Requirements
- 6+ years of hands‑on experience developing applications using C# and .NET / .NET Core.
- Strong understanding of distributed systems principles and cloud‑native application design.
- Experience designing and supporting production systems requiring: Long-running workflows, Stateful coordination, Distributed execution, Failure recovery, Retry mechanisms, Idempotent processing, Eventual consistency
- Hands‑on production experience with one or more of the following platforms: Microsoft Orleans, Temporal, Azure Durable Functions / Azure Durable Task Framework, Akka.NET Bootcamp / Akka, Dapr Actors, Cadence, Netflix Conductor, Erlang/OTP
- Candidates without workflow orchestration experience may still qualify if they have significant production experience with: Event-Driven Architecture (EDA), Apache Kafka, Azure Service Bus, RabbitMQ, Event Sourcing, CQRS, Saga Pattern, Asynchronous messaging systems
- Experience building cloud-native applications on Microsoft Azure.
- Experience with Azure Functions, Azure Service Bus, Azure Kubernetes Service (AKS), Redis, and related cloud services.
- Experience with microservices architecture and service-to-service communication patterns.
- Experience integrating with third‑party APIs and external systems.
- Strong understanding of asynchronous programming and concurrency patterns.
- Experience designing scalable, fault‑tolerant, and highly available systems.
- Familiarity with CI/CD practices and Azure DevOps or Git-based workflows.
- Experience working in Agile/Scrum environments.
- Strong analytical, troubleshooting, and communication skills.