Senior Frontend Engineer - van maart 2024 - nu
Bij GlobalOrange werk ik aan uiteenlopende projecten. Ik begon met het overnemen van een React-gebaseerd platform waarmee klanten hun ruimtegebruik konden monitoren. Het platform had slechte prestaties, dus samen met een backend engineer pakten we problemen aan zoals hardcoded datavisualisatie, gigantische API-calls en afbeeldingen die geladen werden terwijl ze achter ingeklapte accordions zaten. Stap voor stap verbeterden we zowel de prestaties als het ontwerp.
Daarna volgde een NextJS- en Contentful-project voor een sportschool keten met meerdere merken verspreid over Amsterdam. Zij gebruikten een extern systeem voor gebruikersdata, clubinformatie en lidmaatschapsaanbiedingen, maar dat kon niet alles leveren wat we nodig hadden voor de frontend. Daarom spiegelden we content types in Contentful op basis van ID, vulden daar de ontbrekende velden in en mergden beide data sources bij elke frontend-call.
Een van de gaafste dingen die ik hier heb gebouwd is de GO AI Reviewer, een interne GitHub App die code reviews automatiseert over alle repositories van GlobalOrange met behulp van AI. In plaats van in elke repo dezelfde review-scripts te onderhouden, wordt deze app eenmalig per organisatie geinstalleerd en regelt alles centraal. Het ondersteunt meerdere LLM-providers (OpenAI, Anthropic, Google Gemini) via de Vercel AI SDK, draait serverless op AWS met Lambda en SQS, en heeft een React-dashboard waarmee teams hun favoriete model kunnen instellen, kosten kunnen bijhouden en custom review-instructies per repo kunnen beheren. De reviewer is ook slim: hij dedupliceert comments met fingerprinting, reviewt bij nieuwe pushes alleen de nieuwe wijzigingen en brengt feedback die developers al hebben opgelost nooit opnieuw naar voren. Ik heb dit gebouwd als een volledige TypeScript-monorepo met Hono, Drizzle ORM, AWS CDK voor de infrastructuur en CircleCI voor deployments.
In mijn werk neem ik de leiding over alles wat met de frontend te maken heeft. Of het nu gaat om het interviewen van potentiele nieuwe collega's, het standaardiseren van best practices en architectuur, of het zorgen dat functies correct worden vertaald van ontwerp naar Jira en uiteindelijk naar het web.
Daarnaast houd ik mij ook bezig met het verbeteren van onze "cookiecutter" op frontend-gebied. Dit is een gestandaardiseerd skelet voor een nieuw project. Hierdoor zijn allerlei code-standaarden, packages en bijvoorbeeld routing al geconfigureerd. Dit zorgt voor een snelle start van een nieuw project en worden vragen zoals "wat voor library zullen we nu eens gebruiken" weggenomen.
Frontend Engineer - van januari 2022 - februari 2024
Als Frontend Engineer bij OneWelcome/Thales ontwierp ik de frontend voor onze belangrijkste React applicaties en zorgde ik ervoor dat Redux effectief werd geïmplementeerd voor schaalbare en maintainable code. Ik nam het voortouw bij het opzetten van een microfrontend-architectuur met Webpack Module Federation, waardoor teams apart van elkaar applicaties konden ontwikkelen. Deze werden dan doormiddel van een container applicatie samengevoegd.
Een van mijn opvallende bijdragen was het creëren van re-usable npm packages die de duplicatie van code aanzienlijk verminderden. Zo ontwikkelde ik bijvoorbeeld een OIDC-authentication package en een microfrontend-events package om de interacties naar en vanuit de microfrontend hostcontainer makkelijker te maken.
Ons team beheerde een uitgebreide React component library. Deze werd getoond in een instance van Storybook. Ik ging een stap verder door de component library te verbeteren met een custom Storybook-plugin, waarmee gebruikers eenvoudig verschillende aspecten van componenten, zoals kleuren en font sizes, konden configureren. Dit zorgde ervoor dat onze toepassingen niet alleen functioneel waren, maar ook visueel consistent en in lijn met onze design standaarden.
Kwaliteit stond hoog in het vaandel binnen ons frontend-ontwikkelingsteam. We voerden een rigoureus code review-proces uit en hielden ons aan best practices op het gebied van prestatieoptimalisatie, accessibility en responsive design. Ons gezamenlijke doel was om consequent een uitstekende gebruikerservaring te leveren.
Frontend Developer - van februari 2018 - december 2021
Begin 2018, toen ik als junior frontend developer startte, was ik verantwoordelijk voor het creëren, configureren en onderhouden van WordPress-websites en Magento 2-webshops. Onze designer leverde de ontwerpen, en wij kregen de opdracht deze om te zetten naar interactieve websites die zowel op moderne als oudere browsers werkten (tot en met Internet Explorer 11). In de eerste 8 tot 9 maanden heb ik veel geleerd van mijn collega's en ben ik enorm gegroeid.
Toen mijn collega frontend developer na 8 maanden vertrok, werd ik de enige die de frontend-implementaties voor Magento 2 verzorgde. Hoewel we een full-stack developer hadden voor de WordPress-projecten die kon helpen als ik echt vastliep, breidde mijn rol aanzienlijk uit. Ik leidde initiatieven om de kwaliteit en prestaties van onze webapplicaties te waarborgen, terwijl ik bleef werken aan website-ontwikkeling. Daarnaast kreeg ik de kans om onze ontwikkelaarservaring te verbeteren door een standaardthema voor Magento 2 te creëren en configuraties en setups te standaardiseren.
Mijn werkzaamheden reikten verder dan dat: ik hield me bezig met VPS-configuraties en de ontwikkeling van progressive web apps met technologieën zoals VueJS en NuxtJS. Een opvallend project was het transformeren van WordPress naar een headless CMS en dit naadloos integreren met onze op NuxtJS gebaseerde PWA-oplossing. Bovendien begeleidde ik junior en stagiair frontend developers, waarbij ik hen ondersteunde bij code reviews en hun professionele groei stimuleerde.
