Adres
Utrecht, Veenendaal

Werktijden
Maandag tot en met vrijdag: 9.00 tot 17.00 uur
Weekend: 10.00 tot 17.00 uur

Zes jaar bij Qfact, van 2018 tot 2024, aan één microservices-SaaS-platform dat dagelijks door duizenden mensen wordt gebruikt voor complexe analyses. Ik groeide van bouwen naar het aansturen van vier developers daarop.

  • OpdrachtgeverQfact, een SaaS-platform voor complexe analyses
  • PeriodeZes jaar bij Qfact, 2018 tot 2024
  • RolSoftware engineer, daarna lead
  • TeamVier developers die direct aan mij rapporteerden
  • SchaalDuizenden dagelijkse gebruikers
  • Ik gaf leiding aan vier developers die direct aan mij rapporteerden en nam twee mensen aan die lang bleven.
  • Ik introduceerde meetbare sprint velocity waar die ontbrak, en nam CI/CD, testautomatisering, demo's en de roadmap voor mijn rekening.
  • Ik verhielp hele categorieën bugs die gebruikers raakten met gerichte fixes, en ze kwamen niet terug.

Context

Qfact verkoopt een SaaS-platform voor complexe analyses. De organisaties die het gebruiken vertrouwen op wat het hun vertelt, en sommige moeten zich daarvoor verantwoorden bij een toezichthouder. Ik kwam binnen als engineer en vertrok als lead, dus ik maakte de hele boog mee: de architectuurbeslissingen, de gevolgen ervan en het team dat met beide leefde.

De uitdaging

Een platform dat jaren draait, valt niet luidruchtig uit. Het wordt trager, de services krijgen verantwoordelijkheden die ergens anders horen, en levering wordt minder voorspelbaar zonder dat iemand kan zeggen wanneer dat begon. Tegelijk moet het overeind blijven en featurewerk blijven opnemen, want er zitten duizenden mensen in terwijl je het verandert.

Wat ik deed

  • Ik bouwde en beheerde services door het hele landschap, in Node.js, TypeScript en Python, van de datalaag via de API's tot de Vue.js-applicatie erbovenop. Full stack, op een systeem waarvoor ik end-to-end verantwoordelijk was.
  • Gaf leiding aan vier developers die direct aan mij rapporteerden, en nam twee mensen aan die er nog steeds werken. Leidinggeven blijkt jaren later, uit wie er bleef.
  • Introduceerde meetbare sprint velocity, waar die er niet was, wat het team een echte basis gaf voor wat in een sprint past en stakeholders een datum gaf die ze konden geloven.
  • Nam de leveringsbetrouwbaarheid voor mijn rekening, via testautomatisering en CI/CD, plus de demo's, de roadmap en de sprintleiding eromheen.
  • Leidde ontwerpsessies, en hield de architectuurbeslissingen expliciet, zodat keuzes één keer werden gemaakt, met de redenering zichtbaar, in plaats van steeds opnieuw in review beslecht.
  • Sloot terugkerende bugcategorieën af, met gerichte fixes, en ze kwamen niet terug.

Het resultaat

  • Een platform waar duizenden mensen dagelijks op vertrouwen, bleef schalen en bleef opleveren.
  • Vier developers aangestuurd, twee vaste aanstellingen, en een team met een leverritme dat het kon meten.
  • Bugs die keer op keer waren opgelapt, nu bij de oorzaak verholpen.

Gebruikte technologieën

  • Node.js: De kernservices van het platform.
  • TypeScript: De taal in al die services.
  • Python: Het data-analysewerk.
  • Microservices: De architectuur van het hele platform.
  • Event sourcing: Persistentie van de business logic en de bijbehorende audit trail.
  • GraphQL: De API-laag over het platform.
  • OAuth 2.0: Autorisatie tussen de platformservices en de clients die ze aanroepen.
  • MySQL: Relationele data en rapportage.
  • MongoDB: Documentdata en read models.
  • Cassandra: Het event log.
  • Elasticsearch: Zoeken door de content van het platform.
  • RabbitMQ: Messaging tussen de services.
  • Docker: Het verpakken van services.
  • Kubernetes: Orkestratie van het servicelandschap.
  • CI/CD: De delivery pipelines die ik beheerde.
  • Jest: Geautomatiseerde testdekking.
  • Vue.js: De applicatielaag boven op het platform.
  • SCRUM: Hoe het team werkte, en wat ik aanstuurde.

Zes jaar aan één systeem leert je welke beslissingen goed verouderen, en dat breng ik graag mee naar een platform dat je al hebt.