Back to the vacancies

Front-end Developer

Den Haag
32 hours | WEEK
Negotiable

Functieomschrijving:

!! Let op. Het aanleveren van een toelichting op de eisen en de wensen én een persoonlijke motivatie is verplicht. Graag aanleveren in één word document.

Helaas staat deze rol niet open voor ZZP’ers.

NL Design System   

  • ​ICTU werkt aan een betere digitale overheid, voor en samen met andere overheidsorganisaties. Voor het project NL Design System zijn we op zoek naar een Developer.      
  • ​Met de NL Design System aanpak verzamelen we richtlijnen, componenten, patronen en templates om robuuste websites en webapplicaties voor de overheid te bouwen. Dat doet het kernteam samen met een actieve community van specialisten van diverse overheidsorganisaties.    
  • ​De componenten en richtlijnen van NL Design System zijn open source beschikbaar op GitHub en Figma, zodat iedereen ze kan gebruiken voor een begrijpelijke, gebruiksvriendelijke én toegankelijke onlinedienstverlening.  

Welke rol heeft de kandidaat binnen het project: 

​De opdracht bestaat uit diverse ondersteunende werkzaamheden bij de doorontwikkeling van dit overheidsbrede open source huisstijlonafhankelijke design system met behulp van het de standaardwerkwijze en Definition of Done uit het Estafettemodel.  

​  

Gewenst profiel

  • heeft uitgebreide ervaring met het toepassen van herbruikbare componenten uit Design Systems of Component Libraries.
  • kan zonder code-duplicatie onderdelen hergebruiken, zodat verbeteringen zowel in de bestaande projecten als de nieuwe projecten kunnen worden gebruikt. 
  • heeft uitgebreide ervaring HTML. Bijvoorbeeld met landmark roles, document order, semantische HTML, tabellen, formulieren, links en buttons, video, autocomplete, details/summary, custom elements, role, live regions, aria-labelledby, aria-describedby, aria-required, aria-invalid, aria-controls, aria-haspopup, aria-hidden, aria-current, aria-pressed, aria-sort, aria-activedescendant en aria-selected.
  • heeft uitgebreide ervaring met CSS. Bijvoorbeeld met layouts met Grid en Flexbox, CSS logical properties, CSS custom properties, CSS variables, calc() voor fluid font sizes, container queries.
  • heeft uitgebreide ervaring met ECMAScript. Bijvoorbeeld met: ES Modules, import(), URL, async/await, Map, Set, map/filter/reduce, nullish coalescing, class, import.meta, Promises, Object entries, destructuring.
  • heeft ervaring met npm packages gebruiken, monorepositories en npm packages publiceren
  • heeft ervaring met unit tests en end-to-end tests voor front-end code. Bijvoorbeeld met Vitest, Testing Library, Playwright, Jest of Cypress.
  • heeft ervaring met progressive enhancement. 
  • heeft ervaring met het maken van Web Components en kan daarbij een goede afweging maken om Shadow DOM of Light DOM gebruiken. 
  • heeft ervaring met TypeScript, JSX en kan met renderToString() van React HTML-pagina’s genereren van webpagina’s die zelf geen React gebruiken in de browser.  
  • werkt zelfstandig en bewaakt de eigen voortgang als onderdeel van de scrum planning. 
  • kan, in overleg met de Product Manager goed afwisselen tussen diverse taken om snel drempels bij de community weg te nemen.  
  • is pragmatisch en oplossingsgericht zodat er flexibel een goede aanpak kan worden gekozen waarmee de community makkelijk over kan stappen op nieuwe Candidate en Hall of Fame componenten.
  • is accuraat en werkt gedisciplineerd volgens de beschikbare acceptatiecriteria voor nieuwe componenten. Zodat de testautomatisering uiterst volledig is, componenten bij updates goed blijven werken en nieuwe componenten op een consistente manier worden toegevoegd.    
  • Heeft ervaring met het open source werken waarin zowel het proces als de uitkomsten open en transparant worden gedeeld.

