logo

Bekijk alle vacatures

Front-end developer – Theme Builder UI

den haag, zuid-holland
Voor onze klant ICTU zoeken wij een Front-end developer – Theme Builder UI
Start 2-3-206
Einddatum 31-12-2027
Optie op verlenging Ja
Uren per week 32
Locatie vnl. remote (den haag standplaats)
Bijzonderheden Deze aanvraag is  geschikt voor een ZZP'er. 2 CV's kan ik aanbieden echter 1fte wordt er gevraagd
Tarief Marktconform, in overleg
Deadline 23-2- 2026 om 9.00
 
Omschrijf de context van het project/programma waarin de activiteiten plaatsvinden, wanneer en op grond waarvan is het project/programma afgerond en welke rol heeft de professional binnen het project/programma? 
Beschrijving project/programma: 
ICTU werkt aan een betere digitale overheid, voor en samen met andere overheidsorganisaties.  
​​​ 
Met de NL Design System aanpak verzamelen we richtlijnen, componenten en voorbeelden om robuuste websites en webapplicaties voor de overheid te bouwen. Dit wordt gedaan binnen een multidisciplinaire groep professionals die samen het NL Design System Kernteam en het Expertteam Digitale Toegankelijkheid vormen.   
 
​​​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.  
 
Met het Expertteam Digitale Toegankelijkheid worden concrete oplossingen gebouwd om het eenvoudiger te maken voor overheidsorganisaties om toegankelijke websites en webapplicaties aan te bieden.  

Omschrijving einde project/programma: 
Het project is ten einde wanneer de opdrachtgever de opgeleverde resultaten heeft geaccepteerd en een inhoudelijke decharge heeft verleend. Is het geval wanneer de klant en een landingsplaats heeft voor alle activiteiten en instrumenten van NL Design System, zijn overgedragen aan de betreffende beheerpartij en nazorg is uitgevoerd.  
 
Welke rol heeft de professional binnen het project/programma: 
De opdracht bestaat uit het ontwikkelen van een moderne front-end voor een gebruiksvriendelijke webapplicatie, waarmee het voor overheidsorganisaties makkelijk wordt om een toegankelijke huisstijl vast te leggen en te gebruiken met NL Design System. 
 
Zo help je mee om de toegankelijkheid in Nederland te verbeteren met de hulpmiddelen die het expertteam maakt en draag je bij aan de doorontwikkeling van NL Design System als overheidsbreed open source white-label design system. 
Welke opdracht gaat de professional uitvoeren en welke activiteiten horen daarbij? 
 
De activiteiten die horen bij het realiseren van de opdracht zijn: 
  • Ontwikkelen van de front-end van een webapplicatie waar het visueel ontwerp van design system componenten aangepast kan worden via design tokens en gebruiker in real time resultaat zien. 
  • Ontwikkelen van een interactieve stijlgids op basis van Design Tokens JSON, waarmee meerdere huisstijlen ontwerpbeslissingen kunnen vastleggen en delen. 
  • Ontwikkelen van herbruikbare front-end web componenten volgens de NL Design System architectuur. 
  • Ontwikkelen van zeer complexe front-end web componenten, zoals Combobox, dialogen met formulieren, Color Pickers voor de diverse soorten CSS kleuren en een Color Picker op basis van screenshots van een bestaande website. 
  • Ontwikkelen van een gebruiksvriendelijke applicatie waarbij je “Undo” en “Redo” kan doen, waarbij de wijzigingen die de gebruiker doet worden opgeslagen via browser API’s.
  • Ontwikkelen van validatie-regels om de toegankelijkheid van een huisstijl te meten, die de gebruiker helpen om goede keuzes te maken, en het resultaat achteraf controleren. 
  • Ontwikkelen van templates en patronen om te illustreren hoe alle design tokens werken in combinatie met een huisstijl. 
  • Ontwikkelen van gebruiksvriendelijke user interface om design tokens uit een bestaande website te gebruiken, die beschikbaar zijn via een REST API voor de Web Scraper. 
  • Het verbeteren van de software op basis van feedback van toegankelijkheidsspecialisten, het NL Design System-kernteam en gebruikersonderzoek. 
  • Issues maken voor kansen voor verbetering en Technical Debt in de Backlog van het project. 
  • Het in overleg met andere professionals uit het Expertteam Digitale Toegankelijkheid bedenken en begeleiden van (online) workshops over een toegankelijke huisstijl ontwikkelen. 
  • Automatische tests voor toegankelijkheid implementeren in Unit tests met Vitest, Playwright en Testing Library.
  • Vers & veilig houden van de templates door maandelijks code dependencies te updaten.  
  • In overleg met professionals uit het Expertteam Digitale Toegankelijkheid activiteiten uitvoeren voor valideren en uitbreiden van de templates, patronen en documentatie door middel van:   
    • Een keer in de 2 weken: Sprint planningen.  
    • Indien nodig: Refinements in een privé Slack Huddle van het Expertteam Digitale Toegankelijkheid.  
    • Indien nodig: reviewen van Pull Requests van andere experts uit het project om vroegtijdig feedback te geven vanuit eigen expertise.  
    • Voortgang delen in het privé Slack kanaal van het Expertteam Digitale Toegankelijkheid en de NL Design System Heartbeat.  
    • Publieke Slack Huddles om een nieuwe aanpak voor de templates, patronen of componenten van NL Design System te bepalen. 
