Een trein plannen van Utrecht naar Amersfoort is één, maar welke trein gaat dat zijn en welk personeel gaat er mee? En past die trein wel op het geplande perron? Dat en meer wordt geregeld via de complexe IT-systemen van de afdeling Logistiek & Transportbesturings Service Organisatie (LTSO).
Een van die systemen is B@M. Bij een storing, aanrijding of vertraging zorgen de bijstuurders van NS met behulp van B@M dat de reizigers zo snel mogelijk weer verder kunnen. B@M monitort realtime zevenduizend treinritten per dag aan de hand van zo’n half miljoen meldingen van sensoren langs het spoor. Zonder B@M rijdt er geen trein: ‘Dan moet je wel een systeem hebben dat die hoeveelheid informatie aan kan, het mág er niet uit liggen,’ vertelt één van de Java Developers. Rijdt een trein te vroeg of te laat langs één van de talloze sensoren van Prorail langs het spoor? B@M maakt de afwijkingen visueel. Zo hebben de bijstuurders altijd een zo goed mogelijk beeld van de werkelijkheid, waardoor zij snel kunnen schakelen. Bijvoorbeeld door een nieuwe trein in te zetten. Het is dan ook een van de meest kritieke systemen van NS.
Niet zo gek dus dat er vijf ontwikkelteams werken aan de applicatie. B@M is opgedeeld in verschillende (technische) componenten. Elk scrumteam is verantwoordelijk voor vier of vijf componenten van het state of the art systeem dat sinds 2019 live is. Het nieuwe systeem was hoognodig, vertelt de lead developer van een van de teams: ‘Het oude systeem was geschreven in een programmeertaal die bijna niemand meer kende. Developers van het systeem gingen inmiddels zelfs met pensioen.’ Er zat dus aardig wat druk achter de komst van een nieuw systeem. Zeven jaar lang werd er gewerkt aan een nieuwe versie. Geschreven in de industriestandaard Java en bovendien gericht op continue innovatie. ‘We willen dat dit systeem actueel blijft en blijven continu door ontwikkelen. Het leuke is dat we nu ook nieuwe features kunnen gaan bouwen. Er is genoeg te ontwikkelen als je hier als developer aan de slag gaat.’
Die nieuwe functionaliteiten kunnen de teams zelf met een druk op de knop releasen. ‘Wij werken met een ‘release train’. Als we een functionaliteit hebben ontwikkeld, testen we die eerst in de ontwikkelomgeving, dan in de acceptatieomgeving en vervolgens gaat hij mee in de release die elke drie weken plaatsvindt. In één release zitten de verbeteringen van alle teams.’ Elke twee weken werken de teams in sprints aan hun nieuwe functionaliteiten. ‘Dat is een stukje commitment, voor onszelf maar ook naar de business toe: wij gaan dit oppakken. De ontwikkeling naar DevOps is ook fijn. Het is dan echt je eigen product, je voelt je verantwoordelijk voor elke wijziging. We zitten met allemaal jonge mensen, dat is ook gewoon gezellig. Samen kijken we: hoe gaan we het maken?’
Het allergaafste? Dat is nog altijd de impact je als developer bij LTSO maakt. ‘Zoveel mensen nemen de trein. Dan werk je zelf aan een vitaal systeem binnen dat domein. Het is ook heel sprekend, die complexe infrastructuur. Dat is gewoon gaaf.’
Cindy
Hoe is het om te werken als developer bij NS? Zijn het eenzame nerds in een kelder of is dit beroep toch socialer dan je eerst zou denken? In deze aflevering duiken we achter de computer met Cindy.
Inge
Inge Mugge is Product Owner bij NS. Hier werkt ze al 5 jaar aan verschillende apps voor NS: denk aan de Ticketer app en de Wissel app. “Ik vind het echt heel gaaf wat wij doen. Je moet dingen kunnen versnellen, verbeteren of makkelijker maken” vertelt Inge. Samen met haar team zet Inge ontzettend toffe projecten neer. Dit is dan ook de reden dat ze samen met 5 andere teams de NS Digital Award 2023 heeft gewonnen voor de Wissel app!
Colin
Colin (30) werkt als Android Developer aan de NS app. Hij vertelt: “Ik werk aan het domein kaartjes verkoop binnen de app, zodat reizigers eenvoudig een treinkaartje kunnen kopen.” Drie jaar geleden maakte hij de overstap van een zorgverzekeraar naar NS. En dat pakte voor hem goed uit. “Ik dacht dat ik al veel wist, maar bij NS dacht ik: I need to step my game up.”
Wij, en derde partijen, maken op onze website gebruik van cookies. Wij gebruiken cookies om ervoor te zorgen dat onze website goed functioneert, om jouw voorkeuren op te slaan, om inzicht te verkrijgen in bezoekersgedrag, maar ook voor marketing en social media doeleinden (laten zien van gepersonaliseerde advertenties). Door op ‘Accepteren’ te klikken, ga je akkoord met het gebruik van alle cookies. In onze Cookieverklaring kun je meer lezen over de cookies die wij gebruiken en kun je jouw voorkeuren opslaan of wijzigen. Door ‘Weigeren’ te klikken ga je alleen akkoord met het gebruik van functionele cookies.