Concrete werkzaamheden 

  • Toevoegen van nieuwe componenten, patronen en templates aan het Design System op basis van het Estafettemodel. Bijvoorbeeld door:
    • Verbeteren van de infrastructuur waarin de community huisstijlen vastlegt en beheert, zodat migraties naar nieuwe versies van componenten makkelijk is
    • Opgehaalde feedback over gebruik van Community en Candidate componenten doorvoeren
    • acceptatiecriteria vertalen naar stories en specs
    • acceptatiecriteria vertalen naar implementatie in code 
    • documentatie schrijven van gebruik door developers op npm
    • Helpen bij het migreren van gebruikte Community componenten naar Candidate componenten
    • In kaart brengen van security aspecten bij Candidate componenten als onderdeel van het Hall of Fame proces
    • In kaart brengen van privacyaspecten bij Candidate componenten als onderdeel van het Hall of Fame proces
    • Component testen en verbeteren voor veelvoorkomende combinaties met andere componenten
    • Stories uitbreiden met veelvoorkomende combinaties van componenten
    • Hall of Fame component als webcomponent beschikbaar stellen aan de community
    • Volledige test coverage met automatische tests voor de Hall of Fame component
    • Publiceren van Candidate en Hall of Fame componenten op npm
    • Documenteren van Candidate en Hall of Fame componenten op nldesignsystem.nl
    • Helpen bij het migreren van gebruikte Candidate componenten naar Hall of Fame componenten
    • Hall of Fame component opnemen in alle relevante NL Design System hulpmiddelen en prototypes
    • Uitfaseren van Candidate componenten
    • Samen met het kernteam bijdragen aan Estafettemodeldagen waarin het kernteam en de community samenwerken om het Estafettemodel voor componenten te doorlopen.
  • In overleg met Product Manager, danwel Project Manager worden acceptatiecriteria voor opleveringen opgesteld; 
  • In overleg met professionals uit het NL Design System Kernteam activiteiten uitvoeren voor valideren en uitbreiden van NL Design System door middel van:
    • Een keer in de 2 weken op dinsdag: Sprint planningen  
    • Indien nodig: Refinements in een privé Slack Huddle van het kernteam  
    • Voortgang delen in het privé Slack kanaal van het kernteam en de NL Design System Heartbeat  
    • Publieke Huddles om een nieuwe aanpak voor de NL Design System architectuur of Definition of Done te bepalen ​ 

Over de klant:

Over ICTU

ICTU werkt aan een betere digitale overheid, voor en samen met andere overheidsorganisaties. Met de NL Design System aanpak verzamelen we richtlijnen, componenten, patronen en templates om robuuste websites en webapplicaties voor de overheid te bouwen. Het kernteam werkt samen met een actieve community van specialisten van diverse overheidsorganisaties. De componenten en richtlijnen van NL Design System zijn open source beschikbaar op GitHub en Figma.

Eisen:

  • Minimaal 5 jaar ervaring met HTML, CSS en SCSS (afgelopen 8 jaar).
  • Minimaal 5 jaar ervaring met JavaScript (afgelopen 8 jaar).
  • Minimaal 3 jaar ervaring met TypeScript (afgelopen 8 jaar).
  • Minimaal 3 jaar ervaring met ontwikkelen van een componentenbibliotheek.
  • Minimaal 2 jaar ervaring met React en Storybook.
  • Minimaal 2 jaar ervaring met unit- en end-to-end testen van front-end software.
  • Ervaring met code reviews en samenwerken via merge/pull requests met GitHub.
  • Korte motivatie waaruit blijkt dat:
    • de kandidaat over een goede mondelinge beheersing van de Nederlandse taal beschikt
    • de kandidaat over een goede schriftelijke beheersing van de Engelse taal beschikt; 
    • Per eis en wens welke concrete ervaring de professional heeft opgedaan die relevant is voor deze opdracht bij NL Design System, onderbouwd aan de hand van de puntentelling in de beoordeling.   
  • De kandidaat kan tijdens het selectieproces aantonen dat de gevraagde technieken effectief kunnen worden toegepast. Daarvoor kan tijdens het proces gevraagd worden om:
    • Voorafgaand aan een eventueel intakegesprek code te schrijven die aantoont dat de kandidaat de technieken effectief kan toepassen om een toegankelijke webpagina te maken. 
    • Tijdens een eventueel intakegesprek aan te tonen dat voldaan wordt aan het gewenste profiel, door code toe te lichten die zelf is gemaakt. 

