Functieomschrijving
Voor de gemeente Apeldoorn zijn wij op zoek naar een Senior Software Engineer Java/Kotlin.Omschrijving werkzaamheden
Binnen de waardestroom Rechten en Zekerheid (RZ) zijn zij op zoek naar een senior software engineer. De focus van de werkzaamheden richt zich op de doorontwikkeling en het onderhoud van het systeem KOERS. KOERS vormt het hart van de kadastrale registratie van onroerende zaken en zakelijke rechten (basisregistratie Kadaster, BRK). Dagelijks worden duizenden stukken, zoals hypotheekaktes en aktes van levering, door notarissen aangeboden. KOERS zorgt voor de inwinning, controle en registratie van ontvangen stukken in de BRK, en het beschikbaar stellen van deze gegevens.
KOERS is een onmisbare schakel binnen de basisregistratie van het Kadaster en wordt beheerd en doorontwikkeld met behulp van de nieuwste technologieën en tooling.
Zij ontwikkelen op een Java backend. Het Axon framework faciliteert hun in het toepassen van event sourcing en CQRS. De Continuous Delivery pipeline wordt volledig containerized met Docker, door de gehele OTAP straat. Ze hanteren korte feedback loops om daarmee een beter gevoel te ontwikkelen voor wat onze klanten en gebruikers nodig hebben. Op dit moment is het Kadaster in een overgangsfase waarin ze als project KOERS van private cloud provider moeten wisselen. Om dit te realiseren ronden ze werkzaamheden af om te switchen van Docker Swarm naar Openshift en van Jenkins naar Tekton.
Opdrachtomschrijving
De software engineer werkt aan de doorontwikkeling en het onderhoud van de backend services die van belang zijn voor de controle-, registratie- en informatieservices van KOERS. Het ontwerpen, realiseren en automatisch testen van de software is de kern van de functie.
Belangrijkste technieken, methoden en tools
- Java (17/21)/Kotlin/Maven/Bash
- Spring Boot 3/(Javalin)
- Continuous delivery: Azure/Openshift/Kubernetes/Helm/Tekton/ArgoCD/Docker/Test (Automation)
- DevOps: Open Telemetry/Grafana/Prometheus
- Database integratie: PostgreSQL met Hibernate & jdbc
- CQRS en event sourcing: Axon Framework
- Bouwen, testen en documenteren van software.
- Beheren van de ontwikkelde software, testen en documentatie.
- Samenwerken binnen het scrumteam (Agile/Scrum/DevOps).
- Samenwerken met andere scrum teams.
- Opzetten en wijzigen Spring Boot applicaties geschreven in Java en Kotlin.
- Opzetten en wijzigen van geautomatiseerde testen (unit testen, integratie- en systeemtesten).
- Automatiseren van Deployments (Tekton/Docker/Kubernetes).
- Intensieve samenwerking met andere teams.
- Uitvoerende rol binnen het scrum team samen met de andere developers (refinen, plannen, uitvoeren, evalueren).
Goede beheersing van de Nederlandse taal in woord en geschrift is vereist voor deze functie.
Functie eisen
- Je hebt minstens 5 jaar ervaring in een moderne Java/Spring Boot omgeving
- Je hebt minimaal 1 jaar ervaring met Kotlin
- Je hebt minstens 5 jaar ervaring met het schrijven van unittests en integratietesten
- Je hebt minstens 3 jaar ervaring en kennis van RDBMS en SQL
- Je hebt minstens 1 jaar ervaring met het opzetten, aanpassen en inrichten van containergebaseerde workloads in een microservice-architectuur met behulp van build, release en deploy pipelines
- Je hebt minstens 3 jaar ervaring met het gebruiken van Kubernetes, Openshift of vergelijkbaar op de command line (kubectl e.d.)
- Je hebt minstens 1 jaar ervaring met Tekton, Gitlab CI, Github Actions of vergelijkbaar (Jenkins telt niet)
- Je hebt minstens 1 jaar ervaring met Continuous Delivery
- Je hebt minstens 1 jaar ervaring met operations van een productieomgeving (dwz: actief monitoren van productie en ingrijpen als er wat misgaat)
- Je hebt minimaal 1 jaar ervaring met PostgresSQL
Functie wensen
- Je hebt ervaring met event sourcing en CQRS: Axon Framework, dit is een pré
- Je hebt ervaring met basisregistraties, dit is een pré