Senior C#/.NET Developer

4 dni temu

Kraków, Województwo małopolskie, Polska Luxoft Poland Zdalnie Pełny etat 307 000 zł - 395 000 zł/rok

Client's application is a modern distributed application platform built on .NET and Windows, structured as a monorepo and operated across nine environments. It integrates a 30-year-old core financial system with modern consumers by providing event-driven processing, saga orchestration, API gateway, and observability infrastructure. The platform is maintained by a small, senior team. Engineers here own the full stack from architecture through production operations.

The problems the candidate will work on are fundamentally distributed systems and platform engineering problems. A representative sample of current and near-term workstreams:

  • Blue/green deployment topology: zero-downtime service cutover using RabbitMQ exchange binding management, slot affinity middleware, and a topology reconciler. Stateless, eventually consistent, and operationally simple by design.
  • Release and deployment pipeline: GitOps-style release management with strongly-typed release candidates, deployment profiles, and CalVer artifact versioning across a nine-environment promotion pipeline.
  • Structured observability: Splunk Cloud log aggregation, structured log properties, distributed tracing via MassTransit/OpenTelemetry, and RabbitMQ queue metrics.
  • Regression framework: an event-driven, eventually consistent, embarrassingly parallel regression system that compares PROD and UAT output streams per correlation ID using developer-written reconcilers.
  • Saga-driven trade processing: multi-stream correlation, idempotent booking, ordered state machine transitions, and durable state across service restarts — all via MassTransit and MongoDB.

Responsibilities:

The successful candidate will join client's team as a senior engineer working remotely from within the EU time zone. They will work autonomously on large, critical subsystems of the platform, possibly lead a small local team (also in the EU), and serve as the primary engineering contact for that team's day-to-day execution. They are not a delivery manager — they are a hands-on engineer who also leads.

Day-to-Day Responsibilities

  • Design and implement backend features across Kepler's .NET/Windows services, MassTransit sagas, and infrastructure layers.
  • Take technical ownership of assigned Kepler subsystems: understand their design rationale, identify improvement opportunities, and drive implementation.
  • Possibly lead and mentor EU-based developers: code review, pairing, unblocking, and growing their capability over time.
  • Collaborate asynchronously with the NYC-based team lead and wider client's team. Reliable written communication across a 5–6 hour time difference is essential.
  • Contribute to design discussions, technical documentation, and architecture decisions as a full peer — not a ticket-taker.
  • Maintain and improve observability, deployment practices, and platform reliability for the areas they own

Mandatory Skills Description:

  • 8+ years of commercial software engineering experience, the majority in server-side .NET development in production environments.
  • Hands‑on experience with RabbitMQ or a comparable broker (Kafka, Azure Service Bus). Understands exchanges/queues/bindings or equivalent topology concepts — not just 'I have used a queue'.
  • Demonstrable distributed systems depth: has built things that had to be reliable, had to handle message ordering and deduplication, and had consequences when they were wrong.
  • Experience with saga‑style or long‑running workflow patterns. Has implemented stateful multi‑step processing where steps arrive out of order, from multiple sources, or with long windows.
  • Writes meaningful tests as part of normal development — not as an afterthought. Understands the difference between unit, integration, and contract tests and applies them appropriately.
  • Comfortable deploying and running .NET services on Windows Server. Does not require a Linux/container environment to be productive.
  • Has led or mentored engineers in some capacity — formal or informal. Can explain their approach to code review, feedback, and developing junior engineers.
  • Reads and writes clear technical prose. Can produce a design document, a runbook entry, or a detailed pull request description without prompting.
  • Asks the right questions about a new codebase rather than immediately reaching for rewrites. Respects existing design decisions until they understand them.
  • Self‑directed and reliable in a remote, asynchronous context. Has done this before and can point to how they managed it.

Strongly Preferred

Candidates who bring several of these will be significantly stronger fits. None are individually disqualifying to be missing.

  • Experience with HashiCorp Nomad or a comparable orchestrator (understanding of job scheduli