logo

Bekijk alle vacatures

Front-end Developer

Den Haag, Zuid Holland
Voor onze klant Ictu zijn wij op zoek naar een Front-end Developer (Voor team NL Design system)
 
Start 01-07-2026
Einddatum 31-12-2027
Optie op verlenging ja
Uren per week 32
Locatie ICTU Den haag, maar vnl. digitaal
Bijzonderheden

ZZP niet mogelijk

Deadline donderdag 18 juni
Sluitingstijd 12.30
Gewenste dagen 
​​In elk geval op dinsdag i.v.m. Scrum afspraken en 2-wekelijkse heartbeat-sessie. Overige dagen in overleg.​  
 
Tarief: €80,- a €87,50
 
Gewenste profiel

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
De Developer:
  • 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 ​ 
Eisen

De kandidaat toont aan in de afgelopen 8 jaar kennis te hebben van en ervaring met: 
  1. minimaal 5 jaar ervaring met HTML, CSS en SCSS;   
  2. minimaal 5 jaar ervaring met JavaScript
  3. minimaal 3 jaar ervaring met TypeScript,
  4. minimaal 3 jaar evaring met het ontwikkelen van een componenten bibliotheek
  5. minimaal 2 jaar ervaring met React en Storybook
  6. minimaal 2 jaar ervaring met unittesten en end-to-end testen van front-end software;   
  7. het doen van code reviews en samenwerken via merge/pull requests met GitHub
 
  1. Een korte motivatie te kunnen geven, 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.    
  1. 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
Nr Omschrijving Gewicht Beoordeling
W1 Aantoonbare relevante ervaring met het bijdragen van componenten volgens de conventies bij NL Design System in de afgelopen 5 jaar. 6%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W2 Aantoonbare relevante ervaring met het ontwikkelen van een white-label design system met StoryBook, unit tests en documentatie in Markdown in de afgelopen 5 jaar.
 
4%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W3 Aantoonbare relevante ervaring met het gebruiken van NL Design System componenten en richtlijnen in de afgelopen 5 jaar.
 
4%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W4 Aantoonbare relevante ervaring in de afgelopen 5 jaar met Design Tokens JSON
 
4%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W5 Aantoonbare relevante ervaring in de afgelopen 5 jaar met toepassen van design tokens als CSS variabelen 4%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W6 Aantoonbare relevante ervaring in de afgelopen 5 jaar met het toepassen van Style Dictionary 4%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W7 Aantoonbare relevante ervaring in de afgelopen 5 jaar met Vanilla Web Components 6%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W8 Aantoonbare relevante ervaring in de afgelopen 5 jaar met Declarative Shadow DOM

 
6%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W9 Aantoonbare relevante ervaring in de afgelopen 5 jaar met Testautomatisering met Shadow DOM 6%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W10 Aantoonbare relevante ervaring in de afgelopen 5 jaar met Toegankelijke formulier componenten met Shadow DOM 4%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W11 Aantoonbare relevante ervaring in de afgelopen 5 jaar met Web Components met Lit 4%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W12 Aantoonbare relevante ervaring met het opleveren van documentatie van front-end componenten in Storybook in de afgelopen 5 jaar. 4%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
  • <1 jaar = 0 punten
W13 Aantoonbare relevante ervaring met changesets en semantic versioning in de afgelopen 5 jaar. 4%
  • 5 jaar =10 punten
  • 4 jaar =8 punten
  • 3 jaar =6 punten
  • 2 jaar = 4 punten
  • 1 jaar =2 punten
<1 jaar = 0 punten
W14 Aantoonbare relevante ervaring met de toepassing van WCAG-toegankelijkheidseisen technologie zoals HTML en WAI-ARIA in de afgelopen 5 jaar.
 
4%
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten  
W15 De kandidaat toont aan over een pragmatische en oplossingsgerichte werkwijze te beschikken. 

De weging wordt ook meegenomen in het gesprek.  
8%
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten  
W16 De kandidaat toont aan accuraat te werken om tot een toegankelijk en onderhoudbaar resultaat te komen.

De weging wordt ook meegenomen in het gesprek.  
8%
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten  
 
