Functieomschrijving

Voor ICTU zoeken wij een Python Developer. Je werkt aan softwareontwikkeling voor het Ministerie van Onderwijs, Cultuur en Wetenschappen (OCW), waarbij je een tool ontwikkelt voor referentieramingen van leerlingen en studenten. Deze tool moet complexe transformaties uitvoeren met behulp van een moderne rekenkern en voldoen aan strenge kwaliteits- en beveiligingskaders van de overheid. Je integreert verschillende functionele componenten, waaronder jaarcyclusbeheer, onderwijsmatrixbeheer, bevolkingsprognoseverwerking, rekenkernbeheer, pipelinemanagement, ramingsberekeningen en sturingsmechanismen. De oplossing maakt gebruik van industriestandaard componenten en implementeert concurrent versioning voor traceerbaarheid van datasets en programmacode.

Je werkt binnen een scrumteam en jouw rol is gericht op de technische realisatie en softwarearchitectuur van backend-componenten en de integratie met de nieuwe rekenkern. Je conformeert je aan beveiligings- en kwaliteitsstandaarden en ontwikkelt de interfaces tussen de onderzoeksomgeving en productieomgeving. Je bent verantwoordelijk voor het waarborgen dat het systeem voldoet aan alle gestelde performance- en schaalbaarheideisen voor de verwerking van referentieramingen.

Jouw verantwoordelijkheden zijn:
  • Ontwikkelen en migreren van de huidige rekenkern naar een nieuwe rekenkern, waarbij bestaande functionaliteit behouden blijft, technische schuld wordt aangepakt en nieuwe functionaliteit wordt toegevoegd.
  • Onderhouden van een CI/CD-pijplijn, inclusief het opzetten van geautomatiseerde kwaliteitscontroles die worden gemonitord via het Quality-time dashboard. Dit omvat automated testing, performance monitoring en compliance-checking voor alle componenten van de nieuwe software.

Binnen sprints van twee weken voer je de volgende werkzaamheden uit:
  • Ontwikkelen van kernfunctionaliteit.
  • Uitvoeren van testen zoals unittests, regressietests en performancetests.
  • Integratieactiviteiten realiseren.
  • Zorgdragen voor kwaliteitsborging en compliance.
  • Kennisoverdracht en documentatie verzorgen.

Tijdens de opdracht lever je per sprint de volgende deelresultaten op:
  • Opleveren van een werkende sprintrelease.
  • Uitvoeren en documenteren van unittests, LTC’s, regressietests en performancetests.
  • Afgeronde integratieactiviteiten volgens planning.
  • Uitgevoerde kwaliteits- en compliancecontroles.

Aan het einde van de opdracht dien je de volgende eindresultaten op te leveren:
  • Volledig gemigreerde rekenkern van oud naar nieuw, waarbij bestaande functionaliteit behouden blijft.
  • Toegevoegde nieuwe functionaliteiten in de rekenkern, zoals gespecificeerd in de requirements.
  • Integratie van de rekenkern in de softwarearchitectuur, operationeel in de productieomgeving.
  • Werkend versiebeheersysteem voor programmacode én datasets, met volledige traceerbaarheid van wijzigingen.
  • Integratie van het versiebeheersysteem met de autorisatielaag, zodat rollen en rechten per gebruiker zijn toe te wijzen.
  • Systeem afgestemd op de werkprocessen van data scientists, inclusief duidelijke documentatie.

Het project is afgerond zodra de nieuwe software operationeel is in productie en de volgende resultaten zijn gerealiseerd:
  • Volledig gemigreerde en geïntegreerde rekenkern in de productieomgeving.
  • Werkend versiebeheersysteem voor programmacode en datasets met volledige traceerbaarheid.
  • CI/CD-pijplijn met geautomatiseerde kwaliteitscontrole via Quality-time dashboard.
  • Kennisoverdracht aan de beheerpartij is voltooid.
  • Data scientists van het ramingsteam kunnen zelfstandig werken binnen de omgeving.
  • Het systeem voldoet aan alle compliance-vereisten (NEN-ISO/IEC-normen, OWASP-richtlijnen, BIO, NORA).
  • Overdracht aan beheer is afgerond.

Specifieke kennis
Je beschikt over kennis van:
  • Python, met ervaring in Python, pandas, numpy en scipy.
  • Containerisatie (Docker/Kubernetes), waarbij componenten container-gebaseerd worden ontwikkeld.
  • Versiebeheer en GitLab CI, inclusief het werken met een ‘concurrent versioning system’ en pipelines voor ramingen.

Jouw profiel
Je hebt minimaal 5 jaar ervaring als Python developer en realiseert de migratie en modernisering van tooling voor referentieraming naar een cloud-native architectuur, waarbij je de huidige rekenkern vervangt door een nieuwe binnen een enterprise-architectuur op het platform van Logius. Je hebt aantoonbare ervaring met het waarborgen van code-kwaliteit en focust op het realiseren van user stories uit de backlog. Je beheerst moderne Python frameworks, data science libraries, microservices architectuur, containerisatie (Docker/Kubernetes), CI/CD pipelines en concurrent versioning systemen, en hebt bij voorkeur ervaring met overheidscompliance (BIO, NORA) in de onderwijssector. Als developer ben je betrokken bij de technische roadmap, neem je architectuurbeslissingen en vertaal je functionele requirements naar technische oplossingen. Je stemt af met het scrumteam om een robuust systeem te leveren dat voldoet aan alle kwaliteits- en beveiligingseisen, terwijl de benodigde flexibiliteit voor het ramingsteam behouden blijft.

Functie eisen

  • Je beschikt over hbo-werk- en denkniveau
  • Je hebt een uitstekende beheersing van de Nederlandse taal
  • Je hebt minimaal 5 jaar ervaring met Python (backend) en de bibliotheken Pandas, NumPy, SciPy
  • Je hebt minimaal 5 jaar ervaring met containerisatie (Docker/Kubernetes)
  • Je hebt minimaal 5 jaar ervaring met microservices-architectuur
  • Je hebt minimaal 5 jaar ervaring met tools zoals GitLab, GitLab CI, SonarQube, Jupyter Notebooks en OWASP Dependency-Check

Functie wensen

  • Je hebt ervaring met het Logius Standaard Platform (Rijkscloud)
  • Je beschikt over diepgaande wiskundige kennis, met name van statistiek en data science
  • Het is een pre als je ervaring hebt met DevOps, waaronder versiebeheer en CI/CD pipelines
  • Je hebt ervaring met de bibliotheken Pydantic en Pandera

Extra informatie

  • Plaats The Hague
  • Opleidingsniveau HBO
  • Aantal uur 40 uur per week
  • Startdatum 02-03-2026
  • Geschikt voor ZZP? Ja
  • Thuiswerken mogelijk? N.t.b.