Zo pakken we Product Development aan bij Voys

auteursafbeelding
Hylke de Jong
3 augustus 2023 Clock 4 min

Op 1 januari 2023 zijn Devhouse Spindle en Voys samen verder gegaan onder de naam Voys. Het bundelen van onze krachten zat er al geruime tijd aan te komen en vanuit meerdere opzichten was het een logische stap om te zetten (/spock_mode). Als je meer wilt weten over hoe deze beslissing tot stand is gekomen, kun je er hier en hier alles over lezen.

Spindle als organisatie stond voor iets: een plek waar de nerdcultuur werd omarmd, de perfecte plek om je dag te besteden als developer. Hoe is dat nu, nu Spindle niet meer bestaat?

Nou, ruim een half jaar later is die nerdcultuur nog steeds volop aanwezig en we zijn zeker van plan om de door Spindle ingeslagen weg voort te zetten.

Van Spindle naar Product Development

Spindle is niet met stille trom naar de achterdeur geleid om daarna nooit meer wat van te horen. Al het goeds waar Spindle voor stond, de kennis, de ervaring, de mindset en de engineering cultuur is bij elkaar gevoegd en intern omgedoopt tot Product Development. Als je Spindle al een toffe plek vond, dan kun je Product Development zien als Spindle on steroids. En ik was de gelukkige die deze nieuwe circle mocht gaan leiden.

Groei mogelijk maken

Een onderdeel van je organisatie een andere naam geven werkt natuurlijk alleen op papier. Er zitten verschillende redenaties en doelen achter deze beslissing. Eén van de belangrijkste is een technische reden: onze architectuur.

Lange tijd was de ruggengraat van Voys een monolithische applicatie gebouwd in Django. En daar hebben we heel veel aan te danken. Zeker in de begintijd van Voys heeft het ons in staat gesteld om in relatief korte tijd iets geweldigs neer te zetten. Omdat er gebruik werd gemaakt van één codebase zaten onze developers bijna automatisch op één lijn. Daarnaast was het redelijk eenvoudig om een snel overzicht te krijgen van de applicatie en hoe alle onderdelen met elkaar samenhingen. Waar ging het dan uiteindelijk mis?

We zijn – nogal hard – gegroeid.

Groei komt met uitdagingen en pijn. Lange tijd is het ons gelukt om de groeipijnen te verzachten met de monoliet. Maar op een gegeven moment bereikten we een omslagpunt. Het werd simpelweg te moeilijk, te omslachtig en vooral te complex om de monoliet te onderhouden, uit te bouwen en op te schalen. Dit zorgde er ook voor dat het bouwen en leveren van nieuwe features aan onze gebruikers langzamer verliep. Er was een verandering nodig.

Een blik op de toekomst

Gelukkig waren een aantal rollen binnen Product Development al druk bezig met nadenken over de toekomst. Hoe konden we ervoor zorgen dat de volgende 17 jaar van Voys net zo’n succes zouden worden?

Voor het architectuurvraagstuk werd een oplossing gevonden in microservices. Microservices zitten tegenwoordig nog een beetje in de hoek van de hype. Dat is niet waarom wij ervoor hebben gekozen. Er kleven een aantal grote voordelen aan een microservices architectuur. Wij besloten te gaan voor die voordelen, terwijl we ons tegelijkertijd ook bewust waren van de eventuele nadelen en de uitdagingen die deze verandering met zich mee zou brengen.

Hallo Holodeck

We noemden onze nieuwe architectuur Holodeck, naar de fictieve ruimte uit Star Trek. In die TV serie kan het holodeck gebruikt worden om eenvoudig alles te creëren wat je maar wilt. Dat paste precies bij wat wij verwachten van ons nieuwe microservices platform.

Je architectuur omkatten doe je niet zomaar even. Het komt met een hele reeks aan nieuwe problemen en uitdagingen die je moet oplossen. Gelukkig beginnen we de vruchten al te plukken van onze nieuwe aanpak. We hebben de ontwikkelsnelheid van nieuwe features aanzienlijk verhoogd en tegelijkertijd ervoor gezorgd dat de oplossingen:

  • robuuster;
  • eenvoudiger te schalen;
  • en onderhoudsvriendelijker waren.

Natuurlijk zijn we er nog lang niet, ik denk niet dat we dat ooit kunnen zeggen. Het hebben van een constant bewegend doel om naartoe te werken is een perfect voorbeeld van de Spindle mentaliteit die zijn weg heeft gevonden naar Product Development. Niets is ooit perfect en elke dag weer streven we naar een 1% verbetering.

Zoveel ideeën, zo weinig tijd

Met onze huidige snelheid van ontwikkelen (en we gaan nog steeds sneller!) zijn onze architectuur en het platform ineens geen bottleneck meer voor onze ambities. Op dit moment hebben we meer ideeën dan we redelijkerwijs kunnen realiseren met het team. Waar we dus vooral behoefte aan hebben, is meer collega’s. Niet alleen om te helpen met het bouwen van nieuwe features, maar ook om bij te dragen aan het vormgeven van hoe we ons werk doen. We zijn nog steeds alle voordelen en mogelijkheden van onze nieuwe architectuur aan het ontdekken en hoe we deze optimaal kunnen inzetten.

Vrijheid en verantwoordelijkheid

Binnen Voys werken we holacratisch, dus volledig zelfsturend. Dit betekent dat je zelf veel invloed hebt op hoe je jouw werk het beste kunt doen. We willen een werkomgeving creëren waarin onze developers het beste uit zichzelf kunnen halen. We geloven in de DevOps benadering (de daadwerkelijke cultuur, niet de slide in je presentatie met de logo’s van alle tools die je gebruikt). Door middel van korte feedbackloops en snel inspelen op nieuwe inzichten leveren we een steeds beter product aan onze klanten. Dit alles met veel vrijheid en verantwoordelijkheid om keuzes te maken die volgens jou het beste werken.

Iets voor jou?

Als mijn verhaal je interesse heeft gewekt, schroom dan vooral niet en stuur een berichtje. We maken graag kennis met andere developers onder het genot van een kopje koffie 🙂. Als je meer wilt weten over onze huidige techstack en wat we specifiek verwachten van onze developers, kijk dan vooral ook even bij onze vacatures. Hopelijk tot snel!

Meer verhalen lezen?

In de afgelopen jaren hebben we veel geschreven over ondernemen, zelfsturend werken, de handigste tools en nog veel meer. Dus leef je uit!

Van 26 mei 2023

Een developer-vriendelijk Kubernetes platform creëren met GitOps

Van 26 mei 2023

Met deze technieken ontwikkelden wij onze nieuwe microservice platformarchitectuur