REGMINER & WILCO.

In de wandelgangen ontstaan vaak vette ideeën die Deloitte tot leven wil brengen.

Frontend Lead @ RegMiner

REGMINER & HEADFWD.

RegMiner is zo’n idee. RegMiner is een platform waarin klanten van Deloitte alle wet- en regelgevingen van de wereld kunnen beheren, notities aan toe kunnen voegen en checklists kunnen maken voor hun bedrijf. Ze hebben dus alle wet- en regelgevingen die voor hen belangrijk zijn in één overzichtelijke applicatie staan.”

Wilco werd ongeveer een jaar geleden bij het project gehaald als frontend lead, omdat ze snel een tweede allround developer nodig hadden. Zijn kennis van AI en machine learning werd gezien als een dikke bonus. Ze hadden grafische designs en voorbeelden liggen van hoe de tool eruit moest komen te zien, maar er zat nog geen techniek achter. Dat was de taak van Wilco om dat te verzorgen. Hij moest er samen met een andere developer voor gaan zorgen dat de ontwerpen tot leven kwam. De technische uitdaging was daarbij groot omdat er praktisch nog niets aan code geschreven was en er snel iets opgeleverd moest worden.

Wat is jouw grootste verdienste geweest binnen dit project?

“Ik denk dat dat de interactieve document viewer is die ik ontwikkeld heb. RegMiner geeft dus alle wet- en regelgevingen van de hele wereld weer die belangrijk zijn voor een bedrijf. Deze documenten worden bij ons aangeleverd in verschillende formaten, bijvoorbeeld als PDF. De grootste inbreng die ik heb gehad binnen dit project is dat ik een viewer heb ontwikkeld waarbij de originele documenten in hun originele vorm worden weergegeven met daarbovenop een laag voor gebruikers interactie.”

 

Hoe heb je dit voor elkaar gekregen?

“Nou, in eerste instantie hadden we de content in standaard HTML elementen, maar daarna kwamen we tot de conclusie dat we toch liever de originele documenten wilden laten zien. Dat was een grote technische uitdaging. Je kan een PDF wel in de browser renderen, maar dat is vrij zwaar voor de browser. Al helemaal als je hier je eigen laag nog bovenop wil gooien. Dus dat was geen optie. We hebben er uiteindelijk voor gekozen om de documenten op te breken in individuele paginas, die per stuk als image naar de frontend worden gestuurd. Het was een uitdaging om deze plaatjes efficiënt in de frontend te renderen. Want hoe zorg je ervoor dat je alleen de plaatjes laat zien die de gebruiker wil zien?”

Wil je ons verklappen hoe je dat gedaan hebt?

“Ja hoor. We hebben een virtual scroller gemaakt met React en deze ingebouwd in RegMiner. De scroller rendert alleen de pagina’s waar de gebruiker op dat moment naar aan het kijken is. En omdat het uiteindelijk gewoon html is, kunnen we onze eigen divs erbovenop knallen. Dit was behoorlijk complex op het gebied van state management: als je een stuk tekst selecteert en je scrollt weg, dan verdwijnt dat blok uit het geheugen, maar als je terug scrollt dan komt het blok weer terug en dan moet hij nog steeds geselecteerd zijn. Ik vind het vet dat dit gelukt is, het was wel een uitdaging voor mij.”

 

Waren er nog andere grote uitdagingen binnen dit project?

“Genoeg, er waren veel uitdagingen binnen dit project. Na 6-7 maanden kwamen we op het punt dat we echt een werkbaar platform moesten gaan neerzetten, omdat de klant het wilde gaan gebruiken. Dan kom je veel problemen tegen zoals schaalbaarheid en security. We konden niet zomaar meer aanrommelen en workarounds inzetten, we moesten het echt dicht gaan bouwen. Ow, en we kwamen erachter dat er nog even een heel nieuw tweede management systeem ontwikkeld moet worden, maar dat is juist ook weer gaaf. Het was een intense periode met ook veel persoonlijke uitdagingen.”

“De vrijheid die ik heb gekregen is echt bizar”

Frontend Lead @ RegMiner

Je hebt er al een paar genoemd, maar kan je nog wat meer vertellen over de technieken waar je mee werkt?

“Ik ben de lead van het team, dus het is 100% aan mij om te kiezen met welke technieken we werken, dat is wel nice. Zo werken we met Kubernetes, React en GraphQL. In oktober 2018 kwam er een nieuwe techniek uit binnen React: Hooks. Dat hebben we gelijk in het platform geïntegreerd. Het was nog in alpha, dus dat was best wel riskant. Maar wij hadden er als team een goed gevoel bij. Je hoort niet vaak dat je zo’n nieuwe techniek dan meteen mag integreren, dus dat maakt werken voor Deloitte Innovation wel gaaf.

Maar er is ook ruimte voor eigen achievements, zoals bijvoorbeeld die interactive document viewer die ik heb ontwikkeld. Deze heb ik trouwens op GitHub gezet en gepubliceerd als npm package. Ik vind het vet dat die dingen kunnen binnen dit project.”



Waarom ben je enthousiast over dit project?

“De vrijheid, de vrijheid die ik heb gekregen is bizar. Het is een heel iteratief project wat steeds verandert. Geen één dag is hetzelfde en dat maakt het gaaf. Maar ook de band met de collega’s is leuk. We zitten niet op het hoofdkantoor van Deloitte, maar in een zeecontainer van de Startup Village in Amsterdam. De eerste dag dat we hier kwamen zijn we laminaat gaan halen bij de IKEA, totaal niet waar ik voor ben ingehuurd, maar het was wel lachen.

Ik vind het gaaf om projecten van scratch op te zetten en dat kon hier. Regminer staat nu bijna, dus over twee maanden ga ik het project verlaten. Ik vind het leuk om binnenkort weer met een ander project aan de slag te gaan, ik wil niet te lang op één plek blijven zitten. Maar ik ga eerst lekker twee maanden met de motor door Scandinavië touren, zulke dingen kunnen gewoon bij HeadFWD.”

Waarom zou iedere developer aanraden om bij HeadFWD te komen werken?

“HeadFWD is een hele open club waar er voor iedere developer ruimte is om zichzelf te ontwikkelen. En ik vind dat nice, ik ben altijd bezig met nieuwe technieken proberen en mijn eigen ideeën uit te zoeken, dat kan allemaal binnen HeadFWD. En daarnaast wil ik zelf niet zo’n grote scheiding hebben tussen werk en privé. Ik zie de gasten van HeadFWD als mijn vrienden, we gaan ook samen naar festivals bijvoorbeeld. Binnen de groep is er een hele brede interesse, voor iedereen is er ruimte. Alle collega’s worden gerespecteerd en dat maakt het uniek.”

Meer weten?

Laat dan hieronder jouw telefoonnummer achter, dan nemen wij vrijblijvend contact met jou op.