Repo Lovers is an online magazine made for developers, coders, hackers, makers, tinkers and everything else in between.
What led you to become a developer?
I’m a creative person at heart and I’ve managed to find different ways of expressing that over the years. Next to being a musician I was a fan of video games in the early 2000s. I was curious and I tried modding games like Quake 2 and Half-Life. I experimented with all kinds of different configurations and settings. The action of changing things and seeing the results on the screen was magical.
I decided to go to school to become a nurse as it was a viable fallback option for a musician without a stable income. YouTube only just started and giving online lessons didn’t really exist yet. While at school I freelanced (read: fiddled around) as a web developer and I played music all around the Netherlands. When the Dutch healthcare system changed, the workplace became a pretty negative environment. My teammates and I were unhappy with the changes in the law and we started complaining all the time. Many nurses quit their job. I decided to pursue web development in whatever form I could find it.
I was lucky that my first real job was at a place called Mediamatic. Next to organising art expositions we build community websites for cultural institutions. I was working on social networks back in 2008 and I got the chance to see early oAuth login and registration flows. Some of my senior colleagues actually contributed to the first draft of oAuth.
We created social networks which we connected to form bigger platforms together. You could “like” a page or become friends across communities with the same account. We also connected real life RFID tags to user accounts. The heart shaped tags let people enter art expositions and conferences. It is safe to say that I learnt a lot in my time there.
After Mediamatic I moved on to creative agencies in Amsterdam and Paris. I’ve worked on both e-commerce platforms and campaigns for clients like Chanel, L’Oréal, Hermes, Nike, Google, Heineken, Red Bull, Tommy Hilfiger, Mini, EA Sports and Louis Vuitton.
What’s your setup and development environment?
I work on a MacBook. At work I might plug in to an external monitor if there is one available. For my current job I travel between different client offices and our agency and I don’t have a fixed place. I code where I can, when I can. I use vscode as text editor and Hyper (with zsh) as terminal. You don’t need much as a web developer.
What’s your favorite stack to work with?
At the moment I’m in love with Node, Vue and Nuxt. Both for clients and for personal projects I use this stack most often. Vue has an amazingly mature ecosystem and it’s getting better every day. We use Vue in its most simple form with stateless components that act as native web-components and in its most complex form as an SPA with SSR, lazy loading code chunks and PWA features.
What are your top 5 go-to repos?
What technologies are you most excited about now?
There are a couple. I’m excited about how front-end technology is maturing and that their scope is getting bigger. For example: I coded a desktop app the other day using Electron and Vue. And at work we used React native to create an iPhone app without any issues. The usage of front-end technologies is growing fast and it is becoming a focus point in projects. If you wanted to learn programming, learn front-end. It's the best long-term investment for new developers and students.
My second interest lies is in the change from monolithic systems to micro services. A lot of our clients are moving away from the big software giants from the past. We help them reduce their all-consuming systems into a simple data store by adding a REST API layer. To this API we connect a bunch of smaller services that can feed the front-end. The front-end now has the control over the view layer. Micro services have their own complexities and I’m interested in how we manage these.
And lastly, I have been messing around with live streaming. I’m blown away about how good the tools are that make live streaming possible. As it turns out you can build a website which is overlaid on your video stream. I've been building overlays that connect to API's of games and streaming platforms. You are able to show live information on the video stream using things like web sockets. Showing live chat or your player statistics on top of the video for example.
What does your ideal workflow look like, from messing around to production?
My ideal workflow is one of experimenting until you figure out what you need. After this you structure the work and you apply the needed process.
At work I have to apply the best workflow for teams of different cultures and different skill sets. We use user stories with specs for creative, accessibility, SEO, business rules and analytics tagging. Before starting production we have a checklist called the “definition of ready (DOR)”. The DOR has to be met before we start anything. We use gitflow with pull requests and we make sure our issue tracker ID’s are written in commit messages. With all this in place we have stable releases which have readable release notes.
The challenge is to get all developers to understand why we stick to this system. The more “helicopter view” people have, the more they understand that following a workflow is important. The message is: “own your own work and act responsibly”. When the workflow is followed it is easier to deviate and to have some flexibility. Breaking the rules is far less complex than being ignorant and destroying a production website without realising you did so.
If you want to know more about how I manage teams read about my “team First” approach.
What are you currently learning?
I'm always learning multiple things at the same time. At the moment my first priority is learning what it takes to speak at conferences. I played music in front of audiences a lot but talking about technology in front of a group of peers is different. My boss recently told me to think about the fact that everybody in the audience also wears underwear. This is a surprisingly grounding description of the audience and you snap out of your nerves.
In parallel I started a huge project where we will build an e-commerce website from scratch. It needs to function in about 40 markets around the world. We’re using Vue with Nuxt and a bunch of other modern tools. Learning the best approach for the way this scales and performs is exciting and scary at the same time. We have an old monolithic back-end system and writing API endpoints for that is equally challenging.
What project are you most proud of?
There are a couple of them but the one that stands out the most is the one I started about two and a half years ago. I'm the global lead web developer for the L’Oréal Website Factory program.
The WSF program is the new vision for L’Oréal’s digital landscape. L’Oréal is huge and they have an impressive 3000 websites up and running. Most of these websites are quite old and they do not meet the standards of the modern web. They are written in different programming languages and have become hard to maintain.
By reducing redundancy the WSF program aims to deliver \~800 high quality websites. All these sites will share the same tech stack. From continuous integration, hosting, CDN, CMS platform to front-end code and its toolsets. Projects have the same foundation while the design and tone of voice are unique for each website.
I'm in charge of the architecture, technology choices and third party integrations. I manage to code quite a bit so I have confidence when discussing process and development details. Next to the technical stuff I'm managing web developers from all over the world. L’Oréal requires a global presence and Valtech involves almost all their offices in the project. The workflow I wrote about earlier is a big part of this job.
Other projects that come to mind are the rebuild of the Chanel and Hermes global e-commerce websites and a campaign for the EA Sports Need for Speed Rivals PS4 game where we created an interactive film with 3D scenes in which you can move around crashing cars in 360 degrees. We had 11 months of creative work and only 5 weeks to produce it. The campaign was a big success.
What are beginner developers not learning that is critical in this day and age?
People tend to think “framework first” and forget to learn about the basics of the web. These frameworks work so well because they are based on what browsers have to offer. If you know the basics you will also understand the frameworks. Things like accessibility and progressive enhancement are important. A lot of young developers know nothing about these subjects. Focus on the basics, know why things work the way they work and I might hire you.
What tech challenges are you facing at your company?
Finding good people to meet the demand and scope of the new projects that are coming in. The challenge lies in having hired people for a certain type of work over the years and not for the type of work we do now. The market has shifted and we need more creative tinkerers with an experimental mindset over integrators and big fixers.