Job Openings
Developer Relations Engineer
About the job Developer Relations Engineer
Voor ICTU zoeken wij een Developer Relations Engineer.
Voor het project NL Design System werk je als Developer Relations Engineer aan de doorontwikkeling van een overheidsbreed, open source, huisstijlonafhankelijk design systeem. Je ondersteunt de community bij het ontwikkelen van componenten in Angular, React, Vue.js en andere frameworks. Je zorgt ervoor dat documentatie toegankelijk beschikbaar is, zodat developers zelfstandig kunnen werken, en je draagt bij aan de verdere ontwikkeling van de website nldesignsystem.nl.
Je verzamelt samen met het kernteam en een actieve community richtlijnen, componenten en voorbeelden om robuuste websites en webapplicaties voor de overheid te bouwen. De componenten en richtlijnen van NL Design System zijn open source beschikbaar op GitHub en Figma, waardoor iedereen ze kan inzetten voor begrijpelijke, gebruiksvriendelijke en toegankelijke online dienstverlening.
Jouw verantwoordelijkheden zijn onder andere:
Jouw profiel
Competenties
Organisatie
ICTU
Voor het project NL Design System werk je als Developer Relations Engineer aan de doorontwikkeling van een overheidsbreed, open source, huisstijlonafhankelijk design systeem. Je ondersteunt de community bij het ontwikkelen van componenten in Angular, React, Vue.js en andere frameworks. Je zorgt ervoor dat documentatie toegankelijk beschikbaar is, zodat developers zelfstandig kunnen werken, en je draagt bij aan de verdere ontwikkeling van de website nldesignsystem.nl.
Je verzamelt samen met het kernteam en een actieve community richtlijnen, componenten en voorbeelden om robuuste websites en webapplicaties voor de overheid te bouwen. De componenten en richtlijnen van NL Design System zijn open source beschikbaar op GitHub en Figma, waardoor iedereen ze kan inzetten voor begrijpelijke, gebruiksvriendelijke en toegankelijke online dienstverlening.
Jouw verantwoordelijkheden zijn onder andere:
- Het verbeteren van de developer ervaring en samenwerking binnen verschillende ontwikkelteams van de NL Design System community.
- Zorgen dat bijdragen uit de community voldoen aan de architectuur en richtlijnen door expertise te delen in publieke refinements en steekproeven te doen in code reviews.
- Samenwerken met het kernteam en de community om verbeteringen door te voeren in de design systems, zodat deze goed gedocumenteerd en voorspelbaar zijn.
- Toevoegen van nieuwe automatische tests om het doorontwikkelen van componenten en patronen laagdrempelig te maken.
- Uitbreiden van de documentatie op https://nldesignsystem.nl/handboek/developer
- Begeleiden van zowel bestaande communityleden als nieuwe teams die willen aansluiten.
- Helpen bij het maken van thema’s of proof-of-concepts in diverse tech-stacks voor organisaties die willen meewerken.
- Begeleiden van Developer Open Hour.
- Dagelijks beantwoorden van developer vragen over het gebruik van het NL Design System en community sprints, waar mogelijk met een verwijzing naar documentatie op de website.
- Reageren 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 het gebruik van community componenten binnen de overheid, best practices verzamelen, openstaande issues en verbeterkansen inventariseren 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 eenvoudig zijn.
- Feedback ophalen over gebruik van Community en Candidate componenten en verbeteringen doorvoeren.
- Samenwerken met het kernteam richting Hall of Fame componenten.
- Organiseren van Estafettemodeldagen samen met het kernteam en de community, waarbij het stappenplan voor componenten wordt doorlopen.
- Opstellen van acceptatiecriteria voor opleveringen in overleg met de Product Manager of Project Manager.
- Aanvullende activiteiten uitvoeren met professionals uit het NL Design System Kernteam om het Design System te valideren en uit te breiden, zoals:
- Tweewekelijkse sprintplanningen op dinsdag.
- Refinements in een privé Slack Huddle van het kernteam indien nodig.
- Voortgang delen in het privé Slack kanaal van het kernteam en tijdens de NL Design System Heartbeat.
- Publieke Huddles organiseren om nieuwe aanpakken voor architectuur of Definition of Done vast te stellen.
Jouw profiel
- Je hebt uitgebreide ervaring met het toepassen van herbruikbare componenten uit Design Systems of Component Libraries.
- Je richt je niet op één look-en-feel voor de hele overheid, maar streeft naar maximale gebruiksvriendelijkheid en toegankelijkheid.
- Je hebt uitgebreide kennis van HTML, zoals 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.
- Je hebt uitgebreide ervaring met CSS, waaronder layouts met Grid en Flexbox, CSS logical properties, CSS custom properties, CSS variables, calc() voor fluid font sizes en container queries.
- Je hebt grondige kennis van ECMAScript, bijvoorbeeld 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 het publiceren van npm packages.
- Je hebt ervaring met unit tests en end-to-end tests voor front-end code, bijvoorbeeld met Vitest, Testing Library, Playwright, Jest of Cypress.
- Je werkt zelfstandig en bewaakt je eigen voortgang binnen een scrum planning.
- Je kunt goed afwisselen tussen verschillende taken om snel drempels voor de community weg te nemen, in overleg met de Product Manager.
- Je bent pragmatisch en bent in staat werk op te delen in kleine stappen en fases.
- Je werkt accuraat en gedisciplineerd.
- Je hebt ervaring met open source werken, waarbij zowel het proces als de uitkomsten open en transparant worden gedeeld.
Competenties
- Je werkt zelfstandig binnen Scrum-afspraken en tweewekelijkse heartbeat-sessies.
- Je bent pragmatisch en weet werk op te delen in kleine stappen en fases.
- Je werkt accuraat en gedisciplineerd.
- Je beschikt over sterke communicatieve vaardigheden en bent in staat developer vragen te beantwoorden en begeleiding te bieden in de community.
Organisatie
ICTU
Functie-eisen
- Je beschikt over een goede mondelinge beheersing van de Nederlandse taal
- Je hebt een goede schriftelijke beheersing van de Engelse taal
- Je hebt concrete ervaring opgedaan die relevant is voor deze opdracht bij NL Design System, onderbouwd met praktische voorbeelden
- Je schrijft voorafgaand aan een eventueel intakegesprek code die aantoont dat je de technieken effectief kunt toepassen om een toegankelijke webpagina te maken
- Tijdens een eventueel intakegesprek toon je aan dat je voldoet aan het gewenste profiel door uit zes categorieën code toe te lichten die je zelf hebt gemaakt: ECMAScript, HTML, CSS, Node.js, Web Component en testautomatisering
Functie-wensen
- Je hebt aantoonbare ervaring met het ontwikkelen en onderhouden van open source projecten met npm in de afgelopen 5 jaar
- Je hebt aantoonbare ervaring met het toepassen van design tokens met Style Dictionary en de Design Tokens spec in de afgelopen 5 jaar
- Je hebt ervaring met frontend ontwikkeling met één of meer van de volgende technieken in de afgelopen 5 jaar:
- Web Components
- Angular
- Vue.js
- React
- Drupal
- WordPress
- Typo3
- Het is een pre als je aantoonbare ervaring hebt met het organiseren van bijeenkomsten met verschillende developers om samen componenten, richtlijnen of patronen te ontwikkelen in de afgelopen 5 jaar
- Het is een pre als je aantoonbare ervaring hebt met het begeleiden van front-end developers bij het gebruiken van een design system in de afgelopen 5 jaar
- Je werkt pragmatisch en oplossingsgericht
- Je werkt accuraat om tot een toegankelijk en onderhoudbaar resultaat te komen