Senior Software Engineer

€ 6.000 - € 9.000 bruto per maand · 32-40 uur · Utrecht, naast Utrecht Centraal
Kotlin-backend, full stack met React als doel · Java en C# developers ook welkom

MoneyMonk maakt boekhoudsoftware voor ondernemers en boekhouders: uren, facturen, boekhouding en btw-aangifte in één product. Een team van acht engineers bouwt dat product vanuit een kantoor naast Utrecht Centraal. We zoeken één senior engineer die een eigen stuk van het systeem van analyse tot productie draagt en de reviewkwaliteit van het team omhoog brengt. Ons doel is dat elke engineer de applicatie van database tot scherm draagt. Backend in Kotlin is de basis; de rest leer je hier.

Je bouwt aan het best beoordeelde boekhoudpakket voor ondernemers

Wat je de eerste zes maanden doet

  • Je wordt eigenaar van een eigen lane, van analyse tot productie en daarna. Welke, bepalen we samen op basis van waar jij sterk in bent. Elke lane loopt van database tot scherm, en die hele breedte draag jij. Lanes die nu openstaan:

    Facturen automatisch herkennen en boeken. Een foto of pdf komt binnen; wij halen leverancier, bedragen en btw eruit en boeken hem op de juiste rubriek. Van de herkenning tot het scherm waarin de ondernemer alleen nog hoeft te bevestigen.

    Overzicht voor boekhouders. Een boekhouder met tientallen klanten heeft nu een eerste overzicht, maar duikt voor het echte werk nog per administratie naar binnen. Wij bouwen het overzicht waarin hij in één oogopslag ziet welke administratie aandacht nodig heeft, en de hele werkstroom eromheen: fouten vroeg zien en corrigeren, communiceren met de klant, zo min mogelijk tijd kwijt aan bijwerken.

    De publieke API. Ons OAuth-platform, waarmee boekhouders en koppelpartners op onze data bouwen. Jij bepaalt hoe het verder groeit.

    Fouten herkennen en voorkomen. Software die een verkeerde btw-code, een dubbele factuur of een boeking op de verkeerde rubriek ziet voordat die in de aangifte belandt, en die tegenhoudt of een slimme suggestie doet.

    Van PHP naar Kotlin. Een deel van onze legacy-applicatie overzetten zonder dat klanten er iets van merken: dezelfde boekingen, dezelfde cijfers, gecontroleerd voordat we omschakelen.

  • Je reviewt vanaf maand één. Geschreven, over gedrag en randgevallen, zo dat een collega er zonder navraag mee verder kan.

Waar je aan werkt

  • Kotlin en Spring Boot 4 op Java 21, MySQL, Flyway, en zelfgeschreven SQL in plaats van een ORM. Integratietests draaien tegen echte databases via Testcontainers.


  • Een grote legacy PHP-applicatie die we stap voor stap uitzetten. Je hoeft geen PHP te kunnen schrijven; kunnen lezen is genoeg.


  • Frontend in React 19 met TypeScript. Backend is waar je minimaal thuis bent. Ken je React nog niet, dan krijg je de tijd om het te leren, ook uit je 20% leertijd. Schermen ontwerpen hoef je niet, bouwen wel.


  • Het domein is geld, en geld vergeeft niets. Elke boeking klopt tot op de cent, elke factuur heeft precies één nummer, elke btw-aangifte is in één keer goed. Daarbovenop bouwen we de laag die het werk uit handen neemt: herkennen, voorstellen, voorkomen. Correctheid gaat hier voor snelheid. Domeinkennis leren we je; we selecteren er niet op.


  • We werken dagelijks met AI-assistenten en verwachten dat ook van jou, met één afspraak: elke regel die je oplevert kun je uitleggen en verdedigen.