Welke concrete resultaten dient de professional te behalen? Resultaten dienen concreet en meetbaar te zijn. 
Welke deelresultaten zal de professional dienen te behalen gedurende de opdracht: 
  • Templates en patronen om de verschillende verschijningsvormen van een huisstijl te testen, op te leveren per component. 
  • Geautomatiseerde tests om de kwaliteit van de software te meten. 
  • Open source npm package publiceren met herbruikbare web componenten om design tokens mee in te voeren, of te demonstreren. 
  • Gefaseerde opleveringen van de website, beginnend bij minimum viable product (MVP), daarna per Milestone die in de product Backlog is vastgelegd. 

Welke eindresultaten zal de professional aan het einde van de opdracht dienen op te leveren.  
  • Website met een wizard om de huisstijl te documenteren en beschikbaar te maken voor NL Design System, die begint met een web scraper en eindigt met een stijlgids. 
  • Documentatie waarmee het beheer van de website overgedragen kan worden. 

Wanneer is de opdracht afgerond en beëindigd: 
De opdracht is ten einde wanneer de opdrachtgever de opgeleverde resultaten heeft geaccepteerd en een inhoudelijke decharge heeft verleend. Is het geval wanneer de klant en een landingsplaats heeft voor alle activiteiten en instrumenten van het Expertteam Digitale Toegankelijkheid, zijn overgedragen aan de betreffende beheerpartij en nazorg is uitgevoerd.   
Hoe wat en wanneer zal het werk/de resultaten worden beoordeeld? 
Detailleer de criteria en momenten voor feedback en beoordeling. Voorbeeld: maandelijkse voortgangsrapporten en een eindbeoordeling bij projectafsluiting. 
De werkzaamheden van de professional zoals hierboven beschreven zijn onderdeel van de Definition of Done (DoD) van een sprint. De resultaten worden na elke sprint gevalideerd op de acceptatiecriteria samen met de Product Manager, danwel opdrachtgever. Daarnaast vindt er een eindbeoordeling plaats bij de projectafsluiting (decharge) om de algehele prestaties en behaalde resultaten te evalueren.  
Wat is de kans dat de verwachte duur wordt overschreden, c.q. welke onzekerheden er zijn t.a.v. de verwachte duur? 
​​Een overschrijding van de verwachte duur wordt bepaald door externe factoren. Daarbij kan gedacht worden aan een verlenging van de opdracht door de opdrachtgever wanneer blijkt dat de gevraagde projectresultaten door omstandigheden niet binnen de gestelde tijd bereikt kunnen worden of dat derden diensten niet tijdig kunnen leveren.  
Over welke specifieke kennis beschikt de professional, waarover het eigen personeel van de Opdrachtgever niet beschikt en waar een eventuele vervanger ook over zou moeten beschikken? 
De opdracht behelst werkzaamheden waarbij specialistische kennis over Design Systems en Component Libraries noodzakelijk is. De specialistische kennis waarnaar gezocht wordt, worden in het gewenste profiel in combinatie met de gevraagde eisen verder toegelicht.
Gewenste profiel
  • De kandidaat heeft ervaring met het toepassen van herbruikbare componenten uit Design Systems of Component Libraries. 
  • De kandidaat heeft ervaring met het ontwikkelen van complexe front-end componenten, zoals bijvoorbeeld: Combobox, Date Picker, Color Picker. 
  • De kandidaat is pragmatisch en kan werk opdelen in kleine stappen en fases.  
  • De kandidaat kan zonder code-duplicatie onderdelen hergebruiken, zodat verbeteringen zowel in de bestaande website als de nieuwe website kunnen worden gebruikt. 
  • De kandidaat 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. 
  • De kandidaat heeft ervaring met het maken van Web Components en kan daarbij een goede afweging maken om Shadow DOM of Light DOM gebruiken. 
  • De kandidaat 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. 
  • De kandidaat heeft uitgebreide ervaring met moderne JavaScript (ECMAScript). Bijvoorbeeld met: ES Modules, import(), URL, async/await, Map, Set, map/filter/reduce, nullish coalescing, class, import. meta, Promises, Object.entries, destructuring. 
  • De kandidaat heeft ervaring met npm packages gebruiken, monorepositories en npm packages publiceren. 
  • De kandidaat heeft ervaring met REST APIs gebruiken om data te laden waarmee de pagina’s gevuld worden. 
  • De kandidaat heeft ervaring met unit tests en end-to-end tests voor front-end code. Bijvoorbeeld met Jest, Vitest, Cypress of Playwright. 
  • De kandidaat beschikt over goede mondelinge en schriftelijke communicatieve vaardigheden.  
  • De kandidaat werkt zelfstandig en bewaakt de eigen voortgang als onderdeel van de scrum planning.  
  • De kandidaat is accuraat, werkt gedisciplineerd en is in staat om de veelheid en diversiteit aan werkzaamheden te ordenen en te prioriteren en stemt hierover af met de Product Manager.   
  • De kandidaat heeft ervaring met open source werken en vindt het vanzelfsprekend om alles (inclusief het proces) open en transparant te delen. 
