Merijn studied Computer Science at the Vrije Universiteit (VU) in Amsterdam, following the High-Performance Distributed Computing track supplemented with as many theoretical CS courses as would fit. During his studies his main interests were (functional) programming languages, compilers, and distributed systems.
In the last year of his degree he went to the Universiteit of Amsterdam to do the compiler course, where he stuck around to do his master project on the S-Net coordination language, combining his interests in programming languages, compilers, and distributed systems into a single project. After his degree he stayed at UvA, joining the ADVANCE EU project as research assistant, later continuing this work at Heriot-Watt University in Edinburgh.
In 2014 he moved back to the Netherlands to start a PhD in graph processing on GPUs at the UvA. This work focussed on the relationship between the structure of the input graphs and the performance of algorithm implementations on the GPU. The goal being to predict the fastest implementation of an algorithm for a given input and being able to switch between implementations at runtime if this changes at runtime. He’s currently finishing up his thesis on this research.