Developer Regie op Berichten (ROB)

Locatie
Utrecht
Uren per week
36
Maximum tarief
€ 100 p/uur
Looptijd
18-11-2026 t/m 17-11-2027
Dienstverband
ZZP
Status
Open
Sluit over 6 dagen
Organisatie logo

Omschrijving

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

  • 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

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

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.

Werklocatie

  • Werklocatie: Station Utrecht Centraal

Eisen

  • 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.

Wensen

  • 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.

Over de organisatie

Meer weten over deze organisatie? Lees wie ze zijn en welke opdrachten ze momenteel aanbieden.

Sluit over 6 dagen

Is deze opdracht iets voor jou?

Past jouw ambitie, kennis en talent bij deze opdracht? Schrijf in via de knop.

Vragen over de opdracht?

Neem contact op met onze opdracht adviseur via WhatsApp, of via een van de kanalen hieronder.

Neem contact op
Ja, inschrijven

Word je enthousiast van deze opdracht? Laat het ons weten!

Bij een geschikte match stelt TenTalent je graag voor! We lezen graag hoe jouw CV aansluit bij deze opdracht.

Marge TenTalent

Het tarief dat je opgeeft is wat de opdrachtgever per uur betaalt. Daar gaat onze marge van €2,50 per uur vanaf. De rest is jouw uurtarief als zzp'er.

Sterke aanbieding

Wij toetsen je cv aan de opdracht, stemmen het tarief met je af en helpen je om cv en motivatie zo sterk mogelijk op te stellen. Daarna dienen wij alles op tijd en compleet in bij de opdrachtgever. Tijdens de opdracht blijven wij je aanspreekpunt en regelen we een eventuele verlenging.

Slimme job alerts

Zelf elke dag zoeken hoeft niet. Met een job alert krijg je nieuwe opdrachten direct in je mail, gefilterd op jouw vakgebieden en regio's. Je stelt hem in een minuut in en past hem aan wanneer je wilt.

1
Contactgegevens
2
Tarief & CV
€ –

excl. btw; onze marge gaat hiervan af

Voer een geldig uurtarief in (alleen cijfers, bijvoorbeeld 85).

Bezig met uploaden...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
3
Bevestiging

Bedankt voor je inschrijving!

We hebben je gegevens en CV ontvangen. Bij een geschikte match nemen we spoedig contact met je op.

Verzenden mislukt. Probeer het later opnieuw.