Developer Regie op Berichten (ROB)
- Plaats
- Utrecht, Utrecht
- Start
- 18 november 2026
- Looptijd
- 12 maanden
- Reageren tot
- 27 oktober 2026
- Werkplek
- Hybride
- Opdrachtgever
- Nederlandse Spoorwegen
- Gezien bij de bron
- vandaag 18:18
Kies je bemiddelaar
De Publieke Partner
ZZP| Na fee | €90 per uur |
| Gepubliceerd maximum | €100 per uur |
| Fee | 10%, gaat van het tarief af (Fee 10% van je uurtarief (zzp); detachering 14%, of 10% als je de opdracht zelf aanbrengt. Kassiersmodel: je factureert aan De Publieke Partner, die int bij de opdrachtgever (30 dagen betaaltermijn).) |
| Transparantie | |
| Inhuurroute | Eigen directe portal: je kunt jezelf aanmelden |
| Reageren tot | open tot 27 okt |
Omschrijving
Startdatum: 18-11-2026
Einddatum: 17-11-2027
Locatie: Utrecht/Thuiswerkplek.
Uiterlijk aanbieden: dinsdag 27 oktober om 14:30 uur.
Selectiegesprekken: vanaf maandag 2 november in Utrecht.
Schaal: 61
Maximum tarief*: €100-,
*Let op: Bovenstaand tarief is een max. all-in uurtarief (incl. o.a. reiskosten, faciliteiten, eventuele vergoedingen en de fee(s) voor onze contractmanager FastFlex, excl. btw). Het tarief weegt mee in het selectieproces.
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
Gevraagde vaardigheden
- C#
- .NET
- Domain-Driven Design
- Clean Architecture
- Microservices
- REST API
- BDD
- DevOps
- CI/CD
- Azure Service Bus
- Azure SQL
- Kubernetes