Prijs
Gewicht van prijs bij beoordeling 20%
ICTU behoudt zich het recht voor om indien onverwacht een te hoog uurtarief (qua budget) wordt aangeboden, om op basis hiervan een kandidaat als niet passend te verklaren
Tijdens het gesprek moet de kandidaat aantonen dat de gevraagde technieken effectief kunnen worden toegepast. Daarvoor kan tijdens het proces gevraagd worden om: 
  • Tijdens het gesprek door de professional geschreven code beschikbaar te hebben die aantoont dat de kandidaat de technieken effectief kan toepassen om een toegankelijke webpagina te maken. 
  • Tijdens het gesprek de werking van code in de volgende categorieën uit te leggen en te verbeteren: ECMAScript, HTML, CSS, Node.js, Web Component en testautomatisering. 
  • Tijdens een eventueel intakegesprek aan te tonen dat voldaan wordt aan het gewenste profiel, door code toe te lichten die zelf is gemaakt. 

De sub-gunningscriteria kwaliteit worden beoordeeld aan de hand van onderstaande tabel. 
Antwoord Evaluatie
Uitstekend Beantwoording voldoet volledig aan het gevraagde in het omschreven sub-gunningscriterium, sluit uitstekend aan bij de behoeften en wensen van ICTU en geeft blijk van uitstekend inzicht in de situatie van ICTU. Dit uit zich onder meer doordat uit de beantwoording duidelijk blijkt dat Inschrijver voor ICTU een relevante en onderscheidende meerwaarde biedt in relatie tot het desbetreffende sub-gunningscriterium en hieruit een goed inzicht in de situatie van ICTU blijkt. De beantwoording is tevens volledig, concreet en realistisch.
Goed Beantwoording voldoet goed aan het gevraagde in het omschreven sub-gunningscriterium en/of sluit goed aan bij de behoeften en wensen van ICTU en/of geeft blijk van goed inzicht in de situatie van ICTU. De beantwoording is volledig, concreet en realistisch.
Voldoende Beantwoording voldoet aan het gevraagde in het omschreven sub-gunningscriterium, en/of sluit aan bij de behoeften en wensen van ICTU en/of geeft beperkt blijk van inzicht in de situatie van ICTU. De beantwoording is (in beperkte mate) volledig en/of concreet en/of realistisch.
Matig Beantwoording voldoet onvoldoende aan het gevraagde in het omschreven sub-gunningscriterium en/of sluit onvoldoende aan bij behoeften en wensen van ICTU en/of geeft onvoldoende blijk van inzicht in de situatie van ICTU en/of de beantwoording is niet volledig en/of niet concreet en/of niet realistisch.
Slecht Geen inhoudelijke beantwoording.

Algemeen beoordeling werkzaamheden
De professional verricht het werk naar eigen inzicht. ICTU kan wel aanwijzingen en instructies geven omtrent het resultaat en de doorlooptijd van de werkzaamheden. In geval van samenwerking met anderen vindt afstemming plaats met ICTU, voor zover dat voor de uitvoering van de werkzaamheden nodig is.



BYOD
ICTU biedt BYOD voorzieningen aan voor externe medewerkers. Van de externe medewerker wordt verwacht dat diegene beschikt over een passend apparaat (laptop) en een mobiele telefoon om diens werk uit te voeren. Aan de externe medewerker gevraagd (digitaal) akkoord te gaan met het ingevoerde reglement zakelijke apparatuur.
Tijdens het intakegesprek zal dit reglement op hoofdlijnen worden doorgenomen. ICTU hanteert voor ICT voorzieningen een N-1 beleid, concreet betekent dit dat naast de huidige versie, 1 lagere voorgaande versie, mits door de leverancier ondersteund, wordt toegelaten tot de ICTU infrastructuur.

Graag ontvang ik een CV (NL, Word) toegesneden op de eisen en wensen, met in een apart document persoonlijke motivatie (gebruik AI beperkt/ter ondersteuning!). Bovendien tarief, beschikbaarheid en ingeplande vakanties voor komende 4 maanden 
 

Deel deze vacature

Powered by