Senior DevOps Engineer PDOK

Logo van het Kadaster met een gestileerde blauwe letter 'K' naast het woord 'kadaster' in lichtblauwe tekst.

Aanvraagnummer: 3415
Organisatie: Kadaster
Locatie: Kadaster
Uren per week: 36-40
Tarief: €104 per uur
Regio: Gelderland
Startdatum: 01-10-2024
Optie tot verlenging: 10 maanden
Sluitingsdatum: 02-09-2024 23:59

LET OP! Deze opdracht is gesloten


Deel deze opdracht
  


Opdracht omschrijving

Omschrijving Beheer en Ontwikkeling IT
Waar loopt de grens tussen uw tuin en die van uw buurman? En welk vastgoed is van wie? Het Kadaster registreert van al het vastgoed (grond en gebouwen) in Nederland wie welke rechten heeft. We hebben heel veel data over alles onder, op en boven de grond en willen maximale waarde halen uit deze data. Naast onze wettelijke taak, beheert het Kadaster ook voorzieningen van andere organisaties, de Landelijke Voorzieningen. Zo beheren wij onder andere de WOZ Landelijke Voorziening en de Basisregistratie Adressen en gebouwen (BAG): alle adressen en gebouwen in Nederland, zoals bouwjaar, oppervlakte, gebruiksdoel en locatie op de kaart.

Binnen de directie Beheer en Ontwikkeling IT (BOI) werken we met Scrum en DevOps en zijn de teams integraal verantwoordelijk voor de volledige technische dienstverlening, van idee tot productie. Vanuit een dynamische omgeving bieden wij een informele werksfeer. Soms werkt het beter om even je zinnen te verzetten en kan je met je teamgenoten een potje tafeltennis spelen, gamen of met de 3D printer een ontwerp realiseren. Ook hebben we een innovation hub om in een andere sfeer samen te werken.

Omschrijving project waarbinnen de inhuurkracht te werk wordt gesteld
Het team PDOK is op zoek naar een Senior DevOps engineer met als specialisatie OGC API - Features.
PDOK (Publieke Dienstverlening Op de Kaart) is hét dataplatform van Nederland dat geodata beschikbaar stelt aan iedereen die hier gebruik van wil maken. De geodata is actueel en betrouwbaar en komt van verschillende overheidspartijen.

PDOK stelt deze geodata door middel van verschillende OGC webservices (WFS, WMS, WMTS) en atom downloadservices (Atom) beschikbaar en werkt aan het ontsluiten middels nieuwe (RESTful) OGC API standaarden (Features, Tiles, Map). Afnemers van PDOK-services zijn onder andere: Funda, Atlas Leefomgeving en Rijkswaterstaat.

Per dag verwerken we ongeveer 80 miljoen hits. Met behulp van cloud (Azure Kubernetes Services / AKS) oplossingen hebben we een zeer modern en vooruitstrevend platform ontwikkeld en kunnen we op en af schalen naar behoefte, hiervoor hebben we onder meer onze eigen operators ontwikkeld.

De PDOK-diensten zijn gebaseerd op open data en daarom voor iedereen beschikbaar. Bij data kan men denken aan topografische data, luchtfoto’s, gebouwen, wegen, statische data en nog veel meer soorten data. Gebruikers van de data en diensten van PDOK zijn bijvoorbeeld gemeenteambtenaren, analisten die research doen maar in veel gevallen ook Software Engineers die bijvoorbeeld op basis van webservices en API’s toepassingen maken voor mobiele telefoons, websites of viewers.

