Een applicatie die jaren meegaat, vraagt soms om meer dan een nieuwe feature. Als Java Developer bij Dienst Uitvoering Onderwijs (DUO) pak je bestaande applicaties grondig aan: je vernieuwt frameworks, refactort code en zorgt dat technische schuld niet wordt doorgeschoven naar het volgende team. Je start in een nieuw team dat zich door een landschap van meer dan 50 applicaties beweegt. Daardoor werk je steeds aan een ander technisch vraagstuk én krijg je veel ruimte om samen te bepalen hoe jullie dat aanpakken.
Jouw rol
Je start in een nieuw team dat werkt aan Registratie Instellingen en Opleidingen (RIO), het DUO-register met gegevens over onderwijsinstellingen en opleidingen in Nederland. Achter dat register zit een landschap van meer dan 50 applicaties. Samen met je team pak je die applicaties één voor één aan: je vernieuwt frameworks, refactort code en bouwt technische schuld af.
Dit is nadrukkelijk geen beheerteam. Samen met twee andere Java Developers en een Test Automation Engineer pak je applicaties één voor één aan. Je onderzoekt eerst wat er technisch nodig is. Bij de ene applicatie betekent dat een flinke refactoring van de codebase, terwijl een andere vooral nieuwe versies van frameworks en afhankelijkheden nodig heeft.
Daarbij kijk je verder dan de wijziging die op dat moment voor je ligt. Je brengt technische schuld terug, past Clean Code-principes toe en zorgt dat de applicatie na jullie werk weer aansluit bij de actuele technische standaarden. Frameworks brengen jullie bijvoorbeeld naar n-1.
Goede tests zijn daarbij belangrijk. Veel applicaties hebben nu nog onvoldoende geautomatiseerde testdekking om grote wijzigingen veilig uit te voeren. Daarom werk je nauw samen met de Test Automation Engineer om die basis op te bouwen of bestaande tests te verbeteren. Waar het past, werken jullie volgens TDD. Zo kun je refactoren zonder bij iedere wijziging te hoeven hopen dat ergens anders niets breekt.
Je werkt voornamelijk met Java, Spring Boot en Hibernate/JPA. Daarnaast kom je PostgreSQL, REST API's en SOAP-koppelingen tegen en aan de frontendkant Angular. De technische kaders staan vast, maar als nieuw team krijgen jullie veel vrijheid in de aanpak van refactoring, CI/CD en testen.
Is een applicatie technisch weer op orde en opnieuw uitgerold? Dan pak je de volgende. Als Java Developer krijg je daardoor in relatief korte tijd verschillende applicaties, architecturen en technische vraagstukken te zien.