Wensen:

  • Aantoonbare ervaring met bijdragen aan componenten volgens NL Design System conventies (afgelopen 5 jaar).
  • Ervaring met white-label design system met Storybook, tests en Markdown-documentatie (afgelopen 5 jaar).
  • Ervaring met gebruiken van NL Design System componenten en richtlijnen (afgelopen 5 jaar).
  • Ervaring met Design Tokens JSON en toepassen als CSS-variabelen; Style Dictionary.
  • Ervaring met Vanilla Web Components, Declarative Shadow DOM en testautomatisering met Shadow DOM.
  • Ervaring met toegankelijke formuliercomponenten met Shadow DOM; Web Components met Lit.
  • Ervaring met documentatie in Storybook; changesets en semantic versioning.
  • Toepassing van WCAG- en WAI-ARIA-eisen.
  • Pragmatische en oplossingsgerichte werkwijze; accuraat werken voor toegankelijk en onderhoudbaar resultaat.

Gewenst profiel

  • Ervaring met herbruikbare componenten uit Design Systems of Component Libraries.
  • Kennis van HTML (landmark roles, semantiek, formulieren, aria-* attributen, etc.).
  • Kennis van CSS (Grid, Flexbox, logical properties, custom properties, variables, container queries, calc()).
  • Kennis van ECMAScript (ES Modules, async/await, Map/Set, destructuring, Promises, etc.).
  • Ervaring met npm, monorepositories en publiceren van packages.
  • Ervaring met unit- en end-to-end testen (Vitest, Testing Library, Playwright, Jest, Cypress).
  • Ervaring met progressive enhancement.
  • Ervaring met Web Components, Shadow DOM versus Light DOM.
  • Ervaring met TypeScript, JSX en renderToString() van React.
  • Werkt zelfstandig, bewaakt voortgang, pragmatisch en oplossingsgericht.
  • Accuraat en gedisciplineerd volgens acceptatiecriteria; ervaring met open source werkwijze.

Competenties:

  • Pragmatisch en oplossingsgericht werken.
  • Accuraat en gedisciplineerd volgens acceptatiecriteria.
  • Zelfstandig werken en voortgang bewaken binnen Scrum afspraken.
  • Communicatieve vaardigheden voor samenwerking met community en kernteam.

Opdrachtdetails:

Heb je interesse in deze functie?

We ontvangen graag uiterlijk 17 juni 2026 vóór 14.00 uur

We vragen je om je aanbieding via onze website in te dienen, zodat we je persoonsgegevens veilig en zorgvuldig kunnen verwerken conform de geldende privacywetgeving (AVG).

Helaas staat deze rol niet open voor ZZP’ers.

Aanvullende informatie:

  • De standplaats van ICTU is Den Haag, maar vanwege het karakter van het project wordt digitaal op afstand gewerkt.​​ 
  • 32 uur in de week
  • startdatum is 1 juli 2026
  • De gesprekken zullen gepland gaan worden op woensdag 24 juni, gelieve hier rekening mee te houden in de agenda’s.

Voor opdrachtgever ICTU Perceel 1 – IT-Development (KWIV 2 en 3) is Circle8 op zoek naar een: Front-end Developer
Aanvraagnummer: VNR-83059

Apply now

"*" indicates required fields

This field is for validation purposes and should be left unchanged.
This field is hidden when viewing the form
This field is hidden when viewing the form
Accepted file types: doc, docx, pdf, Max. file size: 5 MB.
Please upload DOC, DOCX or PDF. Maximum file size is 5MB.