Python Developer

Nederlands Forensisch Instituut
Den Haag, Netherlands
15 days ago
Apply on www.werkenbijdeoverheid.nl
Prepare application

Role details

Contract type
Temporary to permanent
Employment type
Part-time / full-time
Experience level
Experienced
Experience required
3 years minimum
Compensation
€4,132 - €6,275
Working hours
Regular working hours
Languages
Dutch

Tech stack

Artificial Intelligence Data Analysis Microsoft Azure Biometrics Code Review Continuous Integration Linux Graphical User Interface Python (Programming Language) Open Source Technology Scrum Methodology Software Engineering
+10 more
Pytorch Retrieval-Augmented Generation Large Language Models Deep Learning Gitlab Git Kubernetes HuggingFace Software Version Control Docker

Job description

Als Medior Python Developer werk je samen met andere Python Developers en Data Scientists aan uitdagende forensische data science-vraagstukken. In elk project lever je productiewaardige modellen af, ondersteund door een codebase van topkwaliteit. Hiervoor zoeken we in jou diepgaande kennis van Python (incl. decorators, generators en modules uit de standard library zoals itertools), het enthousiasme om verantwoordelijkheid te nemen over een sprint of project, en het vermogen om jouw expertise effectief over te dragen aan collega’s via code reviews, pair programming of workshops. Daarnaast ben je thuis in de nieuwste ontwikkelingen op het gebied van LLM’s en AI-assisted development.

Impact en samenwerking

Je opereert in een multidisciplinair team waar nauwe samenwerking centraal staat - van experimentele R&D met AI-technieken tot praktijkgerichte zaakonderzoeken met politie en OM. Jouw code draagt direct bij aan forensisch bewijs dat zaken oplost en criminelen opspoort.

Projectstructuur en afwisseling

We werken aan impactvolle projecten die doorgaans 1 tot 3 sprints van 3 weken in beslag nemen. Na elke 2 sprints wissel je van project, wat zorgt voor variatie en continue leerstof. De ene sprint ben je Product Owner (PO) in een interne R&D-sprint, waar je de nieuwste AI-technieken toepast op onze forensische datasets. Een volgende sprint duik je als developer in een praktijkgericht zaakonderzoek, vaak in samenwerking met politie of Openbaar Ministerie (OM).

Ruimte voor experimenteren met impact

Je schrikt niet terug voor uitgebreid experimenteren - jouw innovatieve methode kan criminelen helpen opsporen of doorslaggevend bewijs leveren in een strafzaak. Naast sprintwerk onderhoud je onze interne Python-libraries, zodat ze altijd up-to-date en robuust blijven. Standaardtaken zoals uitgebreide testen en CI/CD-pipelines (Azure en GitLab) beheers je moeiteloos.

Technische en communicatieve verantwoordelijkheid

Voor complexe vragen van collega’s over Linux en containerisatie (Docker/Kubernetes) draai je je hand niet om. Je deelt jouw kennis proactief: intern met andere NFI Data Science-teams en extern met partners zoals politie en OM. Jouw vermogen om inzichten uit projecten te vertalen naar praktische toepassingen maakt Γ©cht het verschil.

Als Medior Python Developer til jij de kwaliteit van onze codebases naar een hoger niveau door middel van bewezen best practices in softwareontwikkeling. Je beheert het volledige ontwikkelproces - van repository-opzet tot releases- en zorgt ervoor dat data science-projecten leesbaar, testbaar en future-proof zijn.

Kernverantwoordelijkheden

  • Je bent bekend met object-georiΓ«nteerd programmeren en beheerst geavanceerde Python-concepten (decorators, generators, modules uit de standard library) en past deze toe voor modulaire, schaalbare code voor het totale proces.
  • Je schrijft uitgebreide unit-, integratie- en end-to-end tests en implementeert CI/CD pipelines in Azure/GitLab [volledig proces].
  • Je voert code reviews uit en faciliteert pair programming om teamstandaarden te handhaven (PEP 8, type hints, docstrings).
  • Je richt nieuwe repositories in met moderne tooling (o.a. pdm) die ook na jaren onderhoudbaar blijven.
  • Je onderhoudt/developt interne libraries en integreert met data science frameworks (PyTorch, HuggingFace).

