Developer Regie op Berichten (ROB)

Nederlandse Spoorwegen (NS)

€5.703 — €6.517 / maand
11 maanden
HBO - WO
Nog 4 dagen

Dit ga je doen

Dit ga je doen

Regie Op Berichten (ROB) is het multichannel communicatieplatform voor NS medewerkers in de operatie: machinisten, conducteurs, veiligheid en service. ROB helpt om gerichte en gepersonaliseerde berichten betrouwbaar via meerdere kanalen te versturen. Daarmee heeft jouw werk direct invloed op de dagelijkse operatie en op de dienstverlening aan reizigers.

Je werkt mee aan de herbouw van ROB. Dat is geen gewone technische vervanging, maar een kans om een complex domein opnieuw helder te modelleren en stap voor stap te vertalen naar software die aantoonbaar voldoet aan de behoefte. Je werkt op het snijvlak van domein, architectuur en realisatie. 

Je werkt in een multidisciplinair DevOps-team en bent betrokken van het eerste domeingesprek tot en met productie, beheer en doorontwikkeling. Je neemt 
verantwoordelijkheid voor de kwaliteit van het platform.

Domein begrijpen en modelleren

  • Je werkt samen met Product Owner, analyst, domeinexperts, operatie, architect en andere ontwikkelaars; 
  • Je onderzoekt ambiguïteit voordat je een oplossing bouwt en helpt een gedeelde ubiquitous language vast te leggen;
  • Je helpt bepalen welke verantwoordelijkheid in welke bounded context hoort;
  • Je bewaakt dat één context eigenaar blijft van zijn eigen gedrag, 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 additive contractwijzigingen waar mogelijk en behandelt betekenisvolle wijzigingen als een nieuw contract of 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 als één ontwikkelproces
Binnen ROB is een test niet alleen een controle achteraf, maar een vastlegging van de afspraak over het gewenste gedrag.

  • Je maakt samen met de product- en domeinexperts duidelijke, concrete en toetsbare specificaties;
  • Je vertaalt die specificaties naar BDD-scenario's in begrijpelijke domeintaal, met Reqnroll waar passend;
  • Je werkt zowel happy paths als negatieve paden uit, waaronder validatie-, autorisatie-, bron-, opslag- en veiligheidsfouten;
  • Je schrijft eerst of gelijktijdig met de implementatie de tests die de gewenste werking aantonen;
  • Je zorgt dat een requirement terug te vinden is in een scenario, test, contract of architectuurcheck;
  • Je gebruikt architectuurtests, bijvoorbeeld met ArchUnitNET, om laagafhankelijkheden en bounded-contextisolatie af te dwingen;
  • Je analyseert niet alleen coverage, 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 security scans 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. 

Hier ga je werken

Je gaat aan de slag binnen IT Operatie van NS. Daar ontwikkelen we digitale oplossingen voor collega's op de trein, op het station en aan wal. ROB ondersteunt onder meer ReisRegie+, Disys, NSRA en het interne Berichtenportaal.

Het team werkt hybride (50/50) op kantoor in Utrecht en vanuit huis.


Dit zijn de eisen

  • Minimaal HBO/WO werk- en-denkniveau; 
  • Minimaal 5 jaar ervaring als backend- of fullstack developer in C# en .NET in professionele softwareontwikkeling; 
  • Aantoonbare ervaring met domeinmodellering en Domain-Driven Design, of de overtuigende vaardigheid om dit in de praktijk toe te passen; 
  • Ervaring met clean architecture, hexagonal architecture, ports and adapters of een vergelijkbare vorm van expliciete laag- en verantwoordelijkheidscheiding; 
  • Ervaring met het ontwerpen en bouwen van microservices of andere zelfstandig deploybare services; 
  • Ervaring met REST API's, integratiecontracten en versiebeheer van API- en eventcontracten; 
  • Ervaring met geautomatiseerd testen op meerdere niveaus, waaronder unit-, integratie-, contract- en acceptatietests; 
  • Ervaring met BDD, specification-by-example of een vergelijkbare manier van werken waarbij specificaties uitvoerbaar worden vastgelegd; 
  • Ervaring met werken in een DevOps-team en met CI/CD-pijplijnen;
  • Je hebt een uitstekende beheersing (zowel mondeling als schriftelijk) van de Nederlandse taal.

