Hoe onze geavanceerde engineeringtools meeslepende werelden vormgeven

- Als grootschalig platform met 85,3 miljoen dagelijkse actieve gebruikers* biedt Roblox een breed scala aan ervaringen met hoge betrouwbaarheid en lage latentie. Het bereiken van dit prestatieniveau is afhankelijk van geavanceerde engineeringtools en -processen die soepel en gestroomlijnd zijn en voortdurend de grenzen van innovatie verleggen.
- Meer dan 1.000 Roblox-ingenieurs maken gebruik van drie hoofdproducten: ons platform voor de levenscyclus van microservices, ons codecentrum en ons geavanceerde observability-platform.
- We hebben de downtime aanzienlijk verminderd en de gemiddelde tijd om problemen op te lossen in twee opeenvolgende jaren met 50% teruggebracht.
- Onze nieuw ontwikkelde engineeringproductiviteitsindex (EPI) biedt een uitgebreid overzicht van onze engineeringinspanningen, en in het vierde kwartaal van 2024 verbeterde de totale EPI met 12,9% ten opzichte van dezelfde periode vorig jaar.
Bij Roblox herontwerpen we de manier waarop mensen verbinding maken en communiceren in meeslepende werelden. Het is een ambitieus streven en om dit te realiseren is een breed scala aan innovatieve en toonaangevende infrastructuur nodig.
Roblox is een wereldwijd platform en onze 85,3 miljoen dagelijkse actieve gebruikers* kunnen in realtime met elkaar communiceren in vele verschillende talen, via verschillende platforms en apparaten, van eenvoudige Android-telefoons tot geavanceerde consoles. We ondersteunen talrijke vormen van content – tekst, spraak, 3D-data en meer – allemaal met een uiterst hoge betrouwbaarheid en lage latentie.
Om aan deze gespecialiseerde behoeften te kunnen voldoen, vertrouwen onze engineers op soepele, gestroomlijnde en betrouwbare tools en processen, waarvan we de meeste zelf hebben gebouwd. Vandaag presenteren we met veel plezier enkele van de innovatieve tools en strategieën die we gebruiken om de toekomst van Roblox vorm te geven, evenals een voorproefje van enkele tools die we binnenkort gaan bouwen. Met snelle en efficiënte tools en werkwijzen als deze is het ons doel om van Roblox een zeer aantrekkelijke bestemming voor talent te maken.
Innoveren met geavanceerde engineeringtools
De kern van onze strategie voor engineeringproductiviteit wordt gevormd door drie tools: ons microservice-levenscyclusplatform, ons codecentrum – een ontwikkeltool voor de inner loop – en ons geavanceerde observability-platform. Samen stellen deze tools meer dan duizend Roblox-engineers in staat om uitdagende problemen aan te pakken.
Platform voor applicatielevenscyclusbeheer
Ons platform voor applicatielevenscyclusbeheer is een zelfontwikkelde microservice waarmee engineers eenvoudig duizenden microservices kunnen maken, implementeren, monitoren en debuggen – allemaal in één gestroomlijnde interface. Vóór de komst van dit platform ging het beheer van microservices bij Roblox gepaard met een steile leercurve, inefficiënte handmatige processen en veelvuldig schakelen tussen interne tools.
Het platform voor applicatielevenscyclusbeheer maakte hier een einde aan en stelde onze engineers in staat om minder tijd te besteden aan het beheren van tools en processen en meer tijd aan het oplossen van complexe technische uitdagingen, het verbeteren van systemen en het leveren van impactvolle functies voor onze gebruikers.

Code Center
Ons codecentrum is binnen Roblox ontworpen om onze interne processen te verfijnen en heeft het tijdrovende proces en de wrijving die engineers ondervonden tijdens codereviews verminderd. De tool versnelt reviews en verbetert de communicatie via realtime Slack-meldingen en geplande overzichten. Op deze manier zorgt de tool voor tijdige feedback, wat leidt tot codereviews van hogere kwaliteit en snellere iteratie.
Het codecentrum is al snel een onmisbare tool geworden voor Roblox-engineers die hun codeeractiviteiten willen optimaliseren. Bij pull-verzoeken is de P75-tijd die nodig is om wijzigingen door te voeren al met 20% verbeterd.