Eisen
Hierbij is het van belang dat de professional in de afgelopen 8 jaar:
  1. Minimaal 5 jaar ervaring met HTML en CSS-technieken. 
  2. Minimaal 5 jaar ervaring met moderne JavaScript (ECMAScript). 
  3. Minimaal 3 jaar ervaring met GitHub of vergelijkbaar, waaronder merge/pull requests maken en het geven van code reviews. 
  4. Minimaal 3 jaar ervaring met TypeScript. 
  5. Minmaall 3 jaar ervaring met Node.js en server-side rendering. 
  6. Minimaal 1 jaar ervaring met unittesten en end-to-end testen van front-end software 
  7. Aantoonbare ervaring met websites maken die toegankelijk zijn volgens recente versies van WCAG. 
  
Per eis geeft de kandidaat een uitleg op welke wijze aan deze eisen wordt voldaan. 
 
  1. Een korte motivatie te kunnen geven, waaruit blijkt dat: 
  • de kandidaat over een goede schriftelijke beheersing van de Nederlandse taal beschikt;  
  • de kandidaat goed mondeling kan samenwerken tijdens online en fysieke bijeenkomsten. 
  • de kandidaat over een goede schriftelijke beheersing van de Engelse taal beschikt;    
  • de kandidaat bij wil dragen aan het NL Design System.    
  • Per wens het aantal jaar/projecten concrete ervaring dat de professional per wens heeft opgedaan in de context van deze aanvraag.  
Wensen
Nr Omschrijving Gewicht Beoordeling
W1  Aantoonbare ervaring in de afgelopen 5 jaar met ontwikkelen en onderhouden van open source projecten met npm  10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W2  Aantoonbare ervaring in de afgelopen 5 jaar met toegankelijke webcomponenten, voor formulieren en met Shadow DOM. 10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W3  Aantoonbare, ervaring met het ontwikkelen van een design system en design system documentatie, in de afgelopen 5 jaar.
 
10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W4  Aantoonbare ervaring met end-to-end tests voor pagina’s met webcomponenten, op basis van de accessibility tree. 10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W5 Ervaring met NL Design System, wat blijkt uit ervaring met het toepassen van design tokens JSON, documenteren van componenten in Storybook, aanwezigheid op Slack en hergebruik van community componenten. 10%
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W6  De kandidaat toont aan over een pragmatische en oplossingsgerichte werkwijze te beschikken. 

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

De weging wordt ook meegenomen in het gesprek.  
15% 
  • 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 het gesprek aan te tonen dat voldaan wordt aan het gewenste profiel, door uit de 6 categorieën code toe te lichten die zelf zijn gemaakt: ECMAScript, HTML, CSS, Node.js, Web Component en testautomatisering. 

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.

Graag ontvang ik het CV van mogelijk passende kandidaten. Hou bij aanbieden rekening met de onderstaande punten (zonder deze info kan het CV helaas niet mee worden genomen in de selectie!):

1.Nederlandstalig CV (Word doc.) van max 5 a 6 pagina's. Indien een Engelstalig CV nodig is dan staat dit in de aanvraag bij de eisen vermeld.
2.Motivatie gericht op de vacature. Dit kan kort d.m.v. ja de ervaring heb ik opgedaan / de werkzaamheden heb ik gedaan in de perioden x  bij de organisaties y. Dus puntsgewijs per eis, wens en werkzaamheden (graag deze ervaring & werkzaamheden in het CV vermelden in de betreffende perioden).
Naast de puntsgewijze motivatie van de wensen ook het aantal punten er bij vermelden; zie kolom beoordeling, dit geldt alleen voor de ICTU aanvragen!
3.Volledige naam + de officiële voorletters zoals in het paspoort staat
4.Woonplaats
5.Geboortedatum
6.Vakantieplannen in de komende 3 maanden

Met vriendelijke groeten,
 
Arnold Vonk
Recruitment Consultant
Vrije dag op vrijdag, oneven weken
+31 6 14668383
arnold@flexvalue.nl  

Deel deze vacature

Powered by