Opdrachtomschrijving
De ontwikkelaar voert zijn opdracht uit in de context van de Afdeling Technische Ontwikkeling en Expertise (ATOE) t.b.v. een Dev-Ops team. De applicaties, die ATOE maakt, zijn operationele applicaties voor eindgebruikers zoals o.a. Heimelijke Operaties, Dienst Infra, Team Digitale Opsporing en sensing. Wij maken operationele analyse tools, visualisatie tools en device-management tools in samenspraak met andere technische afdelingen zoals datawarehouse en productiehuis binnen de politie. Een unieke afdeling met een diversiteit aan ontwikkelaars. De ontwikkelaar gaat zich bezig houden met het ontwikkelen van een analysetool gerelateerd aan datagedreven werken. Middels een event driven analysetool zou de opsporing beter in staat moeten zijn om vooraf ingestelde scenario’s te monitoren en hierop te acteren. Wij zoeken een ontwikkelaar met specifieke skills en werkzaamheden in een vastgesteld werkpakket.
Specifieke kennis
- Domain-driven Design (DDD)
- Behaviour-driven Development (BDD)
- Command Query Responsibility Segregation (CQRS) en Event sourcing (ES)
- OpenId Connect authenticatie techniek (kennis van integratie met LDAP is een pré)
- Backend for frontend (BFF) patroon
Unieke ervaring
- Ervaring in het programmeren vanuit bovenstaande kennis.
- Uitleren van deze kennis aan formatieve ontwikkelaars
Verantwoordelijkheden
Opleveren bovengenoemde resultaten.
Wij richten ons met deze aanvraag tot álle potentiële aanbieders/inschrijvers; zowel aanbieders die een kandidaat offreren, als zzp'ers die zichzelf offreren. Bij deze aanvraag gaat het om een werkrelatie op basis van een resultaatgerichte opdrachtdefinitie. De uitvoering vindt plaats vanuit de vakinhoudelijke professionaliteit, zelfstandigheid, kennis en vaardigheden (expertise) van de kandidaat. Er is geen sprake van inzet op basis een arbeidsverhouding en dient ook niet als zodanig te worden aangemerkt. De opdracht start op het moment dat de kandidaat start en de opdracht stopt op het moment dat het resultaat door de politie goedgekeurd is (decharge).
Werkzaamheden
- Nieuwe python backend applicatie (Bounded Contexts in DDD) ontwerpen en ontwikkelen. Het betreft een sensordata analyse applicatie met behulp van Hierarchical State Machines die de eindgebruiker kan instellen.
- Ons python DDD framework uitbreiden (ontwerp + ontwikkeling) met functionaliteiten die ons systeem nodig heeft. Het betreft onder andere het uitwerken en implementeren van het complexe vraagstuk verwijderen van events uit een Event Store.
- Onze C# SSO gateway die al onze applicaties gebruiken (OpenId Connect / BFF) uitbreiden met nieuw opslagmechanisme om de schaalbaarheid en robuustheid te verbeteren.
- Onze medewerkers trainen in de Domain-driven Design ontwerpmethode en daarmee samenhangend Behaviour-driven Development (BDD) en Test-driven Development (TDD).
Eisen
- De Externe is inzetbaar vanaf 01/03/2025 (of indien mogelijk zoveel eerder als de screening akkoord is) tot en met 31/12/2025 voor 36 uur per week. Het contract kan door de Opdrachtgever NIET optioneel worden verlengd.
- De kandidaat heeft een afgerond, volwaardig en erkende opleiding op minimaal WO niveau, in de richting van Informatica. Dit moet duidelijk blijken uit het CV en worden overlegd bij het verificatiegesprek.
- De kandidaat heeft in de afgelopen 8 jaar minimaal 5 jaar werkervaring als Software ontwikkelaar. Dit moet expliciet in het CV worden beschreven, inclusief opdrachtgever(s) en perioden.
- De kandidaat heeft aantoonbare werkervaring met de programmeertalen Python en C#. Dit moet expliciet in het CV worden beschreven, inclusief opdrachtgever(s) en perioden.
- De kandidaat heeft in de afgelopen 5 jaar aantoonbare werkervaring met gestandaardiseerde ontwerpmethoden en -technieken zoals DDD, BDD, TDD, CQRS en Event sourcing. Dit moet expliciet in het CV worden beschreven.
- De kandidaat heeft aantoonbare werkervaring met OpenId Connect authenticatie techniek en Backend for frontend (BFF) patroon. Dit moet expliciet in het CV worden beschreven.
- De kandidaat heeft aantoonbare werkervaring met cloud technologie zoals CloudFoundry en Kubernetes. Dit moet expliciet in het CV worden beschreven.
Wensen
- De kandidaat heeft aantoonbare werkervaring met opzetten van Continuous Integration (CI), Continuous Delivery (CD) pipelines met Gitlab. Dit moet worden onderbouwd met concrete voorbeelden.
- De kandidaat heeft aantoonbare werkervaring met message broker technologie zoals RabbitMQ (AMQP). Dit moet worden onderbouwd met concrete voorbeelden.
- De kandidaat heeft aantoonbare werkervaring met Hierarchical State Machines (HSM). Dit moet worden onderbouwd met concrete voorbeelden.
- De kandidaat heeft aantoonbare werkervaring met het PolicyServer patroon. Dit moet worden onderbouwd met concrete voorbeelden.
- De kandidaat heeft aantoonbare werkervaring binnen de (Semi-)/overheid en/of Politie. Dit moet worden onderbouwd met concrete voorbeelden.
- De kandidaat heeft aantoonbare werkervaring binnen de digitale opsporing, handhaving of wetgeving. Dit moet worden onderbouwd met concrete voorbeelden.