Functieomschrijving

Voor ICTU zoeken wij een Front end Developer – Theme Wizard.

Je draagt bij aan het verbeteren van de digitale overheid in Nederland door te werken aan robuuste websites en webapplicaties voor de overheid. Je maakt onderdeel uit van een multidisciplinair team binnen het NL Design System Kernteam en het Expertteam Digitale Toegankelijkheid.

Je werkt met open source componenten en richtlijnen die beschikbaar zijn op GitHub en Figma, zodat iedereen gebruik kan maken van toegankelijke en gebruiksvriendelijke onlinedienstverlening.

Met het Expertteam Digitale Toegankelijkheid bouw je aan concrete oplossingen die het voor overheidsorganisaties eenvoudiger maken om toegankelijke websites en webapplicaties aan te bieden.

Jouw opdracht bestaat uit het ontwikkelen van Node.js servers en open source libraries voor een website, waarmee overheidsorganisaties eenvoudig hun toegankelijke huisstijl kunnen vastleggen en gebruiken met het NL Design System. Zo help je om de toegankelijkheid in Nederland te verbeteren met de tools van het expertteam en lever je een bijdrage aan de doorontwikkeling van NL Design System als overheidsbreed open source white-label design system.

  • Je ontwikkelt een web scraper voor HTML, CSS, assets en screenshots van websites om design tokens te genereren.
  • Je ontwikkelt een web scraper server met REST API.
  • Je ontwikkelt een stijlgids template waarmee meerdere huisstijlen ontwerpbeslissingen kunnen worden vastgelegd en gedeeld.
  • Je verbetert de software op basis van feedback van toegankelijkheidsspecialisten, het NL Design System-kernteam en gebruikersonderzoek.
  • Je ontwikkelt server-infrastructuur die aansluit bij de benodigde capaciteit in de NL Design System community.
  • Je ontwikkelt validatieregels om de toegankelijkheid van een huisstijl te meten.
  • Je legt kansen voor verbetering en technical debt vast in de backlog van het project.
  • Je houdt de templates actueel en veilig door maandelijks code dependencies te updaten.
  • Je ontwikkelt en begeleidt samen met andere professionals uit het Expertteam Digitale Toegankelijkheid (online) workshops over het ontwikkelen van een toegankelijke huisstijl.
  • In overleg met het Expertteam Digitale Toegankelijkheid valideer en breid je de templates, patronen en documentatie uit via:
    • Sprint planningen elke twee weken
    • Refinements indien nodig in een privé Slack Huddle van het Expertteam Digitale Toegankelijkheid
    • Reviewen van pull requests van andere experts om vanuit jouw expertise vroegtijdig feedback te geven
    • Het delen van voortgang in het privé Slack kanaal aan het Expertteam Digitale Toegankelijkheid en de NL Design System Heartbeat
    • Publieke Huddles om samen een nieuwe aanpak voor templates, patronen of componenten te bepalen

Te behalen deelresultaten

  • Web scraper en stijlgids, per onderdeel van de huisstijl, waaronder typografie, kleuren en afmetingen
  • Ranking-algoritme om design tokens uit de web scraper te sorteren op relevantie, voor verbeterde gebruiksvriendelijkheid
  • Geautomatiseerde tests om de toegankelijkheid van de huisstijl te testen per component, patroon en template
  • Geautomatiseerde tests om de kwaliteit van de software te meten
  • Een open source npm package met herbruikbare tools voor het controleren van design tokens op toegankelijkheid

Op te leveren eindresultaten

  • Open Source tooling waarmee op basis van een website URL huisstijlbeslissingen voor een toegankelijk thema als design tokens kunnen worden klaargezet
  • Open Source tooling om componenten, patronen en templates uit de Theme Wizard automatisch te valideren op toegankelijkheid
  • Open Source tooling om op basis van beschikbare tokens automatisch een toegankelijk alternatief te suggereren
  • Open Source tooling om op basis van één achtergrond- en één voorgrondkleur een toegankelijke kleurschaal te genereren
  • Documentatie waarmee het beheer van de tooling kan worden overgedragen

Jouw profiel

  • Je hebt ervaring met het toepassen van herbruikbare componenten uit Design Systems of Component Libraries
  • Je bent pragmatisch en kunt werk opdelen in kleine stappen en fases
  • Je kunt zonder code-duplicatie onderdelen hergebruiken, zodat verbeteringen in zowel bestaande als nieuwe websites kunnen worden gebruikt
  • Je hebt uitgebreide ervaring met CSS, zoals CSS logical properties, CSS custom properties, CSS variables, calc() voor fluid font sizes, media queries, container queries, prefers-color-scheme, moderne CSS units, CSS gradients, system colors, animaties en transities
  • Je hebt ervaring met het geoptimaliseerd laden van assets, zoals afbeeldingen, fonts en video's
  • Je hebt uitgebreide ervaring met ECMAScript, onder andere met ES Modules, import(), URL, async/await, Map, Set, map/filter/reduce, nullish coalescing, class, import.meta, Promises, Object entries en destructuring
  • Je hebt ervaring met het gebruik van npm packages, monorepositories en publicatie van npm packages met semantic versioning
  • Je hebt ervaring met Node.js en ES Modules om tooling te ontwikkelen
  • Je hebt ervaring met TypeScript in Node.js
  • Je hebt ervaring met het bouwen van REST APIs voor het beschikbaar stellen van data waarmee webpagina’s gevuld kunnen worden
  • Je hebt ervaring met unit tests en end-to-end tests voor front-end code, bij voorkeur met Jest, Vitest, Cypress of Playwright
  • Je beschikt over goede mondelinge en schriftelijke communicatieve vaardigheden
  • Je werkt zelfstandig en bewaakt je eigen voortgang als onderdeel van de scrum planning
  • Je bent accuraat, werkt gedisciplineerd en bent in staat om de diversiteit aan werkzaamheden te ordenen en te prioriteren in afstemming met de Product Manager
  • Je hebt ervaring met open source werken en vindt het vanzelfsprekend om alles (inclusief het proces) open en transparant te delen

Goede beheersing van de Nederlandse taal in woord en geschrift is vereist voor deze functie.

Functie eisen

  • Je hebt een sterke motivatie en kunt deze onderbouwen voor elke functie-eis en wens.

Functie wensen

  • Je hebt aantoonbare ervaring in de afgelopen 5 jaar met samenwerken met UX-designers en bijgedragen aan gebruikersvriendelijke interfaces.
  • Je hebt aantoonbare ervaring in de afgelopen 5 jaar met het ontwikkelen en onderhouden van open source projecten.
  • Je hebt aantoonbare ervaring in de afgelopen 5 jaar met het ontwikkelen van een design system of componentenbibliotheek.
  • Je hebt aantoonbare ervaring in de afgelopen 5 jaar met het schrijven van documentatie voor developers.
  • Je hebt ervaring met het zelfstandig opzetten van nieuwe Node.js projecten.
  • Je beschikt over een pragmatische en oplossingsgerichte werkwijze.
  • Je werkt accuraat om tot een toegankelijk en onderhoudbaar resultaat te komen.

Extra informatie

  • Plaats Den Haag
  • Opleidingsniveau MBO/HBO/WO
  • Aantal uur 32 uur per week
  • Startdatum 22-09-2025
  • Geschikt voor ZZP? Ja
  • Thuiswerken mogelijk? N.t.b.