Pre's: 

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

Je brengt het volgende mee: 

  • denkt vanuit de medewerker in de operatie en de waarde voor de reiziger;
  • kunt schakelen tussen domeingesprek, model, C#-code, test en productiegedrag;
  • maakt aannames zichtbaar en stelt gerichte vragen voordat je complexe functionaliteit bouwt;
  • voelt eigenaarschap voor kwaliteit, betrouwbaarheid en onderhoudbaarheid;
  • werkt graag samen met product, architectuur en operationele stakeholders;
  • geeft en ontvangt feedback en durft ontwerpkeuzes bespreekbaar te maken;
  • bent nieuwsgierig naar nieuwe ontwikkelingen, waaronder AI en agent-based oplossingen, en gebruikt die alleen waar ze aantoonbare waarde toevoegen;
  • werkt datagedreven aan productkwaliteit en operationele verbetering.

Op NS kun je rekenen

Werken bij NS betekent dat jij hét verschil kunt maken in de wereld van duurzame mobiliteit. Jij helpt mee om Nederland bereikbaar te houden, voor iedereen. Bij NS krijg je veel vrijheid. We beloven je dat geen dag hetzelfde is. De kernwaarden van NS zijn open en betrouwbaar. Wij gaan voor resultaat en willen vooruit.

Dit ben jij

  • Je beschikt over minimaal HBO/WO werk-en-denkniveau
  • Je beschikt over minimaal 5 jaar ervaring als backend- of fullstack
    developer in C# en .NET in professionele softwareontwikkeling
  • Je beschikt over aantoonbare ervaring met domeinmodellering en
    Domain-Driven Design, of de overtuigende vaardigheid om dit in de praktijk
    toe te passen
  • Je beschikt over ervaring met clean architecture, hexagonal architecture,
    ports and adapters of een vergelijkbare vorm van expliciete laag- en
    verantwoordelijkheidscheiding
  • Je beschikt over ervaring met het ontwerpen en bouwen van microservices of
    andere zelfstandig deploybare services
  • Je beschikt over ervaring met REST API's, integratiecontracten en
    versiebeheer van API- en eventcontracten
  • Je beschikt over ervaring met geautomatiseerd testen op meerdere niveaus,
    waaronder unit-, integratie-, contract- en acceptatietests
  • Je beschikt over ervaring met BDD, specification-by-example of een
    vergelijkbare manier van werken waarbij specificaties uitvoerbaar worden
    vastgelegd
  • Je beschikt over ervaring met werken in een DevOps-team en met
    CI/CD-pijplijnen
  • Je hebt een uitstekende beheersing (zowel mondeling als schriftelijk) van
    de Nederlandse taal
  • Je hebt de werkwijze en voorwaarden van NS Inhuurdesk middels onderstaande
    link gelezen en gaat hiermee akkoord.
    https://www.werkenbijns.nl/werkwijze-en-voorwaarden
  • Je beschikt over ervaring met Azure en cloud-native backendontwikkeling
  • Je beschikt over ervaring met Azure Service Bus, event-driven integratie,
    outbox, idempotentie en dead-letterafhandeling
  • Je beschikt over ervaring met Azure SQL, Cosmos DB, Redis en Blob Storage
  • Je beschikt over ervaring met ASP.NET Core, Entity Framework Core en
    dependency injection
  • Je beschikt over ervaring met Reqnroll, SpecFlow, Gherkin, Playwright,
    Testcontainers, WireMock, contract testing, ArchUnitNET of vergelijkbare
    tooling
  • Je beschikt over ervaring met Bicep, Terraform of andere
    infrastructure-as-code
  • Je beschikt over ervaring met Kubernetes/AKS, observability, Datadog,
    tracing, SLO's, loadtesten en resilience testing
  • Je beschikt over ervaring met Microsoft Entra ID, OAuth2/OIDC, scopes, app
    roles en Managed Identity/Workload Identity
  • Je beschikt over ervaring met privacy-by-design, audit trails, retentie en
    dataminimalisatie
  • Je beschikt over ervaring met werken binnen architectuur-, code-, API-,
    security- en loggingstandaarden
  • Je beschikt over ervaring met Angular, Blazor, Kotlin of Jetpack Compose

