Sr. fullstack Java Developer

Belastingdienst

In overleg
12 maanden
HBO - WO
Nog 8 dagen

Dit ga je doen

De projectactiviteiten vinden plaats binnen het portfolio van het ICTU-programma ENIAMS. Doel van het portfolio betreft het ontwikkelen van informatievoorzieningen (IV) en ondersteunen van pilots ten behoeve van implementatie van Europese en Nederlandse Identity en Access Management (IAM) Stelsels. Deze Stelsels hebben betrekking op zowel subjecten (burgers en bedrijven) als objecten (onroerend goed en vastgoed). De opdrachten binnen dit portfolio betreffen een samenhangend geheel van stelsels, wet- en regelgeving en verordeningen, waaronder — maar niet uitsluitend — EDI, eIDAS, DTC, Toegang, Wdo, Reisdocumenten, SVM en Wtta. Deze opdrachten omvatten niet alleen de ontwikkeling en doorontwikkeling van informatievoorzieningen (IV) en ICT, maar ook activiteiten op het gebied van beheer, toezicht, handhaving, certificering en accreditatie.

Ter ondersteuning van de uitvoering van het Wtta-stelsel (Wet toelating terbeschikkingstelling van arbeidskrachten) ligt de projectopdracht voor om gefaseerd een informatiesysteem Assessio genaamd te ontwikkelen.

De professional wordt zelfstandig ingezet als Senior fullstack Java ontwikkelaar en is verantwoordelijk voor het ontwikkelen, testen, uitrollen en tijdelijk beheren van software (DevOps). Iemand die niet stopt bij "it works on my machine". Hiervoor is brede expertise in Java, Angular en DevOps vereist, evenals aantoonbare ervaring met de ontwikkeling van complexe enterprise-software en interfaces/integraties.

De Java ontwikkelaar levert software op conform de overeengekomen kwaliteitsaanpak en vastgestelde kwaliteitseisen.

Belangrijkste activiteiten die horen bij het realiseren van de opdracht:

· uitwerken en verfijnen van requirements in epics en user stories;
· inschatten en plannen van werk (user stories);
· ontwikkelen en geautomatiseerd testen van software;
· opleveren, uitrollen en tijdelijk beheren van software;
· ondersteunen van collega-ontwikkelaars;
· uitvoeren van peer reviews;
· documenteren van software;
· adviseren over architectuur- en realisatiekeuzes;
· inrichten en onderhouden van OTAP-omgevingen;
· ondersteunen bij ontwerp, technisch onderzoek en analyses;
· oplossen van incidenten (tijdelijk beheer).

In vergelijkbare rollen of opdrachten heeft de kandidaat bij voorkeur diepgaande ervaring opgedaan met het volgende:

1. Complexe Integraties
Het realiseren van robuuste, bidirectionele technische koppelingen met externe systemen via REST en SOAP. Er is bij voorkeur ervaring met het aansluiten op overheidsdiensten (zoals TVS, eHerkenning, eIDAS, Justis/VOG, Belastingdienst, NL-Arbeidsinspectie, Logius CA of Rijksweb). De kandidaat begrijpt de complexiteit van systemen die elders in beheer zijn en is bedreven in het implementeren van foutafhandeling, retry-logica, datavalidatie en complexe authenticatiestromen.

2. Event-Driven State Machines & Event-Sourcing
Assessio is in de kern een event-driven state machine. De kandidaat is in staat om bedrijfsprocessen (zoals aanvraag- en toelatingsstappen) te vertalen naar code met expliciete statussen, overgangen, validatieregels en vertakkingen (inclusief randgevallen zoals time-outs en intrekkingen). Ervaring met event-sourcing is hierbij een sterke pré om elke statuswijziging en elk besluit volledig herleidbaar en auditeerbaar vast te leggen.

3. Security by Design & Robustness
Security is geen 'achteraf-vinkje', maar een integraal onderdeel van het ontwerp (Dag 1). De professional herkent aanvalsvectoren bij bestandsuploads, externe koppelingen en gebruikersinteracties. Er is aantoonbare ervaring met het implementeren van inputvalidatie, autorisatiecontroles op API-niveau en RBAC (Role Based Access Control). De kandidaat is gewend te werken binnen de architectuurkaders in nauwe afstemming met de architect en begrijpt de noodzaak van strikte security-standaarden.

4. Asynchrone Patronen in een Gedistribueerde Monoliet
De kandidaat begrijpt de noodzaak van asynchrone verwerking voor zaken als audit logging, grootschalige bestandsverwerking en notificaties. Concepten als idempotency en eventual consistency zijn bekend en worden correct toegepast.