Als medior Python Developer vind je het leuk om projecten te leiden, ben je proactief en communicatief vaardig. Je voelt je verantwoordelijk voor het teamresultaat, pakt graag teamtaken op en komt zelf met een verrassend nieuw onderzoeksvoorstel. Door je interesse in Data Science en AI praat je graag mee over geschikte modellen en technieken voor de verschillende projecten. Ook ben je op de hoogte van de laatste LLM-ontwikkelingen en AI-tooling en denk je actief mee over hoe we deze kunnen inzetten in onze workflows. Het afstemmen over projecten met ketenpartners of stakeholders en het geven van een presentatie of verzorgen van een workshop doe jij met plezier. Je blijft jezelf graag ontwikkelen, of het nu is op gebied van Python, PO-schap of forensische AI en draagt je opgedane kennis graag op een coachende manier over op je collega’s. Binnen onze projecten werken we in teamverband, daarom zoeken we een betrokken collega die feedback kan geven en ontvangen op een prettige en constructieve manier.

Hier kom je te werken

Meer over Divisie Digitale en Biometrische Sporen

Team Data Science en AI

Je maakt deel uit van het team Data Science en AI, dat bestaat uit ongeveer 15 collega’s. We zijn technisch onderlegde data scientists. Met onze kennis van data science en software-engineering brengen we projecten tot een succesvol eindproduct. We werken voornamelijk in Python. En de software die we ontwikkelen? Denk aan gebruikersinterfaces, onze eigen deep learning libraries en dataverwerkings-pipelines.

Als zelf organiserend team hebben we de regie over ons werkproces. We werken in scrumteams aan strafzaken, projecten voor ketenpartners en onze eigen research & development. In deze agile omgeving staan samenwerken en kennis delen centraal. Vaak ben je in een team van drie tot zes personen één tot twee maanden met een project of zaak bezig. De expertise die hebben én we tijdens projecten uitbouwen op het gebied van data science en AI, leren we uit aan onze ketenpartners door het verzorgen van trainingen en workshops aan bijvoorbeeld politieteams en forensisch adviseurs.

Een aantal voorbeelden van projecten waar de afgelopen jaren aan gewerkt hebben:

  • Het ontwerpen en trainen van deep-learning modellen voor het herkennen van vuurwapens in miljoenen afbeeldingen.
  • Het finetunen van open source audiomodellen zoals Whisper, om tapgesprekken automatisch om te zetten in tekst.
  • Het trainen van een taalmodel op assembly code om vergelijkbare stukken code te vinden, waarmee we onze collega’s bij hardware vooruithelpen.
  • Het ontwikkelen van een model waarmee onze collega’s bij de politie automatisch doodsbedreigingen kunnen herkennen.
  • Het ontwikkelen van een RAG model om effectiever miljoenen bestanden te doorzoeken in een forensische zoekmachine (Hansken).

Requirements

  • Je hebt wo-werk- en denkniveau;
  • Je hebt ten minste drie jaar ervaring als Python developer of software engineer;
  • Je hebt gedegen up-to-date kennis van Python en versiebeheer (zoals Git);
  • Je hebt ervaring met ontwikkelen van libraries en het implementeren van CI/CD pipelines;
  • Je hebt ervaring met het uitgebreid reviewen van code en het begeleiden van minder ervaren programmeurs in je team;
  • Je hebt een goede beheersing van de Nederlandse taal in woord en geschrift;
  • Kennis en ervaring van containerisatie is een pre;
  • Bekend zijn met PyTorch en HuggingFace is een pre.
  • Je hebt ervaring met of duidelijke affiniteit met werken met code agents en volgt de ontwikkelingen op het gebied van LLM’s op de voet - dit is een pre.

Competenties

  • Analyseren
  • Samenwerken
  • Creativiteit
  • Oplossingsgericht
  • Overtuigingskracht
  • Plannen en organiseren
  1. Programmeeropdracht: Eerst maken we een selectie op basis van de CV’s en motivatiebrieven. Als we geΓ―nteresseerd zijn, word je binnen 7 dagen uitgenodigd voor een programmeeropdracht. Dit is een korte telefonische opdracht in Python.
  2. Sollicitatiegesprek: Als de programmeeropdracht succesvol is afgerond, nodigen wij je uit voor een sollicitatiegesprek. Tijdens dit gesprek ontmoet je ook een aantal toekomstige collega’s.