Meer informatie over PDOK is ook te vinden op onze website (https://pdok.nl) zoals bijvoorbeeld onze nieuwspagina waar we nieuwe data en functionaliteiten communiceren.

Wat doen we bij PDOK?

Doorontwikkelen van ons cloud platform

PDOK heeft impact! De afgelopen 10 jaar is PDOK gegroeid van 580 miljoen requests in 2013 naar meer dan 20 miljard requests in 2023. Verwacht wordt dat het jaarlijks gebruik in de komende jaren verder stijgt. Om deze groei aan te kunnen zijn we continue bezig met het optimaliseren van de infrastructuur. De belangrijkste stap die we hebben gezet, is de migratie naar de Cloud. Dit was aan de ene kant nodig om onze dienstverlening te kunnen waarborgen, anderzijds was het een hele mooie kans om ons platform en onze standaarden te vernieuwen. De migratie naar de cloud is inmiddels afgerond. Op dit moment zijn we onze cloudoplossing verder aan het optimaliseren. Hierbij proberen we de mogelijkheden die de cloud biedt nog optimaler te benutten, om op deze manier onze oplossing wat betreft beheerbaarheid, schaalbaarheid en kosten nog efficiënter te maken.

Implementeren CI/CD oplossing

Op dit moment zijn we bezig met het implementeren van een CI-oplossing, waarbij de integratietesten voor ons platform automatisch worden uitgevoerd op basis van wijzigingen in de infrastructuur of specifieke componenten die draaien op deze infrastructuur. Dit is mogelijk doordat we voor onze inrichting gebruikmaken van concepten zoals Infrastructure as Code en GitOps. Daarnaast zijn we bezig met een CD-oplossing, waarbij wijzigingen automatisch worden uitgerold. Technieken die we hierbij gebruiken zijn GoLang, ArgoCD en Tekton.

Implementeren nieuwe producten zoals OGC API features en vector tiles

Naast de bestaande OGC-standaarden zoals WMS, WFS en WMTS zijn er door het OGC nieuwe standaarden ontwikkeld op basis van OpenAPI specificaties. Bij PDOK zijn we bezig om deze standaarden te implementeren voor de datasets die we ontsluiten. Hiervoor zijn we bezig met het ontwikkelen van een straat die vector tiles genereerd. Met vector tiles kan geografische data client-side kan worden gevisualiseerd. Daarnaast ontwikkelen we een service voor het ontsluiten van feature informatie in GeoJSON. Gebruikte technieken hierbij zijn Golang, Python en serverless databases.

Automatiseren en standaardiseren dataverwerking

Ook werken we aan het herzien van onze data verwerkingsstraat. Hiermee willen we het ontsluiten van nieuwe data binnen de infrastructuur vereenvoudigen en versnellen en naar de buitenwereld op een eenduidige manier ontsluiten. De ontwikkelingen die hiervoor worden gedaan hebben zowel een backend als een front-end component. Bij de backend ontwikkeling wordt gefocust op het verwerken van de data. Bij de front-end ontwikkelingen wordt een UI gemaakt die door de business kan worden gebruikt voor het aanbieden van updates. De hierbij gebruikte technieken zijn Golang, TypeScript, Argo workflows, Ago events en AngularJS.

Opdrachtomschrijving
Bij PDOK zien we een Senior DevOps Engineer als iemand die zowel ervaring heeft met software development als het inrichten en onderhouden van deze software op onze infrastructuur. De oplossingen van PDOK zijn gestoeld op bestaande opensource componenten (waar we actief een bijdragen aan leveren), volledige maatwerk componenten en een Kubernetes platform. Als Senior DevOps engineer ontwikkel je aan al deze onderdelen en bedenk je samen met het team een plan om technische invulling te geven aan nieuwe en bestaande diensten van PDOK.

Concreet betekent dit het ontwikkelen van ETL-processen en service in Golang, Python, Java/Kotlin en/of TypeScript. Het oplossen van issues in opensource software, dan wel het uitbreiden van opensource software met nieuwe functionaliteit. Het inrichten van oplossingen op onze Kubernetes infrastructuur op basis van het operator pattern, waarbij tevens andere Azure diensten kunnen worden gebruikt. Naast het ontwikkelwerk ben je samen met het team verantwoordelijk voor het oplossen van incidenten, we werken immers DevOps.

De nieuwe (OGC) standaard is klaar (zie hierboven) en kan nu geïmplementeerd worden in PDOK. Dat willen we in het komend jaar realiseren, zodat we daarna voldoen aan de OGC API standaard – dat is belangrijk om gegevens efficiënt en met kwaliteit uit te kunnen wisselen.


Belangrijkste technieken, methoden en tools.

  • Golang;
  • Java / Kotlin;
  • Python;
  • OGC API - Features

Ervaring met meerdere van deze technieken is een pré :

  • AngularJs / TypeScript
  • Bash / shell scripting;
  • Docker;
  • Kubernetes (AKS);
  • PostGIS / PostgreSQL;
  • OGC GeoPackages / SQLite;
  • GDAL / OGR CLI tools;
  • MapServer / Mapproxy;
  • Argo Workflow / Argo Events;
  • Tekton;
  • Operator pattern;
  • Infrastructure as code;
  • CI / CD;
  • GitOps;
  • OpenAPi en REST API’s;
  • OGC Standaarden.

Verantwoordelijkheden

De belangrijkste taken en verantwoordelijkheden zijn

  • Participeren in een SCRUM team, met bijbehorende verantwoordelijkheden. Waarbij het team samen met de Product Owner en gebruikers spart over een gedegen oplossing;
  • Doorontwikkeling van het bestaande platform (Golang, Java/Kotlin, Python) op een Kubernetes omgeving;
  • Implementeren nieuwe oplossingen ten behoeve van het ontsluiten van nieuwe datasets met bijbehorende OGC-services. Denk hierbij aan het implementeren van een ETL-proces en ontwikkelen van webservices;
  • Beheren en uitrollen van complexe gedistribueerde systemen op Kubernetes;
  • Oplossen incidenten en onderhouden bestaande oplossingen.

Beschikbaarheid

De kandidaat is inzetbaar vanaf 1oktober 2024 tot en met 30 september 2025 voor 36-40 uur per week. De inhuuropdracht kan optioneel worden verlengd met 1 x 1 jaar. De opdrachtgever kan de overeenkomst eenzijdig tussentijds opzeggen met een opzegtermijn van één (1) maand. De startdatum is onder voorbehoud van een tijdige afronding van de Offerteprocedure. Dit kan ook betekenen dat de startdatum van de opdracht zal moeten worden opgeschoven. Aan de vermelde startdatum in de Offerteaanvraag kunnen zodoende geen rechten worden ontleend. Volgens Kadaster richtlijn dient iedere medewerker minimaal 2 dagen per week op kantoor aanwezig te zijn. Welke dagen dit zijn gaat in overleg met de manager en het team.


Overige eisen

Verplichte opgave van uw gewaarmerkte KVK-uittreksel. Hieruit moet de tekenbevoegdheid van de ondertekenaar van de onderhavige overeenkomst blijken.

U voegt slechts één Nederlandstalig curriculum vitae (cv) van maximaal 3 pagina's A4 toe. Uit dit cv dient te blijken dat u voldoet aan onderstaande eisen. Indien u naar oordeel van het Kadaster niet voldoet aan de gestelde eisen, of uw cv uit meer dan 3 pagina's bestaat, zal uw offerte terzijde worden gelegd en niet worden meegenomen in de beoordeling van de gunningscriteria. Onderstaand de eisen waar de kandidaat aan moet voldoen. Per eis (kort) toelichten waarom de kandidaat in uw ogen aan de eis voldoet. Verwijzen naar het CV volstaat niet.

Door de kandidaat zélf geschreven CV en motivatie.

Minimaal een afgeronde HBO/WO opleiding.

Minimaal 5 jaar ervaring met DevOps en systeemontwikkeling/integratie in een CI/CD omgeving.

Minimaal 5 jaar ervaring met de te gebruiken methoden, technieken en tools. (Zie opdrachtomschrijving).

Aantoonbare ervaring in zowel beheer- als vernieuwingstrajecten.

Aantoonbare ervaring met relationele databases (bijv. in ETL processen).

Taalniveau Nederlands minimaal B2

Competenties waar de kandidaat over dient te beschikken: • Klantgericht; • Resultaatgericht; • Kwaliteitsgericht; • In staat om zelfstandig binnen een scrumteam te werken; • Teamspeler; • Proactief.


Gunningscriteria

Sortering
Sorteer op prijs
Uitleg gunningscriteria

Uitleg gunningscriteria
Op basis van de beoordeling van het ingediende tarief (prijs) en de kwalitatieve criteria wordt de rangorde van kandidaten samengesteld. Met de drie kandidaten die hierbij het hoogst scoren wordt een verificatiegesprek gehouden. Het verificatiegesprek betreft een toetsing van de ingediende offerte. Naar aanleiding van de verduidelijking, toelichting en eventuele bewijsmiddelen die het kadaster middels het verificatiegesprek heeft verkregen, kunnen scores worden bijgesteld. Hierdoor is het mogelijk dat de rangorde binnen de drie hoogst scorenden wordt aangepast. De hoogste scorende kandidaat, na uitvoering van de verificatiegesprekken komt in aanmerking voor gunning.

De punten toekenning voor het gunningscriterium kwaliteit binnen de beoordelingssystematiek is als volgt:

Score Beoordeling
0 Geen antwoord/invulling
Omschrijving: Onderwerp of aspect is niet beschreven

1 Onvoldoende
Omschrijving: Onderwerp voldoet in zijn geheel niet

2 Matig
Omschrijving: Onderwerp of aspect is niet (volledig) behandeld of voldoet op onderdelen niet aan de wensen van het Kadaster

3 Voldoende
Omschrijving: Onderwerp of aspect is volledig behandeld en sluit aan bij de wensen van het Kadaster. Er is geen sprake van meerwaarde.

4 Goed
Omschrijving: Onderwerp of aspect is volledig behandeld, sluit aan bij de wensen van het Kadaster en bevat enkele positief onderscheidende kenmerken er is sprake van enige meerwaarde

5 Uitstekend
Omschrijving: Onderwerp of aspect is volledig behandeld, sluit aan bij de wensen van het Kadaster, bevat positief onderscheidende kenmerken en overtreft hiermee in ruime mate de verwachtingen van de opdrachtgever. Er is sprake van aanzienlijk meerwaarde.

De EMVI komt als volgt tot stand:

prijs score = ( 1 - ( ( uw prijs - laagste prijs ) / laagste prijs ) ) * 100, maar nooit lager dan 0
kwaliteit score = behaalde kwaliteitspercentage
totaal score = ( prijs score * prijs weging ) + ( kwaliteit score * kwaliteit weging )

Indien er meer informatie wordt gegeven dan gevraagd zal alleen het maximaal aantal toegestane woorden worden beoordeeld. Alle woorden vanaf het maximaal toegestane aantal zullen niet aan de beoordelaars worden doorgegeven.


Gunningscriteria Kwaliteit

40 %

U geeft een beschrijving (max. 400 woorden) van uw ervaring en kennis van programmeren. Beoordeling: De mate waarin uw ervaring en kennis aansluit bij de werkzaamheden die moeten worden uitgevoerd, zie belangrijkste taken en verantwoordelijkheden. Pluspunten voor programmeerervaring in bij PDOK gebruikte technologieën/technieken/tooling, zie opdrachtomschrijving).

