Job Description
In het kort: Je gaat als Software Engineer Kotlin/Java werken aan de doorontwikkeling en het onderhoud van backend services voor de Basisregistratie Kadaster, waarbij je software ontwerpt, test en documenteert binnen een Agile scrumteam.KadasterHet Kadaster heeft de wettelijke taak om van al het vastgoed (grond en gebouwen) in Nederland te registreren wie welke (eigendoms)rechten heeft. Een essentieel onderdeel van die registratie wordt gevormd door de Basisregistratie Kadaster (BRK). Notarissen gebruiken de BRK om onderzoek te doen dat nodig is om akten op te kunnen stellen en te controleren of jouw aankoop zonder zorgen gepasseerd kan worden. Het is daarbij essentieel dat de informatie in de BRK klopt. Naast notarissen maken ook veel andere instanties om verschillende redenen gebruik van de BRK. Denk aan gemeentes, provincies, gerechtsdeurwaarders en het CBS.OpdrachtHet team KOERS is op zoek naar een Software Engineer Kotlin/Java. De applicatie KOERS vormt het hart van de BRK. In simpele termen: KOERS houdt voor ieder perceel in Nederland bij van wie het is. Dagelijks worden duizenden aktes zoals hypotheken en overdrachten, door notarissen aangeboden en in KOERS verwerkt. Het domein kent zo’n 150 varianten, waarbij je naast overdrachten ook moet denken aan complexere aktes zoals herverkavelingen en bankenfusies.Als ontwikkelaar in het KOERS-team ben je niet alleen verantwoordelijk voor de doorontwikkeling van het systeem, zoals het project scheepsregistratie (ja, het Kadaster registreert ook schepen!), maar ook voor de operations. Een nullpointer exceptie bij de verwerking van een akte? Jij ziet dat in onze alerting, maakt een pull request aan om het te op te lossen en je releast dit na review via onze grondige testset in de continuous delivery pipeline direct naar productie. Akte verwerkt!Koers bestaat uit zo’n 25 veelal Spring Boot microservices geschreven in Java en Kotlin. Data persistence (en messenging) wordt verzorgd door middel van event sourcing, domain driven design en CQRS, met behulp van het Axon Framework. Door gebeurtenissen (events) voor bijvoorbeeld een perceel sequentieel op te slaan weten we niet alleen wie nu eigenaar is, maar ook wie een jaar geleden eigenaar was. Daarnaast maken we sinds kort gebruik van Github Copilot om ons ontwikkelwerk te versnellen.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 toolsProgrammeertalen: Java (21+), Kotlin, Bash, Kubernetes, (Scala)Web frameworks: Spring (incl. Spring Boot, Spring MVC, Spring Cloud Gateway), JavalinDatabase en integratie: SQL (PostgreSQL), Database-integratie met Hibernate & JDBC, CQRS en event sourcing (Axon Framework)Webservices: REST, SOAP, XML, JSONDevOps en Continuous Delivery: Docker, Kubernetes, Azure, OpenShift, Helm, Tekton, ArgoCD, Continuous Integration / Delivery, SonarQube, Git, TrivyTesting: Spring Test, JUnit, Mockito, Wiremock, Kluent, AssertJMessenging: Axon ServerMonitoring en logging: Grafana, Prometheus, LokiProjectmanagement en samenwerking: Agile/Scrum, Jira, Git, Gitea, Artifactory, Slack, Microsoft Teams,AI Tooling: Github CopilotDe Belangrijkste Taken En Verantwoordelijkheden Zijn– 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)Competenties– Kwaliteitsgerichtheid;– Proactief en initiatiefrijk;– Communicatief vaardig;– Teamspeler.Functie-eisen– De inschrijver sluit een driepartijen detacheringsovereenkomst af, waarbij de inschrijver als werkgever van de inhuurkracht, de inhuurkracht als betrokkene en het Kadaster als inlener ondertekent. Let wel, de inschrijver en de inhuurkracht dienen hiervoor een (civielrechtelijke) arbeidsovereenkomst te hebben gesloten. Indien de inschrijver niet aan deze eis voldoet, wordt de inschrijving ter zijde gelegd. – Het CV dient in het Nederlands te zijn opgesteld en mag niet langer zijn dan maximaal 10 pagina’s A4. De motivaties op de eisen en de antwoorden op de gunningscriteria dienen ook binnen dit aantal pagina’s te worden beantwoord. – De kandidaat beheerst de Nederlandse taal vloeiend, in woord en geschrift. – HBO/WO Werk- en denkniveau. – Minstens 5 jaar ervaring in een moderne Java / Spring Boot omgeving. – Minimaal 3 jaar ervaring met Kotlin. – Minstens 5 jaar ervaring met het schrijven van unittests en integratietesten. – Minstens 5 jaar ervaring en kennis van RDBMS en SQL. – Minstens 3 jaar ervaring met het opzetten, aanpassen en inrichten van containergebaseerde workloads in een microservice-architectuur met behulp van build, release en deploy pipelines. – Minstens 3 jaar ervaring met het gebruiken van Kubernetes, Openshift of vergelijkbaar op de command line (Kubectl e.d.). – Minstens 2 jaar ervaring met Tekton, Gitlab CI, Github Actions of vergelijkbaar (Jenkins uitgesloten). – Minstens 3 jaar ervaring met Continuous Delivery. – Minstens 3 jaar ervaring met operations van een productieomgeving (dwz: actief monitoren van productie en ingrijpen als er wat misgaat). – Minimaal 2 jaar ervaring met PostgresSQL. – Het Kadaster verplicht geselecteerde Inschrijver haar in te zetten kandidaat een geheimhoudingsverklaring (zie bijlage 2c) te laten tekenen. De geheimhoudingsverklaring dient bij het Kadaster ondertekend in het bezit te zijn bij aanvang van de werkzaamheden. – De opdrachtgever zal om een Verklaring Omtrent het Gedrag (VOG) vragen. – Indien opdrachtnemer personeel ter beschikking stelt, staat opdrachtnemer in het handelsregister geregistreerd als bedrijf dat personeel ter beschikking stelt (conform Waadi).Functie-voorstelLET OP: Op basis van de wensen van onze opdrachtgever wordt bepaald of je eventueel wordt uitgenodigd voor een selectiegesprek. Het is dus noodzakelijk dat je ook op de wensen een sterke match hebt.– U omschrijft op basis van uw competenties en ervaringen uit het verleden zo goed mogelijk de manier waarop u binnen het team een bijdrage wilt leveren tijdens de verschillende agile meetings (daily stand-ups, retrospectives, sprint reviews, refinements). Beoordeling: hoe beter het gedrag / opstelling van de kandidaat een goede aanvulling lijkt binnen de bestaande teamdynamiek, hoe hoger de score. – U beschrijft wat uw ervaring in Continuous Delivery en Operations is geweest, en op welke manier uw persoonlijke bijdrage hieraan meerwaarde heeft gehad bij eerdere opdrachten. – U beschrijft wat uw ervaring in Kubernetes / Openshift of vergelijkbaar is geweest, en op welke manier uw persoonlijke bijdrage hieraan meerwaarde heeft gehad bij eerdere opdrachten. – U beschrijft wat uw ervaring is met event sourcing en CQRS: Axon Framework en basisregistraties. – Kwaliteitsgerichtheid. – Proactief en initiatiefrijk. – Communicatief vaardig. – Teamspeler.De sluitingsdatum van deze opdracht is de harde deadline van onze opdrachtgever.Om je krachtig voor te kunnen dragen hebben wij minimaal één werkdag nodig om samen met jou alle bescheiden in orde te maken.Wanneer je interesse hebt in deze opdracht en overtuigd bent van een sterke match, reageer dan direct!Naast een actueel en op de opdracht gericht CV zullen wij altijd vragen om een bondige persoonlijke motivatiebrief (inclusief een toelichting per functie-eis en -wens) en een indicatief uurtarief/maandloon.Op basis van deze informatie kunnen wij voor je aan de slag! We nemen contact met je op om alle verdere details goed door te nemen en duidelijke afspraken met je te maken.5cd8a0b9cc68f9ffa4c9253553278a55wer
Job Application Tips
- Tailor your resume to highlight relevant experience for this position
- Write a compelling cover letter that addresses the specific requirements
- Research the company culture and values before applying
- Prepare examples of your work that demonstrate your skills
- Follow up on your application after a reasonable time period