Als Backend Developer werk je aan de herbouw van Regie Op Berichten (ROB) en ontwikkel je een platform dat direct impact heeft op de dagelijkse operatie van NS. Je bouwt robuuste, testbare oplossingen binnen een complex domein waar veiligheid, betrouwbaarheid, kwaliteit en overzicht centraal staan.
Daarom wil je als Developer binnen ROB werkenROB is het multichannel communicatieplatform van NS voor operationeel personeel. Het platform stuurt gerichte en gepersonaliseerde berichten via meerdere kanalen en ondersteunt de dagelijkse uitvoering op de trein, op het station en aan wal. De software die je bouwt wordt niet alleen gebruikt door collega’s, maar heeft ook directe impact op de dienstverlening aan reizigers.
Je werkt mee aan een nieuwe, moderne bouw van ROB, waarin we de kern van het domein beter kunnen modelleren, beter kunnen testen en beter kunnen doorontwikkelen. De software die je maakt is niet alleen functioneel, maar ook technisch robuust en schaalbaar. Daarbij is duidelijkheid en testbaarheid essentieel: software die niet getest kan worden, kan ook nooit aantoonbaar voldoen aan de afgesproken specificaties.
Je hebt interesse in domeinmodellering, architectuur en het vertalen van bedrijfsregels naar duidelijke, controleerbare software. Je wilt leren en door groeien in een omgeving waarin technisch vaardig werken, duidelijke specificaties en goede testpraktijk hand in hand gaan.
Je werkt in een team waarin de focus ligt op:
- Het opbouwen van betrouwbare backendservices in een microservice-achtige, event-driven architectuur;
- Het opschonen van het domein en het maken van duidelijke verantwoordelijkheden per context;
- Het vastleggen van gedrag in tests, zodat requirements aantoonbaar zijn;
- Het bouwen van veilige, schaalbare en beheersbare oplossingen in Azure en Kubernetes;
- Het doorontwikkelen van de oplossing naar een domein binnen PFS na ROB.
Dit ga je doen als Developer binnen ROBAls backend developer werk je in een DevOps-team en ben je betrokken van het eerste idee tot en met realisatie, doorontwikkeling en beheer. Je bouwt niet alleen features, maar denkt mee over oplossingen die in de praktijk echt werken en die ook in de toekomst goed te onderhouden zijn.
Je werkt aan het bouwen van robuuste backendservicesJe ontwikkelt backendservices in C#/.NET voor verschillende onderdelen binnen ROB, zoals ontvangende en uitgaande communicatie, doelgroepbepaling, routing, dispatch, tracking en operatiestromen. Je werkt volgens een duidelijke architectuur met expliciete grenzen en eigen verantwoordelijkheden.
Je doet dit in een omgeving waarin de basisprincipes zijn:
- Event-driven microservices met duidelijke verantwoordelijkheid per bounded context;
- Clean en hexagonale architectuur, waarbij domeinlogica losstaat van infrastructuur;
- Robuustheid en schaalbaarheid in Azure en Kubernetes;
- Uitvoerbare tests als onderdeel van het ontwikkelproces, niet als controle achteraf.
Je werkt vanuit concrete requirements en vertaalt die naar een duidelijk technisch ontwerp. Waar dat nodig is, maak je onderlinge afhankelijkheden expliciet, zodat de software niet alleen werkt, maar ook testbaar en onderhoudbaar blijft.
Je zet specificaties om in werkende, bewezen softwareBinnen ROB is het essentieel dat software niet alleen functioneert, maar ook aantoonbaar voldoet aan de afgesproken specificaties. Daarom werk je vanuit duidelijke, concreet geformuleerde requirements en leg je gedrag vast in tests.
Je draagt bij aan:
- Goede analyse van businessregels en domeinbegrippen;
- Het formuleren van concrete acceptatiecriteria;
- Het omzetten van deze criteria naar positieve en negatieve testscenario’s;
- Het bewaken van consistentie tussen requirements, implementatie en tests;
- Het afdwingen van kwaliteit door middel van unit-, integratie-, contract- en acceptatietests.
Je hebt oog voor het verschil tussen "het werkt in mijn omgeving" en "het werkt volgens de afgesproken specificatie". Voor jou is de samenhang tussen requirements, code en tests een vereiste.
Je werkt aan kwaliteit, testbaarheid en operationele betrouwbaarheidJe begrijpt dat software pas goed is als deze veilig, onderhoudbaar en gecontroleerd in productie kan draaien. Daarom ben je bewust van:
- Teststrategie en kwaliteit in de volledige ontwikkelpijplijn;
- CI/CD-opzetten en kwaliteitsgates;
- Security-by-design en privacy-by-design;
- Dataminimalisatie, auditability en logging zonder persoonsgegevens en testdata in logs;
- Monitoring, observability, retry-, fallback- en rollbackgedrag;
- Kubernetes, cloudinfrastructuur en operationele robuustheid.
Je werkt daarom niet alleen aan functionaliteit, maar ook aan de houdbaarheid van de software in productie. Je draagt bij aan een ontwikkelomgeving waarin kwaliteit niet op het eind van een sprint, maar door het hele proces heen wordt bewaakt.
Je hebt aandacht voor architectuurJe hebt interesse in de principes van domeinmodellering, semantische grenzen, duidelijke verantwoordelijkheden en het vertalen van businessregels naar software.
Je wilt weten waarom iets in een bepaalde context thuishoort, en je bent bereid om samen met collega’s en architecten de juiste grenzen te bepalen. Je bent nieuwsgierig naar het waarom van een ontwerp, niet alleen naar het hoe.
Hier ga je werkenJe komt te werken bij IT Operatie, waar we de dagelijkse operatie van NS ondersteunen met digitale oplossingen die directe impact hebben op collega’s op de trein, op het station en aan wal. ROB is hierbij een strategische en complexe ontwikkeling binnen de operatie. Het is een platform dat de komende jaren verder groeit en waar een ontwikkelaar na ROB door kan groeien naar een domein binnen PFS.
Binnen Cluster Persoonlijke Fysieke Service (PFS) werken we voor verschillende doelgroepen in de operatie. De opdrachten binnen ROB en de doorstroom naar PFS betekenen dat je niet alleen aan één onderdeel werkt, maar ook een breed beeld krijgt van de operationele digitale dienstverlening van NS.
Je werkt in een omgeving waarin:
- de kern van de businesslogica helder wordt gemaakt;
- de operationele behoeften van medewerkers centraal staan;
- we bewust bouwen aan schaalbare, testbare software;
- we in de praktijk werken met Azure, Kubernetes, CI/CD en moderne backendprincipes;
- je na ROB kunt doorstroom naar een domein in PFS waar dezelfde kwaliteit, robuustheid en ontwikkeldiscipline van toepassing zijn.
Binnen Cluster PFS staan service, samenwerking en duurzaamheid hoog in het vaandel. Ook hier geldt dat de samenwerking met de business, operatieve experts, collega's en stakeholders essentieel is om software te bouwen die echt werkt en echt bijdraagt.
Domein ROB / doorstroom naar PFSJij komt te werken binnen het ontwikkeltraject van ROB, met als doel om een robuuste basis te bouwen voor de operationele communicatie van NS. Na ROB kun je doorstroom maken naar een domein binnen PFS, waarbij je de kennis en ervaring uit ROB direct kunt inzetten in de operationele dienstverlening van NS.
In het ROB-domein ligt de focus op vraagstukken zoals:
- Hoe houden we het domein overzichtelijk, testbaar en beheersbaar in een event-driven microservice-omgeving?
- Hoe zorgen we dat integraties, autorisatie, observability en monitoring correct en robuust zijn?
- Hoe maken we software die niet alleen werkt, maar ook aantoonbaar voldoet aan de afgesproken specificaties?
Je bouwt oplossingen die bijdragen aan een veiligere, beter werkende en beter te controleren omgeving voor de operatie. Na ROB kun je doorstromen naar een domein in PFS, waar hetzelfde uitgangspunt geldt: software die in de praktijk werkt, veilig is, goed onderzocht en getest is en klaar is voor verdere groei.
Dit zijn de functie-eisenJe hebt een solide basis als backend developer en bent goed in staat om complexe probleemsituaties op te splitsen in heldere softwareoplossingen. Je bent gewend om in een moderne DevOps-omgeving te werken en snapt hoe techniek waarde toevoegt aan de business.
Je kijkt verder dan alleen de code:
- Je denkt vanuit de gebruiker en de praktijk in de operatie;
- Je test en valideert je oplossingen tegen het daadwerkelijke gebruik;
- Samenwerken gaat je natuurlijk af. Je zoekt actief de verbinding met collega's en stakeholders en voelt je medeverantwoordelijk voor het resultaat;
- Je neemt eigenaarschap, bent nieuwsgierig en continu op zoek naar hoe het beter kan;
- Je werkt graag datagedreven of wilt je hier verder in ontwikkelen;
- Je volgt nieuwe ontwikkelingen binnen het vakgebied en bent gemotiveerd om deze kennis toe te passen waar dat waarde toevoegt.
Ervaring en vaardigheden die we van je vragen - HBO/WO werk- en denkniveau;
- Ruime ervaring als backend developer of fullstack developer met een duidelijke focus op backend;
- Ruime ervaring met .NET (C#) en backendontwikkeling;
- Ervaring met het ontwerpen en bouwen van API’s, integraties en eventueel microservices;
- Ervaring met werken in een DevOps-team en met CI/CD-pijplijnen;
- Aandacht voor kwaliteit en security in het ontwikkelproces (o.a. code reviews, tests, security checks);
- Ervaring met het werken met duidelijke technische en functionele specificaties.
Met bij voorkeur - Interesse in Domain-Driven Design en domeinmodellering;
- Ervaring met Azure en cloud-native backendontwikkeling;
- Ervaring met event-driven architectuur, Azure Service Bus, Redis of vergelijkbare integratiepatronen;
- Ervaring met PostgreSQL, Azure SQL, Cosmos DB of andere relationele/NoSQL-opslagvormen;
- Ervaring met Kubernetes/AKS, observability, monitoring, loggen en tracing;
- Ervaring met testautomatisering, 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 OAuth2/OIDC, Microsoft Entra ID, scopes, app roles en beveiliging van API’s;
- Ervaring met privacy-by-design, audit trails en dataminimalisatie;
- Ervaring met infrastructure as code als Bicep, Terraform of vergelijkbaar.
Testaspect is essentieelBij ROB en in de doorontwikkeling naar PFS geldt dat software niet alleen gebouwd, maar ook bewezen moet worden. De ontwikkelaar die wij zoeken kan dus niet alleen code schrijven, maar moet ook kunnen werken volgens de vaste standaard dat:
- requirements worden vertaald naar concrete, toetsbare specificaties;
- gedrag wordt vastgelegd in tests, inclusief positieve en negatieve paden;
- code pas als werkend en voldoende getoetst wordt beschouwd;
- kwaliteit, betrouwbaarheid en security onderdeel zijn van het ontwikkelproces, niet een apart hoofdstuk achteraf;
- een wijziging kan worden onderbouwd met tests en niet alleen met “het werkt op mijn machine”.
Ook voor de doorstroom naar een domein in PFS geldt dezelfde mindset: duidelijke specificaties, testbare software en aantoonbare kwaliteit zijn een vaste basis voor elk teamlid.
Binnen Cluster PFSBinnen Cluster PFS vinden we het belangrijk dat we elkaar durven aan te spreken en ons altijd kunnen uitspreken. We zoeken collega's met lef, die open staan voor ontwikkeling. Om je een vliegende start te kunnen geven binnen ons Cluster, is een assessment onderdeel van het aannameproces. De uitkomsten dienen als input voor jouw persoonlijke leerpad.
We hechten waarde aan een houding waarin je:
- open staat voor feedback;
- samenwerkt met product, operaties, architectuur en andere ontwikkelaars;
- verantwoordelijkheid neemt voor je werk en voor het resultaat van het team;
- je blijft verbeteren en op zoek gaat naar betere oplossingen;
- je bekwaam bent om complexe vraagstukken stap voor stap te vertalen naar werkbare en toetsbare software.
Bij NS kijken we niet alleen naar ervaring, maar ook naar ontwikkelvermogen. We zoeken mensen die nieuwsgierig zijn, snel leren en succesvol omgaan met verandering.
Dit zijn de arbeidsvoorwaardenWerken bij NS betekent dat jij hét verschil kunt maken in de dynamische wereld van duurzame mobiliteit. Jij helpt mee om Nederland bereikbaar te houden, voor iedereen. Bij NS krijg je veel vrijheid. De mogelijkheden om je te ontwikkelen zijn groot. We beloven je dat geen dag hetzelfde is. En als één van de mooiste werkgevers van Nederland hebben we nog meer te bieden.
Voor deze functie onder meer:
- Schaal 60: € 3.743,- tot € 6.491,- bruto per maand (o.b.v. 36 uur, inschaling afhankelijk van kennis en ervaring).
- De mogelijkheid tot thuiswerken en flexibele werktijden (in overleg).
- Een 36-urige werkweek.
- 3% eindejaarsuitkering en 8% vakantiegeld.
- Een uitstekende pensioenregeling.
- Bij goed functioneren ontvang je na één jaar een vast contract.
- Gratis reizen met de trein in de 2e klas.
- Je gezin reist gratis mee in de daluren.
- 144 uur wettelijk verlof per jaar (o.b.v. fulltime) plus extra leeftijdsverlof.
- De mogelijkheid om christelijke feestdagen om te ruilen voor niet-christelijke feestdagen.
- Korting op internationale treinreizen.
- Een keuzeplan met onder andere een fietsenplan, extra pensioenopbouw of extra vakantiedagen.
Wil je meer weten? Bekijk onze arbeidsvoorwaarden en cao.
Solliciteren naar deze baanSolliciteer direct via de sollicitatiebutton. Binnen enkele minuten ontvang je een automatische sollicitatiebevestiging en binnen twee weken reageren wij op jouw sollicitatie.
Deze vacature sluit mogelijk eerder bij voldoende geschikte reacties. Wacht daarom niet te lang met solliciteren.
Je kunt je sollicitatie richten aan
Jeroen van den Berg, Corporate Recruiter IT.
Heb je nog vragen over het sollicitatieproces? Mail dan naar Karin van onze frontoffice via
[email protected].
Heb je liever telefonisch contact? Bel dan met onze frontoffice op
088 - 671 3666.
Goed om te weten - Een achtergrondonderzoek, waaronder een VOG (Verklaring Omtrent Gedrag), maakt onderdeel uit van de sollicitatieprocedure. Dit omvat ook het tekenen van een integriteits- en geheimhoudingsverklaring.
- We vinden het belangrijk dat iedereen die bij ons werkt zich thuis voelt. Dit zie je terug in ons aannamebeleid.
- Met deze vacature werven wij zelf onze nieuwe collega. Dit is géén oproep voor acquisitie.
- De functie kan niet op interim basis worden ingevuld.
Op NS kun je rekenenWerken 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.