Als medior software engineer draag jij bij aan het Decentraal Regelgeving Platform (DRP). Dit platform wordt gebruikt door alle decentrale overheden voor het kunnen publiceren van hun regelgeving, bekendmakingen en kennisgevingen op het internet. In totaal gaat het daarbij om meer dan 400 organisaties (gemeenten, provincies, waterschappen en gemeenschappelijke regelingen) die dagelijks duizenden publicaties uitvoeren.
Omdat het publiceren van officiële publicaties een grote rol speelt in het goed functioneren van de Nederlandse rechtstaat, is het belangrijk dat onze software betrouwbaar is en altijd goed werkt. Samen met het team zorg jij ervoor dat DRP verder wordt ontwikkeld en optimaal blijft functioneren, zodat de decentrale overheden aan hun wettelijke verplichtingen kunnen voldoen.
Je bent onderdeel van een team dat bestaat uit een product owner, software engineers, testautomatiseerder en beheerders. Iedereen heeft zijn eigen specialisme, maar uiteindelijk moet de klus samen geklaard worden.
Wat ga je doen
Ontwikkelen van nieuwe features:
DRP is een volwassen product met duizenden gebruikers. Onze gebruikers hebben uiteraard allerlei wensen om het werken met het systeem net even gemakkelijker te maken. Daarnaast kan nieuwe wetgeving ervoor zorgen dat het platform meer moet kunnen dan nu het geval is. Aan jou de taak om samen met het team nieuwe functionaliteit te bouwen. Zo zijn we nu bezig met het integreren van een nieuwe editor waar gebruikers hun teksten in kunnen opmaken en gaan we in de toekomst de gebruikersinterface opnieuw ontwerpen.
Migreren van legacy naar de nieuwe doelarchitectuur:
DRP is een applicatie die is gemaakt met de .NET stack. Een deel van de software draait als .NET Core op het Standaard Platform van Logius, een private cloud omgeving op basis van Kubernetes. De rest draait nog als .NET Framework op VM’s bij een overheidsdatacenter. We gaan onze legacy-onderdelen stuk voor stuk vernieuwen zodat deze op het Standaard Platform kunnen draaien. Hoe meer er gemigreerd is, hoe gemakkelijker het wordt om de applicatie door te ontwikkelen. Samen met het team bepaal je de balans tussen het ontwikkelen van nieuwe features en het migreren naar de doelarchitectuur.
Uitvoeren en verfijnen van GitOps:
Alle mooie spullen die wij maken willen we zo snel mogelijk beschikbaar stellen aan onze gebruikers. Voor het deployen van de software hanteren we daarom infra-as-code. Voor ons betekent dit dat we in Gitlab onze CI/CD pipelines beheren. Hiermee kunnen we regelmatig en betrouwbaar uitrollen op de verschillende omgevingen. Om dit proces steeds verder te verfijnen zal je zelf ook veel aan de slag gaan met het inrichten en verbeteren van deze pipelines.
Applicatiebeheer:
Om de werking van de applicatie goed in de gaten te houden gebruiken we Grafana dashboards, Kibana logging en alerts in Mattermost. Als er een alert binnenkomt, dan is de functioneel beheerder het eerste aanspreekpunt. Er zijn situaties waarbij de functioneel beheerder het probleem niet zelf kan oplossen. Hier spring jij bij om de dag te redden. Dit is meteen een kans om samen met de functioneel beheerder tot een structurele oplossing te komen. Bijvoorbeeld door de beheermogelijkheden te vergroten of de foutmeldingen duidelijker te maken. Het liefst komt de foutsituatie natuurlijk helemaal niet meer voor!
Deelnemen aan de SAFe ceremonies:
Bij Logius werken we volgens het SAFe framework. Dit is een methode om agile te werken in een grotere organisatie. Centraal staat de PI planning die we elk kwartaal doen met alle teams. Hier stemmen we de onderlinge afhankelijkheden af. Dat is belangrijk omdat DRP onderdeel is van een grotere keten van applicaties. Alleen door goed samen te werken met de andere teams kunnen we een goede dienstverlening bieden. Naast de PI planning zijn er SAFe ceremonies die we binnen het team uitvoeren, zoals de sprint review, refinement en retrospective. Door hier actief aan bij te dragen zorgen we er samen voor dat we als team optimaal functioneren zodat we elke sprint nieuwe waarde kunnen opleveren voor onze gebruikers.
Gebruikte tools en technieken:
- C# .NET (Framework & Core)
- MS SQL Server
- Entity Framework
- Gitlab
- Kubernetes CICD / Helm charts
- Open Shift
- Windows Server 2022 Datacenter
- RabbitMQ
- Redis
- REST services
- XML
- Javascript (jQuery)
- Grafana
- Kibana
- Mattermost
- Azure DevOps (binnenkort Jira)
- Confluence