40 %

U geeft een beschrijving (max. 400 woorden) van uw ervaring en kennis met DevOps werkzaamheden. Focus daarbij op ervaring waarmee u de traditionele barrière tussen development en operations slecht. Beoordeling: De mate waarin uw ervaring en kennis aansluit bij de werkzaamheden die moeten worden uitgevoerd, zie belangrijkste taken en verantwoordelijkheden. Zoals bijvoorbeeld het beheren en deployen van complexe gedistribueerde systemen op Kubernetes.

20 %

U geeft een beschrijving (max. 300 woorden) van uw ervaring en kennis met relationele databases. Beoordeling: De mate waarin uw ervaring en kennis aansluit bij de werkzaamheden die moeten worden uitgevoerd, zie belangrijkste taken en verantwoordelijkheden. Pluspunten voor ervaring met PostgreSql in een ETL context.


Gunningscriterium Prijs

Maximaal: € 104,00

Inclusief alle kosten, exclusief BTW.

Competenties te toetsen in interviewfase

Beschrijving (uitleg)

Het verificatiegesprek betreft een toetsing van de ingediende offerte. Waarbij de nadruk ligt op de eisen en de kwalitatieve gunningscriteria.


Interviewfase

Beschrijving (uitleg)

Uitsluitend de Kandidaten die na een schriftelijke beoordeling van de Offertes in de rangorde de plaatsen 1 tot en met 3 innemen, zullen worden uitgenodigd voor een verificatiegesprek.

Indien na de schriftelijke beoordeling van de Offertes blijkt dat er meer dan drie Kandidaten in de rangorde de plaatsen 1 tot en met 3 innemen, zal de score op (sub)gunningscriterium kwaliteit van doorslaggevende betekenis zijn in het bepalen van de definitieve rangorde.

Indien ook in dat geval meer dan drie Kandidaten in de rangorde de plaatsen 1 tot en met 3 innemen, zal het (sub)gunningscriterium prijs van doorslaggevende betekenis zijn in het bepalen van de definitieve rangorde.

Indien ook in dat geval meer dan drie Kandidaten in de rangorde de plaatsen 1 tot en met 3 innemen, zullen alle betrokken Kandidaten worden uitgenodigd voor een verificatiegesprek.

De verificatiegesprekken zullen plaatsvinden op 11 september 2024 in Apeldoorn of via MS Teams. Deze datum staat vast en hier wordt niet van afgeweken.