C# Fullstack Developer - Testautomation Framework Mr.

Blue Trail
Utrecht, Netherlands
2 days ago

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
Dutch
Experience level
Junior

Job location

Utrecht, Netherlands

Tech stack

.NET
Microsoft Windows
API
Automation of Tests
Unit Testing
Azure
C Sharp (Programming Language)
Ubuntu (Operating System)
Code Review
Continuous Integration
Software Debugging
Linux
Hyper-V
MariaDB
Microsoft Visual Studio
Windows Presentation Foundation
Microsoft SQL Server
SQL Stored Procedures
SQL Databases
Virtual Machines
Openapi
Test Driven Development
GIT
Kubernetes
REST
Docker
VMware

Job description

De Sectie Systeemontwikkeling en Integratie binnen de afdeling Landgebonden IT bij het JIVC ontwikkelt voor het landoptreden binnen Defensie Command en Control (C2) systemen t.b.v. operationele commandovoering. De Full-Stack C# Developer voor het Testautomation Framework, met een sterke affiniteit voor softwarekwaliteit en geautomatiseerd testen, werkt nauw samen met de ontwikkelaars van C2-producten en de testengineers binnen Landgebonden IT. Binnen deze rol ben je verantwoordelijk voor het ontwerpen, ontwikkelen en onderhouden van een uitgebreid testautomation framework met geïntegreerde ondersteuning voor test- en labomgevingbeheer, dat wordt gebruikt om complexe gedistribueerde C2 eindapplicaties te testen in een on-premise infrastructuur.

Achtergrond opdracht: Het framework, dat werkt bovenop onder andere Visual Studio 2022 en Azure DevOps Server, is voorzien van een grootschalige geautomatiseerde testomgeving die nauw geïntegreerd is met virtualisatie-oplossingen zoals VMware en containerisatie met Docker. Hiermee creëer je flexibele, gevirtualiseerde testomgevingen en draag je bij aan de principes van Code as Infrastructure, waarbij infrastructuurcomponenten als code worden beheerd en geautomatiseerd. Dit verhoogt de efficiëntie en schaalbaarheid van het testproces en maakt het mogelijk om dynamische testomgevingen te beheren. Daarnaast zorg je ervoor dat het test-framework compatibel blijft met de nieuwste versies van C2-applicaties, tooling en infrastructuur. Het systeem wordt platformonafhankelijk opgezet met gebruik van onder andere .NET, WPF, Avalonia en web frontends en ondersteunt zowel Windows- als Linux-omgevingen (waaronder Alpine en Ubuntu). Het framework integreert verder naadloos met SQL-technologieën zoals SQL Server en MariaDB.

In deze rol ben je tevens verantwoordelijk voor het onderhouden en optimaliseren van on-premise Azure CI/CD-pijplijnen, zodat het volledige testproces naadloos en efficiënt blijft verlopen voor de feature teams binnen Landgebonden IT. Je houdt het testframework in topconditie, met een sterke focus op schaalbaarheid en betrouwbaarheid. Hoewel je zelf niet direct geautomatiseerde tests ontwikkelt, draag je zorg voor het framework dat deze tests mogelijk maakt. Je zorgt ervoor dat de infrastructuur up-to-date blijft en ondersteunt de ontwikkelaars en testers die met het framework werken, zodat zij hun werk optimaal kunnen uitvoeren in een omgeving die klaar is voor de toekomst van testautomatisering.

Requirements

  • Je hebt minimaal 3 jaar werkervaring in development projecten waarbij je verantwoordelijk was voor C#-ontwikkeling binnen het project.

  • Je hebt minimaal HBO werk- en denk niveau, ontwikkeld via opleiding(en) of door minimaal 5 jaar werkervaring.

  • Je hebt minimaal 3 jaar werkervaring als software engineer in Visual Studio C# .NET4.0 of Hoger.

  • Je hebt minimaal 1 jaar ervaring met het gebruik van tools en frameworks voor automatische codeanalyse en -tests om de kwaliteit van de code te verbeteren. Dit omvat het integreren van tools in het ontwikkelproces en het regelmatig uitvoeren van code-analyses en -tests, waaronder het opzetten van geautomatiseerde functionele, load/performance en UI-testen.

  • Je hebt minimaal 2 jaar kennis en ervaring met het implementeren van tests als onderdeel van het ontwikkelproces. Dit omvat het schrijven van verschillende soorten tests, zoals unit tests, integratietests en acceptatietests.

  • Je hebt minimaal 2 jaar kennis en ervaring met test-driven development (TDD).

  • Je hebt minimaal 1 jaar ervaring met het debuggen en analyseren van bevindingen binnen een complexe architectuur. Dit omvat het vermogen om problemen te identificeren, te analyseren en op te lossen in een omgeving met meerdere componenten en subsystemen, door gebruik te maken van geavanceerde debuggertools en technieken."

  • Je hebt minimaal 1 jaar kennis en ervaring met het implementeren en aanroepen van unmanaged code vanuit managed code, inclusief het gebruik van platform invoke (P/Invoke) en COM-interoperabiliteit.

  • Je hebt minimaal 2 jaar ervaring met verschillende vormen van multithreading in C# .NET 4.0 en hoger, waarbij je bekend bent met de concepten van thread-synchronisatie.

  • Je hebt minimaal 1 jaar ervaring in development projecten waarbij versiebeheersystemen zoals Git werden gebruikt enwaarbij code review-praktijken werden toegepast als onderdeel van een agile ontwikkelproces.

  • Je hebt minimaal 1 jaar ervaring met het ontwikkelen en consumeren van RESTful API's in een on-premise infrastructuur, inclusief het gebruik van OpenAPI voor het definiëren en documenteren van API's.

  • Je hebt minimaal 1 jaar ervaring met SQL-technologieën, zoals SQL Server en MariaDB, inclusief het ontwerpen en gebruiken van stored procedures.

  • Je hebt minimaal 1 jaar kennis en ervaring met virtualisatieplatforms zoals VMware, Hyper-V, of KVM, en heeft begrip van virtualisatieconcepten zoals hypervisors, virtuele machines en snapshots.

  • Je hebt minimaal 1 jaar kennis en ervaring met containerisatietechnologieën zoals Docker of Kubernetes, inclusief het opzetten, beheren en schalen van containerized applicaties.

  • Je hebt minimaal 1 jaar ervaring met Azure DevOps Server en het opzetten en onderhouden van CI/CD-pijplijnen.

  • Je hebt minimaal 2 jaar ervaring en diepgaande kennis van zowel Windows- als Linux-omgevingen, inclusief ervaring met platformbeheer en het ontwikkelen van toepassingen die op beide platforms draaien.

Apply for this position