)
Python Developer
energie
Tom is senior software developer bij PSG technauts en werkt sinds zijn eerste werkdag op opdracht bij een ov-vervoerder die in meerdere provincies bussen laat rijden. Daar herschreef zijn team de software achter de ritregistratie, en automatiseerde het de vraag wie opdraait voor de kosten als een bus stilstaat.
)
Elke ochtend moeten er bussen rijden. Niet ongeveer, maar precies: bij de halte waar iemand staat te wachten, op het tijdstip dat in de app stond. Achter die belofte zit software, en die software is het werk van Tom en zijn team.
Bij deze vervoerder lopen twee planningen los van elkaar: één voor de bussen en één voor de chauffeurs. Een bus moet doorrijden, een chauffeur wisselt en houdt pauze. Die planningen komen uit een ander systeem — niet uit dat van Tom.
Wat zijn team eromheen bouwt heet ritregistratie. Elke dag wordt de planning ingeladen, en daar bovenop legt de software vast wat er werkelijk gaat gebeuren: welke haltes komen te vervallen en om welke reden, en welke ritten nog geen chauffeur hebben. Een reisregisseur ziet dat en kan iemand inplannen die klaarstaat.
Dat is het soort verandering waar je op maandag aan begint en waarvan je een paar maanden later ziet dat de operatie er anders van werkt. Geen ticket dat je afvinkt, maar een proces dat je opnieuw mag ontwerpen.
Het knelpunt
Het probleem zat niet in de techniek. Het zat in het moment waarop alles vast moest staan.
Voorheen: laden om vier uur ’s nachts
De definitieve ritten voor de volgende dag kwamen pas om 04:00 in het systeem. Wie de planning wilde bijwerken, moest daarvoor midden in de nacht aan het werk.
De software opnieuw geschreven
Het team herschreef de software achter de ritregistratie, zodat de planning niet langer aan dat ene moment vastzat. Geen los ticket, maar een proces dat opnieuw ontworpen werd.
Nu: beheren vanaf zes uur ’s avonds
Tien uur eerder. De reisregie werkt op een normaal tijdstip, verstoringen kunnen eerder worden opgelost, en wie ’s avonds zijn reis plant weet dan al waar hij de volgende ochtend rekening mee moet houden.
Vakmanschap
Tom heeft een uitgesproken interesse in softwareontwerp en gebruikt die om zijn eigen werk scherper te krijgen. Wie daar ook mee bezig is, vindt hier iemand om mee te sparren.
Eerst het gedrag vastleggen, dan bouwen. Niet omdat het zo hoort, maar omdat je in een domein als dit anders niets durft aan te raken.
Waar verantwoordelijkheden liggen is hier een discussie, geen aanname. Daar wordt over gepraat en soms om gevochten.
In een domein dat continu verandert wint code die over twee jaar nog te volgen is van code die vandaag snel klaar was. Dat is hier een keuze die je mag maken.
De een kent softwareontwerp, de ander hardware, cloud en containers. Je vraagt kennis uit in plaats van hem aan te nemen — en dat werkt beide kanten op.
Valt een rit uit of raakt hij vertraagd, dan moet iemand de kosten dragen. Verwijtbaarheid heet dat. Staat de bus stil omdat hij kapot is of omdat een chauffeur zich heeft verslapen, dan is het aan de vervoerder. Ligt de straat open omdat er een waterleiding is gesprongen, dan draait de gemeente of de concessiebeheerder ervoor op.
Die afweging werd bijgehouden in een Excel-bestand. Foutgevoelig en tijdrovend — en er hing geld aan elke beslissing.
Tom was van begin tot eind betrokken bij de software die dat overnam. Incidenten worden vastgelegd, kunnen met terugwerkende kracht worden aangepast als er later informatie bijkomt, en gaan door naar de rapportages waarop een andere afdeling actie onderneemt. Die koppeling bestond niet eerder.
Het is precies het soort vraagstuk dat er simpel uitziet tot je erin zit: de regels zijn niet altijd eenduidig, de gegevens komen uit verschillende hoeken, en de uitkomst moet uit te leggen zijn aan iemand die de rekening krijgt.
Van complexe vraagstukken naar oplossingen die werken.
Wil jij je verder ontwikkelen als tech professional en werken aan uitdagende projecten? Bij PSG technauts krijg je de ruimte om je kennis te verdiepen, nieuwe technologieën te ontdekken en samen te werken met ervaren professionals die hun vak verstaan.
Vragen
Wat het werk inhoudt, hoe groot het domein is, en wat er gebeurt als een opdracht afloopt.
Aan bedrijfskritische software bij organisaties waar systemen niet mogen uitvallen, onder andere in overheid en energie. Bij een grote ov-vervoerder gaat dat bijvoorbeeld om de ritregistratie die bepaalt welke bussen morgen rijden, en om het automatisch vaststellen wie de kosten draagt als een rit uitvalt.
Groot, en het groeit. Van planning en ritregistratie tot kostenverdeling en communicatie naar reizigers — vrijwel elk onderwerp raakt ergens aan wat het team bouwt. In december kwamen er twee nieuwe concessiegebieden bij, en de systemen moesten die extra belasting dragen. Er zijn geen afgebakende projecten: het zijn veel kleine en een paar grote aanpassingen naast elkaar. Overal verstand van moeten hebben is pittig, en dat blijft het.
Java met Spring Boot, microservices en cloud. Daarbij wordt expliciet nagedacht over wat een architectuur kost om te laten draaien, niet alleen of hij werkt. Test-driven development en SOLID zijn onderwerp van gesprek in het team, en beheerbaarheid van code weegt zwaarder dan snel klaar zijn.
Bij PSG technauts. Onze Technauts hebben een vast contract bij ons en werken op opdracht bij onze klanten. Je werkgever wisselt dus niet als je opdracht wisselt.
Dan regelt het team de volgende — je hoeft zelf niets te zoeken. In de tussentijd is die tijd van jou: je ontwikkelt je verder en werkt aan eigen projecten. Dat is een van de redenen dat het dienstverband bij ons ligt en niet bij de opdrachtgever.
Voor een seniorrol vragen we vijf jaar ervaring, voor een mediorrol drie jaar, met een hbo- of wo-diploma. Voor opdrachten bij overheidsorganisaties is een pre-employment screening onderdeel van de procedure.
Bij klanten door heel Nederland. Onze eigen kantoren staan in Nieuwegein en Rotterdam, maar waar je terechtkomt hangt af van de opdracht. We kijken samen welke opdracht past bij je stack en je ambitie.
Je kunt mailen met Aron Kosten zonder dat daar een sollicitatieprocedure aan vastzit — gewoon een gesprek over wat je zoekt. Wil je liever direct solliciteren, dan staat de vacature voor Senior Java Developer open.
Meer uit de praktijk
Het verhaal van Tom is er één van meer. Drie andere Technauts, drie andere domeinen, hetzelfde soort werk.
)