logo

Bekijk alle vacatures

Developer

Den Haag, Zuid-Holland
Voor onze klant ICTU zijn wij op zoek naar een Developer
 
Start 01-05-2025
Einddatum 30-06-2026
Optie op verlenging Nee
Uren per week 32
Locatie Den Haag + Remote
Bijzonderheden Op deze aanvragen mogen WIJ een ZZP'er aanbieden. 2 CV's kan ik aanbieden, echter 1 fte wordt er gezocht.
Tarief 110 Euro p/u ex. BTW
Deadline 09-04-2025 om 09.00

Opdrachtomschrijving
 
1. Wat is de reden om een professional in te huren?
Toelichting: De reden achter de inhuurbehoefte geeft een sterke indicatie over de aard van de opdracht.
 
Specifieke expertise: er is behoefte aan een specifieke deskundigheid die niet of nauwelijks aanwezig is bij de opdrachtgever.

De opdracht behelst werkzaamheden waarbij specialistische kennis over Design Systems, Component Libraries en webcomponenten noodzakelijk is. De opdracht behelst werkzaamheden waarbij specialistische kennis over Design Systems, Component Libraries, webcomponenten en static site generation noodzakelijk is. Er is nu geen Developer aanwezig binnen ICTU die voldoet aan de gevraagde expertise.   
 
2. Voert de professional het geheel van het takenpakket van de interne medewerker uit? Ja/Nee
 
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? Ja/Nee en toelichten. Toelichting: hiermee wordt niet bedoeld overleg over de voortgang van het project.
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/Nee en toelichten. Toelichting: mits passend binnen de bedrijfsvoering van de opdrachtgever.
 
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/Nee en toelichten
 
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? Ja/Nee
 
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? 
 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 Relations Engineer.     
​  
Met de NL Design System aanpak verzamelen we richtlijnen, componenten en voorbeelden 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 online dienstverlening.  
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: 
De opdracht bestaat uit doorontwikkeling van nldesignsystem.nl en gebruikersonderzoeken.nl zodat de open source componenten uit de community worden gebruikt en de NL Design System richtlijnen worden toegepast. De bedoeling is dat de website gebruikersonderzoeken.nl wordt doorontwikkeld zodat die op dezelfde manier onderhouden kan worden als nldesignsystem.nl.
 
De professional gaat de beste overheidswebsite van Nederland maken, die developers en designers inspireert om dat ook te doen. Het wordt zo makkelijk mogelijk gemaakt om de kunst af te kijken. Dat kan door de website open source te ontwikkelen, de voortgang en aanpak te delen met de community, gebruik te maken van de open source componenten van NL Design System, en modulaire en leesbare broncode te delen die zoveel mogelijk framework-onafhankelijk is.
 
De professional zorgt dat de andere professionals binnen het project makkelijk nieuwe documentatie kunnen toevoegen, dat voor evenementen een aanmeldingspagina beschikbaar komt en dat de community waar nodig op een veilige manier nieuwe informatie voor de websites kan aanleveren. Daarnaast zorgt de professional dat de informatie van de websites die door anderen hergebruikt kan worden via npm packages beschikbaar wordt gemaakt, zoals de Markdown documentatie of de component voortgang
 
Welke opdracht gaat de professional uitvoeren en welke activiteiten horen daarbij? 
 
 
De activiteiten die horen bij het realiseren van de opdracht zijn:
  • Refactoren van de websites nldesignsystem.nl en gebruikersonderzoeken.nl die nu met Docusaurus gebouwd zijn.
  • Vertalen van visueel ontwerp in Figma naar toegankelijke HTML, CSS en Design Tokens JSON.
  • Ontwikkelen van een nieuwe website volgens de Definition of Done.
  • Verbeteren van de zoekfunctie binnen de websites.
  • Verbeteren van de vindbaarheid van informatie op de websites met zoekmachines.
  • Toevoegen van formulieren op de verschillende websites.
  • Beschikbaar maken van nieuwe functionaliteiten op de websites.
  • Toepassen van NL Design System componenten, richtlijnen en documentatie voor de websites.
  • Feedback geven op componenten, richtlijnen en documentatie van NL Design System.
  • Bijhouden van gebruikers statistieken in overleg met de Product Manager, danwel opdrachtgever.
  • Vers & veilig houden van de websites door maandelijks code dependencies te updaten.
  • Documentatie opleveren zodat anderen het beheer van de website kunnen doen.
  • In overleg met Product Manager, danwel opdrachtgever 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.
    • 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 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.
 
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: 
  • De componenten pagina’s zijn verbeterd zodat alle beschikbare informatie makkelijk te vinden en gebruiken is.
  • Het component overzicht is verbeterd om te zorgen dat gebruikers componenten zo makkelijk mogelijk kunnen vinden.
  • Delen van informatie over community componenten is makkelijker gemaakt.
  • Verbeteren van het proces om delen van de component documentatie met anderen te delen.
  • Doorontwikkeling van de Node.js package om component informatie uit GitHub projectborden op te halen met de GraphQL API.
  • Ontwikkeling van npm packages met component-informatie uit Storybook, en die zonder tussenkomst van Storybook in de component pagina tonen.
  • In Github aangemaakte issues voor benodigde uitbreiding van nldesignsystem.nl
  • In Github aangemaakte issues voor benodigde uitbreiding van gebruikersonderzoeken.nl
  • Verbeterde documentatie repository op basis van de vastgelegde stories in GitHub conform de met de Product Owner, danwel opdrachtgever, vastgestelde acceptatiecriteria zijn doorgevoerd.
  • Verbeterde gebruikersonderzoeken.nl repository op basis van de vastgelegde stories in GitHub conform de met de Product Owner, danwel opdrachtgever, vastgestelde acceptatiecriteria zijn doorgevoerd.
  • Werkende deployments van de websites van NL Design System, zodat gebruikers ongestoord alle informatie kunnen vinden en taken kunnen uitvoeren terwijl de website verbeterd wordt.
  • Gebruikersfunctionaliteit van bestaande versie van nldesignsystem.nl gedocumenteerd.
  • Formulieren en enquêtes toegevoegd op de websites.
  • Gebruikersonderzoeken.nl en nldesignsystem.nl delen dezelfde logica.
  • Gebruikersonderzoeken.nl en nldesignsystem.nl gebruiken beschikbare componenten van NL Design System.
  • Alle componenten op gebruikersonderzoeken.nl en nldesignsystem zijn gebouwd volgens de NL Design System architectuur.