Het proces

Dit verhaal gaat over jou

01

De zoektocht – waar begin je?

Elke maand ontvangen we honderden vacatures. Die publiceren we op onze website, maar we blijven niet achteroverleunen. Ons team gaat actief op zoek naar de juiste match. Misschien vind jij ons, of wij jou – hoe dan ook: we maken snel contact.

02

De kennismaking – een goed gesprek, geen kruisverhoor

Jij ziet een interessante opdracht of wij denken dat er een goed bij je past. We bellen om je beter te leren kennen en de opdracht door te nemen. Wat vind jij belangrijk? Wat zijn je ambities? We houden het persoonlijk én to the point. Zo verkennen we samen wat de juiste match voor je is en wat daarmee ook het beste voor de klant is.

03

Afspraken maken – helder en zonder kleine lettertjes

Past de opdracht bij jouw expertise? Top. We bespreken de voorwaarden, je gewenste salaris en hoe de opdracht eruitziet. Omdat het om overheidsvacatures gaat, kunnen de eisen complex zijn en het proces tijdrovend – maar daar helpen wij je soepel doorheen.

04

Introductie – wij regelen de papierwinkel

Je levert een bijgewerkt cv, motivatie en eventuele referenties aan. Wij stellen de introductie samen, volledig afgestemd op de wensen van de opdrachtgever. Alles wat we bespreken komt daarin terug – eerlijk, transparant en geen verrassingen.

05

Even geduld – maar we houden je op de hoogte

Overheidsprocessen kunnen soms traag zijn. Wij geven je vooraf een realistische tijdlijn en houden je tussendoor op de hoogte. Geen radiostilte, maar duidelijke updates.

06

Op gesprek – goed voorbereid op pad

Word je uitgenodigd? Mooi! We plannen samen het gesprek en bereiden het grondig voor. We geven je tips & tricks en duiken in de inhoud van de opdracht. Het doel: jouw kansen maximaliseren.

07

Go of No-Go – samen evalueren

Na het gesprek evalueren we hoe het ging. Wil jij door en ziet de opdrachtgever het ook zitten? Dan koppelen we je aan één van onze uitzendpartners. Zij regelen het uitzendcontract. Is het toch geen match? Dan halen we feedback op en zoeken we verder.

08

Aan de slag – alles geregeld, jij kunt starten

Bij een succesvolle bemiddeling leggen we alle afspraken vast in een overeenkomst. Je uitzendpartner regelt het contract, de administratie en zorgt ervoor dat je netjes en op tijd betaald wordt. Jij hoeft alleen maar te focussen op je werk (en een taart sturen mag altijd 😉).

09

Service – ook ná de start zijn we er voor je

Zolang je aan de opdracht werkt, blijven wij je aanspreekpunt. Ook kan je regelmatig uitnodigingen van ons verwachten voor kleine events en borrels bij ons op kantoor. Heb je vragen over je opdracht, verlenging of indexaties? Eén belletje en we helpen je verder. Is de opdracht afgerond? Dan zoeken we met plezier naar een volgende uitdaging voor je.

Iets voor jou?

Laat het ons weten!

Reageer op deze vacature via TenMonks en ons recruitment team neemt contact met je op om de match te verkennen.

Iets voor jou?

Reageer dan vandaag nog!

Feedback