Benefits & conditions

  • Schaal 11 €4.132 - €6.275 (bruto)

  • Arbeidsovereenkomst voor bepaalde tijd met uitzicht op onbepaalde tijd
  • 12 maanden
  • 32 - 36 uur
  • Op deze functie is het Functiegebouw Rijk van toepassing. Inschaling vindt plaats op basis van je opleiding en ervaring. De mogelijkheid bestaat dat je in beginsel via een aanvangsschaal wordt aangesteld. Deze kan één schaal lager zijn dan de betreffende functieschaal. Een tijdelijke arbeidsmarkttoelage kan onderdeel zijn van de arbeidsvoorwaarden.

About the company

Naast het salaris ontvang je een individueel keuzebudget (IKB). Het IKB bestaat uit geld (16,5 % van je brutojaarsalaris) en tijd. Met het IKB maak jij de keuzes die bij jou passen en kun je een deel van je arbeidsvoorwaarden zelf samenstellen. Je kunt er bijvoorbeeld voor kiezen om een deel van je maandinkomen te laten uitbetalen wanneer jij dat wenst. Ook kun je dit budget omzetten in verlof en andersom of besteden aan fiscaalvriendelijke doelen. De Rijksoverheid hecht sterk aan persoonlijke groei en loopbaanontwikkeling en biedt daarvoor tal van mogelijkheden. Tot de secundaire arbeidsvoorwaarden behoren onder meer verschillende studiefaciliteiten, bedrijfsfitness, volledige vergoeding van je ov-reiskosten woon-werkverkeer en gedeeltelijk betaald ouderschapsverlof.

  • Een afwisselende baan met in elk geval elk kwartaal een nieuw project
  • Een agile team bestaande uit circa 15 enthousiaste data scientists met verschillende achtergronden
  • De mogelijkheid om onze eigen R&D te prioriteren (en dus om zelf projecten voor te stellen)
  • Een Linux of Windows computer met een NVIDIA RTX 4500 Ada Generation videokaart (of soortgelijk)
  • Toegang tot een server om grotere modellen te trainen
  • EΓ©n conferentiebezoek per jaar, zoals bijvoorbeeld Europython, DFRWS of European Academy of Forensic Science
  • Tijd en budget om cursussen te volgen op technisch gebied (bijv. Coursera cursussen met Andrew Ng) of op persoonlijk gebied (bijv. cursussen over presentatietechnieken, agile werken of effectief communiceren). Ook bieden we interne cursussen aan over forensische onderwerpen, zoals Nederlands Recht, en krijg je de kans om binnen het NFI mee te kijken bij andere forensische disciplines.

Kortom, door de diversiteit aan data, samenwerkingen en technieken is iedere opdracht weer anders en op zijn eigen manier uitdagend. Ben je benieuwd naar voorbeelden? Niet alles wat we doen kan gepubliceerd worden, maar als het even kan dragen we een steentje bij aan de open-source community:

  • De GitHub pagina van het NFI, waar repositories en datasets van verschillende teams zijn gepubliceerd.
  • Onze HuggingFace presence waar we datasets en getrainde modellen publiceren.
  • De presentatie van onze collega op de EuroPython conferentie over het herkennen van doodsbedreigingen in tekstberichten.
  • Het paper dat we gepubliceerd hebben over het gebruik van machine learning modellen in de rechtszaal. Wil je meer weten over ons werk? Bekijk dan de video β€˜Misdaad opsporen via big data bij het NFI’ voor een kijkje in de keuken.

Werken bij de Rijksoverheid betekent een bijdrage leveren aan een beter Nederland. Dus ook aan een veilige en rechtvaardige samenleving voor iedereen. Justitie en Veiligheid verdedigt en beschermt de rechtsorde. Van beleid tot uitvoering. Het Nederlands Forensisch Instituut (NFI) is een agentschap van het ministerie van Justitie en Veiligheid en levert kwalitatief hoogwaardige forensische diensten met behulp van state-of-the-art technologie en wetenschap.

Gedreven NFI-professionals richten zich gezamenlijk op het tijdig leveren van begrijpelijke, objectieve en zo nodig multidisciplinaire forensische analyses, op meer dan dertig onderzoeksgebieden zoals DNA, pathologie en toxicologie, maar bijvoorbeeld ook digitale technologie en wapens. De resultaten spelen een belangrijke rol bij opsporing, vervolging en in rechtszaken. In alle gevallen houdt het NFI zich bezig met zaken die direct van invloed zijn op het dagelijks leven. Dat maakt werken voor het NFI zo bijzonder. Want recht raakt mensen. Nederlands Forensisch Instituut

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.werkenbijdeoverheid.nl
Prepare application

Good distractions

Loading talks and stories from around this role…