Welke eindresultaten zal de professional aan het einde van de opdracht dienen op te leveren.
De volgende resultaten worden door de professional opgeleverd:   
  • De marktplaats voor componenten is uitgebreid zodat componenten makkelijk vindbaar, bruikbaar en deelbaar zijn.
  • NL Design System huisstijl is vastgelegd in Design Tokens JSON  en wordt gebruikt voor alle componenten die gebruikt worden op de website.
  • Actueel gehouden documentatie van de gebruikersfunctionaliteit op nldesignsystem.nl
  • Nieuwe toegankelijke versie van de websites nldesignsystem.nl en gebruikersonderzoeken.nl gebouwd met NL Design System componenten
  • Actueel gehouden code dependencies van nldesignsystem.nl en gebruikersonderzoeken.nl
  • Verbeterde code coverage van nldesignsystem.nl en gebruikersonderzoeken.nl
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 NL Design System, 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, Component Libraries, webcomponenten en static site generation noodzakelijk is. De specialistische kennis waar naar 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 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 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 ervaring met het geoptimaliseerd laden van assets, zoals afbeeldingen, fonts en videos.
  • 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 progressive enhancement.
  • 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 ervaring met Node.js en ES Modules om server-side rendered (SSR) websites te maken.
  • De kandidaat heeftervaring met TypeScript, JSX en kan met renderToString() van React HTML-pagina’s genereren van webpagina’s die zelf geen React gebruiken in de browser.
  • De kandidaat heeft ervaring met REST en GraphQL 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 (KO)

Hierbij is het van belang dat de professional: 
  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.
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 concrete ervaring dat de professional per wens heeft opgedaan in de context van deze aanvraag.  ​ 
Wensen
Nr Omschrijving Gewicht Beoordeling
W1 Aantoonbare ervaring met het ontwikkelen van front-end voor een headless CMS, in de afgelopen 5 jaar. 15%
  • Maximaal 10 punten
  • 2 punten per aangetoond jaar
  • 0 punten – ontbreekt, niet aanwezig
W2 Aantoonbare, ervaring met het ontwikkelen van een design system en design system documentatie, in de afgelopen 5 jaar. 15%
  • Maximaal 10 punten
  • 2 punten per aangetoond jaar
  • 0 punten – ontbreekt, niet aanwezig
W3 Aantoonbare ervaring met static site generation en build scripts voor optimaliseren van performance, in de afgelopen 5 jaar. 10%
  • Maximaal 10 punten
  • 2 punten per aangetoond jaar
  • 0 punten – ontbreekt, niet aanwezig
W4 Aantoonbare ervaring met het ontwikkelen van een complexe website zonder client-side framework, in de afgelopen 5 jaar. 20%
  • Maximaal 10 punten
  • 2 punten per aangetoond jaar
  • 0 punten – ontbreekt, niet aanwezig
W5 Aantoonbare ervaring met React toepassen voor een component library en een complexe website in de afgelopen 5 jaar. 20%
  • Maximaal 10 punten
  • 2 punten per aangetoond jaar
  • 0 punten – ontbreekt, niet aanwezig

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,

Michael Blaauw
FlexValue
+31613778889
michael
@flexvalue.nl
www.flexvalue.nl

 

Deel deze vacature

Powered by