Belangrijk (bewust van de architectuur) is het begrip dat Assessio geen microservices-architectuur is, maar een gedistribueerde modulaire monoliet (vier apart deploybare applicaties op één database met gescheiden schema's). De kandidaat kan handelen naar deze specifieke structuur en de bijbehorende releasecyclus.

5. Platformbeheer (DevOps)
De professional is in staat zelfstandig te opereren op het OpenShift/Kubernetes-cluster van het Standaard Platform (SP). Dit omvat het begrijpen en beheren van containers, pods, services, secrets en configmaps. De kandidaat is zelfredzaam in het analyseren van logs, het opsporen van verstoringen en heeft actuele kennis van GitLab CI/CD-pipelines en het configureren van Helm charts. Onderdeel van de verantwoordelijkheden is het onderhouden en verbeteren van een ArgoCD inrichting ter ondersteuning van GitOps en CD. Ervaring met Gitlab CI is vereist. Aantoonbare ervaring met Just, Nu (shell), PostgreSQL i.c.m. CNPG, OTEL, OpenObserve, Keycloak, Istio en Envoy zijn een pré.

6. Domeinexpertise & Analytisch Vermogen
De kandidaat heeft bij voorkeur ervaring binnen het rijksoverheidsdomein en bezit het vermogen om complexe functionele processen snel te doorgronden. De professional is proactief: stelt de juiste vragen, analyseert functionele documentatie kritisch en vertaalt domeinkennis zelfstandig naar technische oplossingen.

  • uitwerken en verfijnen van requirements in epics en user stories
  • inschatten en plannen van werk (user stories)
  • ontwikkelen en geautomatiseerd testen van software
  • opleveren, uitrollen en tijdelijk beheren van software
  • ondersteunen van collega-ontwikkelaars
  • uitvoeren van peer reviews
  • documenteren van software
  • adviseren over architectuur- en realisatiekeuzes
  • inrichten en onderhouden van OTAP-omgevingen
  • ondersteunen bij ontwerp, technisch onderzoek en analyses
  • oplossen van incidenten (tijdelijk beheer)

Dit ben jij

  • Ten minste 3 jaar aantoonbare courante kennis van en werkervaring met
    Softwareontwikkeling van complexe enterprise-software en interfaces
  • Backend: Java (EE), waaronder recente ervaring met versie 21
  • Framework: Quarkus (of vergelijkbaar bv. Spring), waaronder recente
    ervaring met versie 3.x
  • Frontend: Angular, TypeScript
  • ORM: Hibernate
  • SQL database systemen: PostgreSQL
  • API / (web)interfaces: OpenAPI
  • CI/CD: GitLab CI (pipelines voor bouwen, testen en uitrollen)
  • Ervaring met Gitlab CI is vereist
  • Sonar(Qube)
  • Unit testing
  • Integration testing
  • E2E testing
  • Jest
  • Playwright
  • OpenTelemetry (OTEL)
  • OpenObserve
  • ELK of EFK Stack (Elasticsearch + Logstash / Fluent Bit + Kibana)
  • Aantoonbare courante kennis en ervaring in vergelijkbare rollen en of
    opdrachten

Het proces

Dit verhaal gaat over jou

01

De zoektocht – waar begin je?

Elke maand ontvangen we honderden vacatures. Die publiceren we op onze website, maar we blijven niet achteroverleunen. Ons team gaat actief op zoek naar de juiste match. Misschien vind jij ons, of wij jou – hoe dan ook: we maken snel contact.

02

De kennismaking – een goed gesprek, geen kruisverhoor

Jij ziet een interessante opdracht of wij denken dat er een goed bij je past. We bellen om je beter te leren kennen en de opdracht door te nemen. Wat vind jij belangrijk? Wat zijn je ambities? We houden het persoonlijk én to the point. Zo verkennen we samen wat de juiste match voor je is en wat daarmee ook het beste voor de klant is.

03

Afspraken maken – helder en zonder kleine lettertjes

Past de opdracht bij jouw expertise? Top. We bespreken de voorwaarden, je gewenste salaris en hoe de opdracht eruitziet. Omdat het om overheidsvacatures gaat, kunnen de eisen complex zijn en het proces tijdrovend – maar daar helpen wij je soepel doorheen.

04

Introductie – wij regelen de papierwinkel

Je levert een bijgewerkt cv, motivatie en eventuele referenties aan. Wij stellen de introductie samen, volledig afgestemd op de wensen van de opdrachtgever. Alles wat we bespreken komt daarin terug – eerlijk, transparant en geen verrassingen.

05

Even geduld – maar we houden je op de hoogte

Overheidsprocessen kunnen soms traag zijn. Wij geven je vooraf een realistische tijdlijn en houden je tussendoor op de hoogte. Geen radiostilte, maar duidelijke updates.

06

Op gesprek – goed voorbereid op pad

Word je uitgenodigd? Mooi! We plannen samen het gesprek en bereiden het grondig voor. We geven je tips & tricks en duiken in de inhoud van de opdracht. Het doel: jouw kansen maximaliseren.

07

Go of No-Go – samen evalueren

Na het gesprek evalueren we hoe het ging. Wil jij door en ziet de opdrachtgever het ook zitten? Dan koppelen we je aan één van onze uitzendpartners. Zij regelen het uitzendcontract. Is het toch geen match? Dan halen we feedback op en zoeken we verder.

08

Aan de slag – alles geregeld, jij kunt starten

Bij een succesvolle bemiddeling leggen we alle afspraken vast in een overeenkomst. Je uitzendpartner regelt het contract, de administratie en zorgt ervoor dat je netjes en op tijd betaald wordt. Jij hoeft alleen maar te focussen op je werk (en een taart sturen mag altijd 😉).

09

Service – ook ná de start zijn we er voor je

Zolang je aan de opdracht werkt, blijven wij je aanspreekpunt. Ook kan je regelmatig uitnodigingen van ons verwachten voor kleine events en borrels bij ons op kantoor. Heb je vragen over je opdracht, verlenging of indexaties? Eén belletje en we helpen je verder. Is de opdracht afgerond? Dan zoeken we met plezier naar een volgende uitdaging voor je.

Iets voor jou?

Laat het ons weten!

Reageer op deze vacature via TenMonks en ons recruitment team neemt contact met je op om de match te verkennen.

Iets voor jou?

Reageer dan vandaag nog!

Feedback