Bright Professionals Logo

Developer regie op berichten (rob)

Bright Professionals

  • Utrecht
  • Bright Professionals
  • 23 oktober 2026
Utrecht

Functieomschrijving

Voor Nederlandse Spoorwegen zoeken wij een Developer Regie Op Berichten (ROB). Regie Op Berichten (ROB) is het multichannel communicatieplatform voor medewerkers van NS in de operatie, zoals machinisten, conducteurs en medewerkers in veiligheid en service. Het platform helpt om gerichte en gepersonaliseerde berichten betrouwbaar via meerdere kanalen te versturen. Met jouw werk ondersteun je de dagelijkse operatie en de dienstverlening aan reizigers.

Je werkt mee aan de herbouw van ROB. Daarbij help je een complex domein opnieuw helder te modelleren en stap voor stap te vertalen naar software die aantoonbaar aansluit op de behoeften. Je werkt op het snijvlak van domein, architectuur en realisatie.

Je bent onderdeel van een multidisciplinair DevOps-team en bent betrokken vanaf het eerste domeingesprek tot en met productie, beheer en doorontwikkeling. Je neemt verantwoordelijkheid voor de kwaliteit van het platform. ROB ondersteunt onder meer ReisRegie+, Disys, NSRA en het interne Berichtenportaal.

Domein begrijpen en modelleren
  • Je werkt samen met de Product Owner, analist, domeinexperts, medewerkers uit de operatie, architect en andere ontwikkelaars.
  • Je onderzoekt onduidelijkheden voordat je een oplossing bouwt en helpt een gedeelde domeintaal vast te leggen.
  • Je helpt bepalen welke verantwoordelijkheid bij welke bounded context hoort.
  • Je bewaakt dat elke context eigenaar blijft van het eigen gedrag, de eigen data en betekenis.
  • Je bouwt services volgens clean en hexagonal architecture.
  • Je bouwt event-driven microservices die onafhankelijk te testen, uit te rollen en terug te draaien zijn.

Backend en integratie
  • Je ontwikkelt backendservices in C#/.NET.
  • Je ontwerpt REST API's volgens HTTP-semantiek en resourcegerichte principes.
  • Je ontwerpt en implementeert domeinevents op Azure Service Bus.
  • Je verwerkt berichten idempotent en denkt mee over outbox, retries, deadlettering en replay.
  • Je gebruikt waar mogelijk uitbreidbare contractwijzigingen en behandelt betekenisvolle wijzigingen als een nieuw contract of een nieuwe contractversie.
  • Je werkt met Azure SQL, Cosmos DB, Redis en Blob Storage als infrastructuuradapters.
  • Je bouwt kanaaladapters voor onder meer Azure Communication Services en Firebase.

Specificatie en testen
Binnen ROB is een test niet alleen een controle achteraf, maar een vastlegging van afspraken over gewenst gedrag.
  • Je maakt samen met product- en domeinexperts duidelijke, concrete en toetsbare specificaties.
  • Je vertaalt specificaties naar BDD-scenario's in begrijpelijke domeintaal, met Reqnroll waar dat passend is.
  • Je werkt zowel de gewenste scenario's als negatieve paden uit, waaronder validatie-, autorisatie-, bron-, opslag- en veiligheidsfouten.
  • Je schrijft de tests die de gewenste werking aantonen vóór of gelijktijdig met de implementatie.
  • Je zorgt dat requirements terug te vinden zijn in scenario's, tests, contracten of architectuurchecks.
  • Je gebruikt architectuurtests, bijvoorbeeld met ArchUnitNET, om laagafhankelijkheden en isolatie tussen bounded contexts af te dwingen.
  • Je analyseert niet alleen testdekking, maar ook de kwaliteit van tests.
  • Je maakt operationele eisen zoals latency, auditability, observability en herstelbaarheid testbaar.

Kwaliteit, security en operability
  • Je werkt met code reviews, statische kwaliteitschecks, dependency scanning en securityscans in CI/CD.
  • Je ontwerpt vanuit least privilege, security-by-design en privacy-by-design.
  • Je gebruikt voor Azure-resources waar mogelijk Managed Identity via Workload Identity en Microsoft Entra RBAC.
  • Je maakt metrics, logs, traces, auditrecords, health checks en alerts onderdeel van het gedrag dat je oplevert.
  • Je denkt mee over betrouwbaarheid, retries, fallback, failover, zero-downtime deployments en rollback.

Jouw profiel
  • Je hebt minimaal hbo- of wo-werk- en -denkniveau.
  • Je hebt minimaal vijf jaar ervaring als backend- of fullstackdeveloper in C# en .NET binnen professionele softwareontwikkeling.
  • Je hebt ervaring met domeinmodellering en Domain-Driven Design, of je kunt overtuigend laten zien dat je dit in de praktijk toepast.
  • Je hebt ervaring met clean architecture, hexagonal architecture, ports and adapters of een vergelijkbare aanpak voor expliciete scheiding van lagen en verantwoordelijkheden.
  • Je hebt ervaring met het ontwerpen en bouwen van microservices of andere zelfstandig deploybare services.
  • Je hebt ervaring met REST API's, integratiecontracten en versiebeheer van API- en eventcontracten.
  • Je hebt ervaring met geautomatiseerd testen op meerdere niveaus, waaronder unit-, integratie-, contract- en acceptatietests.
  • Je hebt ervaring met BDD, specification-by-example of een vergelijkbare werkwijze waarbij je specificaties uitvoerbaar vastlegt.
  • Je hebt ervaring met werken in een DevOps-team en met CI/CD-pijplijnen.
  • Je beheerst de Nederlandse taal uitstekend, mondeling en schriftelijk.

