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 en toegankelijke onlinedienstverlening.
Rol binnen het project:
De opdracht bestaat uit diverse ondersteunende werkzaamheden bij de doorontwikkeling van dit overheidsbrede open source huisstijlonafhankelijke design systeem. Zoals de community helpen bij het doorontwikkelen van de componenten in Angular, React, Vue.js en andere frameworks, het beschikbaar maken van documentatie zodat zoveel mogelijk developers zelfstandig aan de slag kunnen gaan en de doorontwikkeling van de website nldesignsystem.nl.
Gewenst profiel van de professional:
- heeft uitgebreide ervaring met het toepassen van herbruikbare componenten uit Design Systems of Component Libraries.
- is niet gericht op een look-en-feel voor de hele overheid, maar gedreven om overal dezelfde gebruiksvriendelijkheid en toegankelijkheid te bereiken.
- 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.
- 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 kan werk opdelen in kleine stappen en fases
- is accuraat en werkt gedisciplineerd.
- Heeft ervaring met het open source werken waarin zowel het proces als de uitkomsten open en transparant worden gedeeld.
Concrete werkzaamheden:
- Het verbeteren van developer ervaring en samenwerking van verschillende ontwikkel teams in de NL Design System community
- Zorgen dat community bijdragen voldoen aan de NL Design System architectuur en richtlijnen door expertise te delen in een publieke refinement en steekproeven te doen in code reviews van bijdragen uit de community.
- Samenwerken met het kernteam en de community om verbeteringen in de community design systems door te voeren, zodat deze goed gedocumenteerd en voorspelbaar zijn.
- Toevoegen van nieuwe automatische tests om doorontwikkeling van de NL Design System componenten en patronen laagdrempelig te maken.
- Uitbreiden van documentatie op nldesignsystem.nl/handboek/developer
- Begeleiden van de bestaande community en nieuwe teams die willen aansluiten
- Helpen met het maken van themas of proof-of-concepts in diverse tech-stacks voor organisaties die overwegen mee te werken.
- Begeleiden van Developer Open Hour
- Dagelijks beantwoorden van developer vragen over het gebruik van de NL Design System en community sprints. Waar mogelijk met een linkje naar bestaande of nieuwe documentatie op de website van NL Design System.
- Je reageert op developers in de Slack kanalen van NL Design System, en in GitHub issues, discussies en pull requests van github.com/nl-design-system.
- Toevoegen van nieuwe componenten, patronen en templates aan het Design System op basis van het Estafettemodel.
- Onderzoeken van gebruik van Community componenten binnen de overheid, best practices, openstaande issues en kansen voor verbetering inventariseren, zodat deze gebruikt kunnen worden als basis voor een agile ontwikkelproces.
- Helpen bij het migreren van bestaande componenten naar Candidate componenten
- Verbeteren van de infrastructuur waarin de community huisstijlen vastlegt en beheert, zodat migraties naar nieuwe versies van componenten makkelijk is
- Feedback ophalen over gebruik van Community en Candidate componenten en verbeteringen doorvoeren
- Samenwerken met het kernteam richting Hall of Fame componenten
- Samen met het kernteam organiseren van Estafettemodeldagen waarin het kernteam en de community samenwerken om het community stappenplan voor componenten te doorlopen.