Senior .NET Developer
Our client is a full-service telecommunications provider that develops and delivers multimedia and internet services for residential customers. The company supplies services to independent cable network operators and utility companies via a fiber-optic backbone and also operates directly as an internet and TV service provider in selected regions.
We are looking for a Senior .NET Developer to own the integration layer between the new BSS platform and Quickline's retained .NET monolith (QMC). QMC handles provisioning, customer management, and network operations. Your role is to ensure the new BSS layer communicates with QMC reliably, safely, and observably - without modifying QMC's internals. You bring .NET expertise to a team building primarily in Node.js and TypeScript, and advise the Solution Architect on QMC API constraints and integration risks.
Responsibilities
-
Lead QMC API discovery in Sprint 0: map Provisioning API, Customer Data API, and Available Services API, identify constraints, authentication mechanisms, and test environment availability.
-
Build and maintain the QMC integration bridge - translates new BSS events into QMC API calls and propagates responses back into the event bus.
-
Implement resilience patterns for QMC integration: retry logic, timeouts, circuit breakers, and dead-letter handling.
-
Instrument all QMC integration points with OpenTelemetry so end-to-end traces span from the storefront through to QMC provisioning calls.
-
Write and maintain integration tests covering QMC API interactions with realistic mocks and contract tests.
-
Contribute to operational runbooks covering QMC integration failure scenarios and recovery procedures.
-
Advise the Solution Architect on QMC data model, API limitations, and integration sequencing across sprints.
Requirements
-
.NET / C#: 6+ years production experience. .NET 6+, dependency injection, async/await, HttpClient patterns.
-
Legacy API integration: Experienced consuming and wrapping underdocumented or partially documented APIs. Systematic discovery approach.
-
Resilience patterns: Retry, timeout, circuit breaker (Polly or equivalent). Production experience integrating with systems outside your control.
-
Docker / Kubernetes: Able to containerize .NET services for Kubernetes deployment and write Helm values.
-
OpenTelemetry: .NET tracing and metrics instrumentation.
-
Testing: xUnit or NUnit. Integration testing, API contract testing, mock-based testing of external dependencies.
-
Cross-stack communication: Comfortable working alongside a Node.js / TypeScript team. API-first mindset.
-
Upper-Intermediate English or higher.
-
Ability to work remotely with occasional visits to the office in Sofia or Plovdiv.
Nice to Have
-
Telco provisioning or OSS/BSS platform experience.
-
Strangler Fig or legacy modernization pattern experience.
-
Node.js / TypeScript familiarity for cross-team PR reviews.
-
German or French language skills.
AI-Assisted Development
AI-assisted development is an integral part of the engineering workflow. Engineers are expected to use AI tools to accelerate development, including component scaffolding, API contract generation, automated test creation, performance analysis, accessibility reviews, and documentation.
All AI-generated code and documentation must be reviewed by the engineer before being committed or shared.
We Offer
-
Remote work with occasional visits to the office in Sofia or Plovdiv.
-
An open, transparent, and collaborative work culture.
-
A multinational team with experienced engineers.
-
Continuous knowledge sharing and professional growth opportunities.