Dit is een pré
  • Je hebt ervaring met Azure en cloud-native backendontwikkeling.
  • Je hebt ervaring met Azure Service Bus, event-driven integratie, outbox, idempotentie en dead-letterafhandeling.
  • Je hebt ervaring met Azure SQL, Cosmos DB, Redis en Blob Storage.
  • Je hebt ervaring met ASP.NET Core, Entity Framework Core en dependency injection.
  • Je hebt ervaring met Reqnroll, SpecFlow, Gherkin, Playwright, Testcontainers, WireMock, contract testing, ArchUnitNET of vergelijkbare tooling.
  • Je hebt ervaring met Bicep, Terraform of andere vormen van infrastructure-as-code.
  • Je hebt ervaring met Kubernetes/AKS, observability, Datadog, tracing, SLO's, loadtesten en resilience testing.
  • Je hebt ervaring met Microsoft Entra ID, OAuth2/OIDC, scopes, app roles en Managed Identity/Workload Identity.
  • Je hebt ervaring met privacy-by-design, audit trails, retentie en dataminimalisatie.
  • Je hebt ervaring met werken volgens architectuur-, code-, API-, security- en loggingstandaarden.
  • Je hebt ervaring met Angular, Blazor, Kotlin of Jetpack Compose.

Zo werk je
  • Je denkt vanuit medewerkers in de operatie en de waarde voor reizigers.
  • Je schakelt gemakkelijk tussen domeingesprek, model, C#-code, test en productiegedrag.
  • Je maakt aannames zichtbaar en stelt gerichte vragen voordat je complexe functionaliteit bouwt.
  • Je voelt eigenaarschap voor kwaliteit, betrouwbaarheid en onderhoudbaarheid.
  • Je werkt graag samen met product, architectuur en operationele stakeholders.
  • Je geeft en ontvangt feedback en maakt ontwerpkeuzes bespreekbaar.
  • Je bent nieuwsgierig naar nieuwe ontwikkelingen, waaronder AI en agent-based oplossingen, en zet die alleen in wanneer ze aantoonbare waarde toevoegen.
  • Je werkt datagedreven aan productkwaliteit en operationele verbetering.

Functie-eisen
  • Je hebt minimaal HBO/WO werk- en denkniveau.
  • Je hebt minimaal 5 jaar professionele ervaring als backend- of fullstackdeveloper met C# en .NET.
  • Je hebt aantoonbare ervaring met domeinmodellering en Domain-Driven Design, of je kunt overtuigend laten zien dat je dit in de praktijk toepast.
  • Je hebt ervaring met clean architecture, hexagonal architecture, ports and adapters of een vergelijkbare aanpak met duidelijke scheiding van lagen en verantwoordelijkheden.
  • Je hebt ervaring met het ontwerpen en bouwen van microservices of andere zelfstandig deploybare services.
  • Je hebt ervaring met REST API’s, integratiecontracten en versiebeheer van API- en eventcontracten.
  • Je hebt ervaring met geautomatiseerd testen op meerdere niveaus, waaronder unit-, integratie-, contract- en acceptatietests.
  • Je hebt ervaring met BDD, specification by example of een vergelijkbare werkwijze waarbij je specificaties uitvoerbaar vastlegt.
  • Je hebt ervaring met werken in een DevOps-team en met CI/CD-pijplijnen.
  • Je beheerst de Nederlandse taal uitstekend, zowel mondeling als schriftelijk.

Functie-wensen
  • Het is een pre als je ervaring hebt met Azure en cloud-native backendontwikkeling.
  • Het is een pre als je ervaring hebt met Azure Service Bus, event-driven integratie, outbox, idempotentie en dead-letterafhandeling.
  • Het is een pre als je ervaring hebt met Azure SQL, Cosmos DB, Redis en Blob Storage.
  • Bij voorkeur heb je ervaring met ASP.NET Core, Entity Framework Core en dependency injection.
  • Het is een pre als je ervaring hebt met Reqnroll, SpecFlow, Gherkin, Playwright, Testcontainers, WireMock, contract testing, ArchUnitNET of vergelijkbare tooling.
  • Bij voorkeur heb je ervaring met Bicep, Terraform of andere infrastructure-as-code.
  • Het is een pre als je ervaring hebt met Kubernetes/AKS, observability, Datadog, tracing, SLO's, loadtesten en resilience testing.
  • Bij voorkeur heb je ervaring met Microsoft Entra ID, OAuth2/OIDC, scopes, app roles en Managed Identity/Workload Identity.
  • Het is een pre als je ervaring hebt met privacy-by-design, audit trails, retentie en dataminimalisatie.
  • Bij voorkeur heb je ervaring met werken volgens architectuur-, code-, API-, security- en loggingstandaarden.
  • Het is een pre als je ervaring hebt met Angular, Blazor, Kotlin of Jetpack Compose.

Extra Informatie
  • Aantal uur 36
  • ZZP mogelijk? Ja
  • Thuiswerken mogelijk? N.t.b.
  • Startdatum 18-11-2026
  • Opleidingsniveau HBO, WO