Functieomschrijving
Voor Kadaster zoeken wij een Software Engineer Java.De organisatie
Het Kadaster registreert en verstrekt gegevens over de ligging van vastgoed in Nederland en de daarmee samenhangende rechten, zoals eigendom en hypotheek. Als zelfstandig bestuursorgaan is dat hun wettelijke taak. Deze gegevens bieden houvast bij het onderzoeken van maatschappelijke vraagstukken, of het nu gaat om de beste route voor een nieuwe snelweg, actuele ontwikkelingen op de woningmarkt of het in beeld brengen van leegstand.
Werkzaamheden
De uitvoering van de interne bedrijfsprocessen van het Kadaster wordt in grote mate ondersteund door geautomatiseerde informatiesystemen en gegevensbestanden. Ook de dienstverlening aan de klanten van het Kadaster wordt in grote mate ondersteund door systemen die digitale producten en diensten leveren. Goed ingerichte toegangscontrole speelt hierbij een grote rol; ‘wie mag gebruik maken van welke informatiesystemen, diensten en gegevens en om welke reden’ en ‘hoe wordt dit goed beheerd’ zijn belangrijke thema’s die mede bepalen in welke mate de belangen van het Kadaster en de klant worden geborgd en op basis waarvan voldaan kan worden aan wettelijke eisen.
Binnen het landmeetkundige (LM) domein zijn ze op zoek naar een Software Engineer Java.
De teams binnen het LM-domein werken gezamenlijk aan een doel: het eenvoudiger, beter en leuker maken voor hun landmeters en klanten. De teams zijn hierin afhankelijk van elkaar om te werken aan het gezamenlijke doel.
De dienst Terrestrische Registratie is één van de diensten binnen het LM-domein en verzorgt het archiveren en weer beschikbaar stellen van terrestrische meetgegevens die worden ingewonnen bij het vaststellen van nieuwe kadastrale grenzen. Deze meetgegevens vormen de basis voor het bijwerken van de Kadastrale Kaart, die alle perceelsgrenzen van Nederland bevat. Daarnaast worden de meetgegevens gebruikt wanneer de grens opnieuw uitgezet en aangewezen wordt.
Zij ontwikkelen op een Java backend. Als software engineer maak je deel uit van een ervaren en gedreven Agile/Scrum team en draag je bij aan het vernieuwen en onderhouden van het applicatielandschap. Je werkt mee aan de ontwikkeling van nieuwe producten en draagt daarbij actief je kennis over aan de andere teamleden. De Continuous Integration pipeline wordt volledig containerized met Kubernetes, door de gehele OTAP straat. Pipelines zijn scripted met OpenShift. Ze hanteren korte feedback loops om daarmee een beter gevoel te ontwikkelen wat hun klanten en gebruikers nodig hebben. Ze werken volgens Software Teaming, een software ontwikkelingsaanpak waarbij het hele team aan hetzelfde werkt (ook wel bekend als “Mob Programming”).
Ze werken met state-of-the art technieken aan het ontsluiten van landmeetkundige data. Je hebt daarbij veel vrijheid om nieuwe ontwikkelingen te proberen, te leren en combineren. Het team streeft naar een vooruitstrevend en stabiel platform waarmee ze de komende jaren voorop loopt in de publicatie van data via REST API ’s en event sourcing met behulp van het Axon framework. Vanzelfsprekend is geautomatiseerd wat geautomatiseerd kan worden, zodat zoveel mogelijk tijd in het daadwerkelijk leveren van klantwaarde gestoken kan worden.
Je realiseert goed werkende software die de gebruiker daadwerkelijk nodig heeft. Hiervoor kan je naast goed programmeren ook goed communiceren met je eigen teamleden, met leden van aanpalende teams en met je stakeholders. Daarnaast verwachten ze dat je het werk van je teamleden kunt reviewen, testen en automatische test- en deployment pipelines kan opzetten en bijwerken. Ten slotte vragen ze je actief te participeren, mee te denken en je kennis te delen met andere teams en de Java community.
Het TR team werkt volgens de Agile werkwijze. Business belang en toegevoegde waarde van werkzaamheden zijn bepalend voor de prioritering van alle werkzaamheden binnen de teams. Daarnaast is het team aangesloten bij de Kadaster PI sessies, waarin per kwartaal alle werkzaamheden die verder strekken dan alleen één team ingepland en verdeeld worden. Meerdere teams werken hierin samen om het gehele landmeetkundig proces te ondersteunen en te verbeteren.
De Java-ontwikkelaar maakt het technisch ontwerp en realiseert op basis hiervan ook de uiteindelijke software componenten (code). Beide taken vormen de kern van de functie software engineer. Voor belangrijke ontwerpbeslissingen die de architectuur raken (of daar zelfs van afwijken), stem je af met de software architect.
Belangrijkste technieken, methoden en tools
- Agile/Scrum
- Java-frameworks zoals Spring (boot, batch)
- JPA
- Continuous Integration/Delivery en Maven, Tekton, SonarQube, Git, Gittea, Kubernetes, Jira, Openshift
- Webservices, JSON, XML, REST
- Testframeworks zoals JUnit en Mockito
- Postgres database, PostGIS extended
- CQRS
- Event Sourcing
- Axon
- Shell scripting.
De belangrijkste taken en verantwoordelijkheden zijn
- Uitbreiden van en wijzigingen doorvoeren in de applicaties
- Beheren van de applicaties
- Wijzigen en toevoegen van UnitTests en applicatie code
- Wijzigen en toevoegen van Gluecode en ondersteunen van test automatisering
- Automatiseren van Deployments
- Deelnemen in een Scrum / DevOps team
- Uitvoeren van impactanalyses, planningssessies
- Deelnemen in de Java community
- Deelnemen in toepassen en bijhouden van Java ontwikkelstandaarden.
Goede beheersing van de Nederlandse taal in woord en geschrift is vereist voor deze functie.
Functie eisen
- Taalniveau Nederlands minimaal B2.
- Je beschikt over een afgeronde (bachelor) hbo-opleiding of hoger.
- Je hebt minimaal 3 jaar ervaring als Java software engineer.
- Je hebt minimaal 2 jaar ervaring met:
- Maven
- Git
- JPA
- PostgresSQL
- Spring boot
- REST
- Docker
- Je hebt kennis van en ervaring met:
- Ontwikkelen van Java (Web-) applicaties
- Werken in een scrum team
- Applicaties in het landmeetkundige domein (te beoordelen: werkervaring; o.a. Kadaster, landmeetkundige / geodetische ingenieursbureaus)
Functie wensen
- Je hebt ervaring met:
- Domain Driven Design (DDD)
- Software Teaming / Mob Programming
- Kubernetes
- Axon
- CQRS en Event Sourcing