Geavanceerd observability-platform
Ons geavanceerde observability-platform integreert naadloos eigen, open-source en leveranciersoplossingen en biedt een zeer gespecialiseerde infrastructuur met een sterke focus op betrouwbaarheid en schaalbaarheid. Elke dag verzamelt deze infrastructuur miljarden tijdreeksen en tientallen terabytes aan gestructureerde runtime-informatie – logs, traces, systeemgebeurtenissen, profileringsgegevens en meer – die onze engineers helpen om efficiënt en met vertrouwen te monitoren, debuggen en testen.
Tegelijkertijd zijn we ook toegewijd aan het onderzoeken hoe automatisering en AI onze processen verder kunnen verbeteren. Zo hebben we bijvoorbeeld een uitgebreide set standaardwaarschuwingen geïntegreerd voor latentie, verkeer, fouten en verzadiging in meer dan 1.500 microservices met behulp van ons gemeenschappelijke microservice-framework, en dat alles zonder ook maar één regel code. We hebben ook ons systeem voor continue implementatie verbeterd met geautomatiseerde canary-analyse, waardoor in de eerste zes maanden na de lancering al met succes is voorkomen dat honderden bugs onze productieomgeving bereikten.
Deze innovaties hebben niet alleen een grote impact intern, maar verbeteren ook de dagelijkse ervaring van Roblox-gebruikers. We hebben de downtime aanzienlijk verminderd en de gemiddelde tijd om problemen op te lossen (MTTM) in twee opeenvolgende jaren consistent met 50% teruggebracht. Het eindresultaat is een naadlozere en betrouwbaardere ervaring voor iedereen in ons ecosysteem.

Het meten en verbeteren van de productiviteit van engineering
Het bouwen van tools heeft weinig zin als er geen manier is om te bepalen of ze werken. Daarom hebben we hard gewerkt om de productiviteit bij Roblox te verbeteren en tegelijkertijd inzicht te krijgen in de productiviteit bij Roblox en de factoren die hierop van invloed zijn.
Daartoe biedt onze nieuw ontwikkelde engineeringproductiviteitsindex (EPI) een uitgebreid overzicht van onze engineeringinspanningen, vergelijkbaar met hoe het dashboard van een auto een overzicht geeft van de prestaties en de staat van het voertuig.
In het vierde kwartaal van 2024 hebben we de totale EPI met 12,9% verbeterd ten opzichte van vorig jaar, voornamelijk dankzij de snelheid, terwijl we dezelfde kwaliteitsnormen hebben gehandhaafd.

Hoewel deze maatstaf eenvoudiger en beter toepasbaar is voor Roblox-doeleinden dan frameworks zoals DORA of SPACE, biedt deze een holistische evaluatie van de productiviteit binnen onze talloze groepen en ontwikkelaarsarchetypen, zoals Engine en ML. We gebruiken de EPI om gerichte feedback en aanbevelingen te geven die teams in staat stellen hun productiviteit kwartaal na kwartaal te monitoren en te verhogen.
De EPI bestaat uit drie elementen:
- Snelheid: Dit element meet de snelheid van engineeringactiviteiten door gebruik te maken van een brede reeks signalen, waaronder cyclustijd en implementatiefrequentie, om het tempo van de ontwikkeling te meten.
- Kwaliteit: Dit element is gebaseerd op statistieken zoals codedekking en de gezondheid van de trunk, zodat we weten wat we moeten doen om snel te werken en kwaliteitsproducten te maken.
- Zelfgerapporteerde productiviteit: We vragen voortdurend om directe en gerichte feedback van onze engineers. Deze feedback biedt cruciale inzichten in knelpunten die van invloed zijn op de productiviteit en tevredenheid. Dit soort informatie is essentieel geweest voor het begrijpen van de uitdagingen waarmee onze engineers worden geconfronteerd en kan niet via andere statistieken worden vastgelegd. Dit element helpt ook bij het vormgeven van onze roadmap door onze beslissingen direct te sturen bij het bouwen van oplossingen zoals ons codecentrum en ons platform voor applicatielevenscyclusbeheer.
Elk van deze statistieken speelt een cruciale rol in de algehele productiviteit bij Roblox. We willen bijvoorbeeld geen hoge snelheidsscore en een lage kwaliteitsscore, of vice versa. Door de EPI te verbeteren, kunnen we alle drie optimaliseren.

AI en de volgende grens van engineering
Bij Roblox richten we ons op het vakmanschap van engineering. We geven ook een nieuwe invulling aan de toekomst van engineering door baanbrekend werk te verrichten op het gebied van AI-gestuurde tools die de manier waarop ingenieurs creëren, samenwerken en innoveren, transformeren. Met een niet-aflatend streven naar uitmuntendheid integreren we AI in elk facet van het ontwikkelingsproces door het op te nemen in onze bestaande tools, zoals ons Application Lifecycle Manager-platform en Code Center. We maken gebruik van AI-aangedreven codeerassistenten om het schrijven en beoordelen van code te versnellen, samenwerking opnieuw te definiëren en een revolutie teweeg te brengen in de manier waarop we diensten implementeren en onderhouden.
Onze visie reikt verder dan automatisering; we creëren een engineeringervaring waarin AI fungeert als een proactieve partner, die workflows stroomlijnt, de codekwaliteit verbetert en het sentiment versterkt. Door te investeren in onze inner-loop-ontwikkelingscyclus, proactieve kwaliteitsborging en Roblox-specifieke AI-integraties, effenen we het pad waar engineering-snelheid, innovatie en samenwerking nieuwe hoogten bereiken. De komende jaren zullen een spannende evolutie inluiden en we zijn vastbesloten om van Roblox de ultieme bestemming te maken voor engineers van wereldklasse die graag de volgende generatie meeslepende ervaringen willen bouwen.
* Per de drie maanden eindigend op 31 december 2024.


