Voor ICTU zoeken wij een Senior Rust-Developer. Je werkt binnen het portfolio van het ICTU-programma ENIAMS aan het ontwikkelen van informatievoorzieningen (IV) en ondersteunt pilots voor de implementatie van Europese en Nederlandse Identity en Access Management (IAM) stelsels. Deze stelsels zijn van toepassing op zowel subjecten (burgers en bedrijven) als objecten (onroerend goed en vastgoed). Je draagt bij aan de ontwikkeling en doorontwikkeling van IV en ICT, evenals aan beheer, toezicht, handhaving, certificering en accreditatie.
Je ontwikkelt mobiele en web / backend softwarecomponenten, inclusief geautomatiseerde testen voor de NL Wallet binnen het programma ENIAMS. Hiervoor beschik je over diepgaande Rust ontwikkelexpertise en kennis van testautomatisering.
Je ondersteunt het Nederlandse EDI-stelsel (EDI-stelsel NL) in de gefaseerde ontwikkeling van de Nederlandse versie van de E(U)DI-Wallet (NL Wallet). Met deze wallet kunnen burgers en bedrijven zich digitaal identificeren, elektronische handtekeningen zetten en zelf gegevens of documenten delen binnen publieke en private domeinen. Als Senior Rust Developer ben je verantwoordelijk voor het opleveren van mobiele en web / backend softwarecomponenten met bijbehorende testware van de voorziening NL Wallet, conform vastgestelde kwaliteitseisen en de afgesproken kwaliteitsaanpak.
Jouw taken
- Opleveren van Rust software
- Ondersteunen van andere ontwikkelaars bij de realisatie van software
- Reviewen van software van andere ontwikkelaars
- Documenteren van software
- Beoordelen van functionele requirements op haalbaarheid en inschatten en inplannen van werkzaamheden
- Adviseren van de opdrachtgever over architectuur en realisatiekeuzes
- Ondersteuning bieden bij ontwerp, technisch onderzoek en analyses
- Automatiseren van diverse testen en waar mogelijk de rapportages
- Werken aan de implementatie van authenticatieprotocollen zoals OpenID4VC, ISO mdoc / mDL en OIDC
- Ontwikkelen aan een Rust library die geïntegreerd kan worden in mobile apps en backend code
- Voorstellen en aanbrengen van verbeteringen
- Deelnemen in een zelforganiserend scrumteam, inclusief refinements en ontwerpsessies
Resultaten
Realiseren van mobiele en web / backend (Rust) software incrementen voor NL Wallet die voldoen aande geldende ISO-25010 standaarden, Nederlandse Praktijkrichtlijn NPR-5326 en de ICTU kwaliteitsaanpak Softwareontwikkeling
alle acceptatiecriteria / testscenario’s in de user storyde functionele en niet-functionele eisende geldende architectuureen succesvol uitgevoerde regressietest zonder bevindingen (comply or explain)Je levert zelfstandig en volgens Agile / Scrum werkwijze tijdig software incrementen op, in nauwe afstemming met andere developers en testers. Je stemt samen met de product owner de ontwikkelagenda, releaseplanning en prioritering af.
Eindresultaat
Gerealiseerde NL Wallet (mobiele app)Werkende en aan beheerorganisatie overgedragen mobiele en web / backend (Rust) softwarecomponenten die voldoen aan de acceptatiecriteria van de klant en de beheerorganisatieEindrapport over de uitgevoerde testenGeborgde kennis in de vorm van documentatie en broncode van het eindproduct, inclusief een georganiseerde kennisoverdrachtsessie voor de beheerorganisatieDe opdracht is afgerond wanneer inhoudelijke decharge heeft plaatsgevonden en de werkende softwarecomponenten zijn opgeleverd en geaccepteerd door de klant.
Specifieke kennis
Je beschikt over aantoonbare expertise op de volgende gebieden :
Bovengemiddelde beheersing van verschillende programmeertalen en tools, met name RustOntwikkeling en testautomatisering van mobiele (iOS, Android) en web / backend applicaties in een complex landschapKwaliteitsborging in combinatie met softwareontwikkeling in Rust, Android en iOS app developmentWerken in agile / scrum en devops omgevingen, met tooling als Gitlab en JiraCryptografie, PKI, digitale handtekeningen, digitale identiteit (SSI) en authenticatiefunctionaliteitCI / CD pipelines en container tooling zoals Kubernetes en DockerSchrijven en documenteren van onderhoudbare code, inclusief unit- en integration testsOntwikkelen volgens design-patterns en ontwerpprincipesJouw profiel
Ruime ervaring met software development van mobiele en web / backend applicatiesErvaring met kwaliteitsborging in combinatie met softwareontwikkeling in Rust, Android en iOS app developmentJe leest graag relevante technische blogs en / of bezoekt regelmatig conferenties en meetupsJe voelt je thuis in complexe omgevingenJe bent doortastend, creatief, analytisch en kunt keuzes onderbouwenErvaring met werken in agile omgevingenJe bent communicatief vaardig, zowel mondeling als schriftelijk in het Nederlands en Engels, en kunt constructief overleggen met gebruikers, stakeholders en teamledenJe hebt affiniteit met en kennis van relevante methoden en technieken, en staat open om nieuwe technologieën te lerenJe hebt een oplossingsgerichte mentaliteit en werkt zelfstandig