logo

Bekijk alle vacatures

Front-end developer – Theme Builder UI

Den Haag, Zuid-Holland
Voor onze klant ICTU zijn wij op zoek naar een Front-end developer – Theme Builder UI
Start 01-10-2025
Einddatum 31-12-2027
Optie op verlenging Nee
Uren per week 32
Locatie Den Haag + Remote
Bijzonderheden Deze aanvraag is geschikt voor een ZZP'er. 3 CV's kan ik aanbieden echter 1fte wordt er gevraagd
Tarief 115 Euro p/u ex. BTW all-in
Deadline 16-09-2025 om 09:00
 
1. Wat is de reden om een professional in te huren?
 
Specifieke expertise: er is behoefte aan een specifieke deskundigheid die niet of nauwelijks aanwezig is bij de opdrachtgever. De opdrachtgever heeft geen deskundigheid zoals beschreven in het blok “specifieke kennis”.
2. Voert de professional het geheel van het takenpakket van de interne medewerker uit?
 
Nee, de werkzaamheden behelzen geen werkzaamheden die tot de kernwerkzaamheden van ICTU behoren. De werkzaamheden behoren op basis van huidige inzichten ook niet tot een functie die in de nabije toekomst ingevuld gaat worden door een eigen medewerker van ICTU.
 
3. Gaat personeel van de opdrachtgever de professional werkinhoudelijk aansturen?
Nee, professional is volledig zelfstandig in het bepalen van zijn werktijden en stemt in onderling overleg de op te leveren (deel)resultaten af. De professional realiseert volgens eigen inzicht en volgens afgesproken kwaliteitsnormen de gedefinieerde (deel)resultaten. Er wordt geen werkinhoudelijke aansturing of leiding en gezag op de professional uitgeoefend.
 
4. Gaat Opdrachtgever de professional (periodiek) inhoudelijk beoordelen? Ja/Nee en toelichten. Toelichting: hiermee wordt niet bedoeld overleg over de voortgang van het project.
Nee, er worden geen functionerings- of beoordelingsgesprekken met de professional gevoerd.
Er vindt periodiek overleg plaats op het behalen van de (deel)resultaten en een eindoverleg bij de oplevering van het eindresultaat.
 
5.Bepaalt de professional zelf hoe, wanneer en waar de opdracht wordt uitgevoerd?
 
Ja, de professional deelt zijn werkzaamheden zelfstandig in. Hij verricht deze naar eigen inzicht.
De professional houdt zich aan wettelijke normen en onderling gemaakte afspraken, over de oplevering van het resultaat/de resultaten en de doorlooptijd van de werkzaamheden.
 
6. Is de professional vrij om zichzelf in de uitvoer van de opdracht te laten vervangen?
Ja, mits over dezelfde kennis en kunde beschikt en na overleg en goedkeuring ICTU.
 
7.Zijn er binnen de afdeling ook interne medewerkers die dezelfde werkzaamheden uitvoeren?
 
Nee, ICTU heeft geen medewerkers in dienst die dezelfde werkzaamheden uitvoeren en geen vacatures voor dezelfde werkzaamheden open staan.
 
8. Wie voorziet de middelen en materialen die nodig zijn voor de opdracht? Specificeer of van de professional verwacht wordt eigen gereedschap en materialen te gebruiken.
 
De professional voorziet zich van eigen middelen en materialen.
 

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 een een front-end applicatie waar het design van front-end componenten in real time aangepast kan worden. 
  • 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 op basis pixels in afbeeldingen, color pickers op basis diverse color spaces. 
  • Ontwikkelen van state management met een undo-stack, op basis met vanilla JavaScript, session storage en REST API's. 
  • Ontwikkelen van validatie-regels om de toegankelijkheid van een huisstijl te meten. 
  • Ontwikkelen van templates en patronen om te illustreren hoe alle design tokens werken in combinatie met een huisstijl. 
  • Ontwikkelen een koppeling met de REST API van een web scraper. 
  • Het verbeteren van de software op basis van feedback van toegankelijkheidsspecialisten, het NL Design System-kernteam en gebruikersonderzoek. 
  • Het vastleggen van kansen voor verbetering en technical debt in de backlog van het project. 
  • Het in samenspraak met andere professionals uit het Expertteam Digitale Toegankelijkheid ontwikkelen en begeleiden van ontwikkelen en begeleiden van (online) workshops over een toegankelijke huisstijl ontwikkelen. 
  • Testspecificaties voor toegankelijkheid implementeren in Unit tests met Vitest 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 an het Expertteam Digitale Toegankelijkheid en de NL Design System Heartbeat.  
  • Publieke 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? 
​​Op basis van de huidige inzichten wordt de kans klein geacht dat de duur wordt overschreden. 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: Combox, 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 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 JavaScript. 
  3. Minimaal 3 jaar ervaring met GitHub of vergelijkbaar, waaronder samenwerken via merge/pull requests en het geven van code reviews. 
  4. Minimaal 3 jaar ervaring met ECMAScript en 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 webcomponenten waardoor de kandidaat ook het verschil tussen light-dom en shadow dom kan uitleggen  10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W3  Aantoonbare ervaring in de afgelopen 5 jaar met het gebruik van een design systemof componenten bibliotheek 
 
10% 
  • Uitstekend - 10 punten   
  • Goed - 8 punten   
  • Voldoende - 6 punten   
  • Matig - 2 punten   
  • Slecht - 0 punten 
W4  Aantoonbare ervaring met front-end ontwikkeling met 1 of meer van de volgende technieken in de afgelopen 5 jaar:   
  • dynamische SVG renderen (bijvoorbeeld: grafieken) 
  • <canvas> renderen  
10% 
  • Beide technieken 10 punten 
  • SVG renderen 4 punten 
  • Canvas 4 punten 
  • 0 punten – ontbreekt, niet aanwezig 
W5  Aantoonbare ervaring met het zelfstandig opzetten van nieuwe front-end projecten met build-scripts, in de afgelopen 5 jaar. 

De weging wordt ook meegenomen in het gesprek. 
10% 
  • Maximaal 10 punten 
  • 2 punten per aangetoond project 
  • 0 punten – ontbreekt, niet aanwezig 
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 
 
Prijs
Gewicht van prijs bij beoordeling 20%

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 groet,

Max Clarijs
FlexValue
+31612622521
max
@flexvalue.nl
www.flexvalue.nl

 

Deel deze vacature

Powered by