Wat we van je vragen

  • Een universitaire bèta-opleiding en minimaal vijf jaar hands-on backend-ervaring in Java, Kotlin of C#/.NET. Kotlin en Spring Boot leer je bij ons.

  • Je hebt iets tot in productie gebracht en daarna onderhouden, en je kunt vertellen wat daarbij misging en wat je ervan hebt geleerd.

  • Je schrijft reviewcommentaar dat over gedrag gaat, niet over stijl, en dat een collega direct kan oppakken.

  • Je hebt (een deel van) een systeem dat in productie draaide stap voor stap vervangen of gemigreerd, terwijl gebruikers er gewoon mee doorwerkten.

  • Nederlands is onze werktaal. Je werkt minimaal twee dagen per week op ons kantoor naast Utrecht Centraal.

Een pre, geen eis: ervaring met React en TypeScript. Iedere engineer hier draagt de applicatie uiteindelijk van database tot scherm, en de tijd om daar te komen krijg je.

Wat we bieden

€ 6.000 tot € 9.000 bruto per maand op basis van 40 uur, exclusief vakantiegeld. De hoogte hangt af van wat je meebrengt; voor de juiste senior zitten we aan de bovenkant.

32 tot 40 uur per week.

20% van je werktijd voor leren, € 100 per maand voor boeken en cursussen, en Udemy for Business.

25 vakantiedagen op fulltime basis, 4% werkgeversbijdrage voor je pensioen die je zelf besteedt, en een netto reiskostenvergoeding.

Twee kantoordagen, de overige dagen mag je thuis werken. Op kantoor: lunch, regelmatig een vrijdagmiddagborrel en uitjes, en een Jack Russell.

Hoe we werken

  • Elke dag een korte stand-up: waar werk je aan, waar heb je hulp bij nodig.

  • Elke week een gesprek met de teamlead over jouw project: hoe het gaat, welke keuzes je hebt gemaakt, wat nog onduidelijk is en wat de volgende stappen zijn. Daaruit schrijven we samen een korte voortgangsupdate voor het product- en het supportteam.

  • Elke merge request wordt gereviewd. Wekelijks een retro over het proces of een dev-meeting waarin we samen codeafspraken maken.

  • Geen externe opdrachtgevers, geen overwerk en zo min mogelijk deadlines. We bepalen samen de koers van het product.

Hoe de sollicitatie verloopt

Van eerste gesprek tot aanbod mikken we op tien werkdagen. Na elke stap hoor je binnen twee werkdagen van ons.

  1. Kennismaking (30 minuten, video) met Erik, teamlead engineering. Wat wij zoeken, wat jij zoekt, het salaris, de uren en de kantoordagen.

  2. Reviewopdracht thuis (ongeveer 45 minuten). Je krijgt een echte merge request uit onze codebase met een subtiel probleem erin en schrijft je review zoals je dat op GitLab zou doen. AI-assistenten mag je gebruiken.

  3. Technische sessie (90 minuten, op kantoor) met twee engineers en Erik. We bespreken je review, een systeem dat jij tot in productie hebt gebracht, en hoe je een AI-assistent op deze merge request zou inzetten en wat die zou missen.

  4. Twee gesprekken van 45 minuten: met Jorgen (CTO) over waar het product en het systeem heen gaan, en met Jasper (CEO) over motivatie en samenwerking.

  5. Referentie en aanbod. Wij bellen één voormalig leidinggevende van jou, alleen na jouw toestemming. Daarna het aanbod; het contract volgt binnen twee werkdagen.


Vragen of solliciteren

Neem contact op met Erik Gerrits (teamlead engineering).
Solliciteer je, stuur dan je cv mee.

Catharijnesingel 33
3511 GC Utrecht

Op werkdagen bereikbaar:
9:00 - 12:30 en 13:30 - 17:30

Heb je een vraag over MoneyMonk?
Je kan ons ook e-mailen.

Catharijnesingel 33
3511 GC Utrecht

Op werkdagen bereikbaar:
9:00 - 12:30 en 13:30 - 17:30

Heb je een vraag over MoneyMonk?
Je kan ons ook e-mailen.

Catharijnesingel 33
3511 GC Utrecht

Op werkdagen bereikbaar:
9:00 - 12:30 en 13:30 - 17:30

Heb je een vraag over MoneyMonk?
Je kan ons ook e-mailen.