Sander Mathijs van Veen’s CV

Hi! My name is Sander Mathijs van Veen and I'm a Dutch computer scientist. I like to use, develop and contribute to FOSS projects. My fields of interest are distributed systems, compilers, low-level, C, Python, Go, Rust and web development. My email is sandervv[at]gmail[dot]com.

Work experience

Miro (March 2021 — Present)

March 2021 — Present
Staff engineer Specialized in frontend and backend tooling and CI/CD pipelines:
  1. Led large-scale monorepo (3M+ lines of TypeScript code) migrations of tooling (like swc, jest, eslint).
  2. Made frontend deployment very fast (from 15 min to 10 sec!) and rollback strategies.
  3. Predictable and reliable releases (from a few releases per week to 7 daily releases!).
  4. Implementend automated test selection strategies (to avoid running 4k end-to-end tests for each pull request or master branch commit).
Keywords: Golang, TypeScript, GitHub Actions/Workflows, Python, AST, Linters.
March 2021 — Oct 2022
Engineering manager Led the Platform Web SDK team (5 engineers, 1 PM) that owned and developed the Web software development kit for extending Miro's functionality by external developers.
Keywords: TypeScript, docs-in-code, enterprise, stability.

WeekMeals (June 2018 — March 2021)

June, 2018 — March 2021
Co-founder At WeekMeals, I bootstrapped a nutritional science company with Stijn (co-founder, marketing/sales). The goal is that end user know what to eat in order to hit their goal (gain or lose weight) while providing guidance and a "computed meal plan" of what to eat. We got 3000+ paying end-users, and as the only (full stack) engineer built the backend APIs and frontend apps (iOS/Android/Web).
Keywords: Golang, Python, React, JS with Flow.
April, 2019 — Nov, 2020
DevOps (part-time) At Hatching, I've built custom CI/CD pipeline software that performs unit, visual and integration tests. Their malware analysis software runs on LXC, QEMU and iptables which made existing CI/CD software hard to use.
Keywords: QEMU, LXC, Docker, Cypress, Percy, Golang, CI/CD.
June, 2015 — May, 2018
Compiler engineer At LeaningTech, I'm working on a C++-to-JS compiler called Cheerp. Cheerp is a backend target of LLVM. I'm also submitting patches to Firefox' and Google's JS JIT engine.
Keywords: LLVM, CodeGen, JIT, v8, SpiderMonkey, WebAssembly.
October, 2013 — May, 2015
Software engineer At Splendo, I'm responsible for creating and maintaining the user tracking backend, and maintaining a mobile payment backend of a premium video provider.
Keywords: Java, Groovy, Google App Engine, scalability, fault tolerance, high availability. As well as: Amazon S3, EC2, Redis, Python and AngularJS.
January, 2012 — April, 2013
Lead software engineer At BlueBubbleCode, I was responsible for creating the technical and functional design, and creating the implementation with a six-headed team of a revolutionair, automatic object recognizing ad network for video content.
Keywords: Python, C, object recognition, machine learning, BackboneJS, UX, scalability, distributed networking, libav, OpenMP.

Projects

2013
Rust compiler Implement a b-tree for the Rust standard library, and add an alias analysis pass to rustc.
2012 — 2013
GNU Gold linker Extend this ELF linker to support concurrent linking. Not to be confused with parallel linking. Basically, concurrent linking will streamline the build process. This project is part of my bachelor thesis.
2011 — 2012
Mathematical term rewriting system Given a user-written math expression, the system will generate all rewrite possibilities. It will verify the user's rewrite steps and, upon request, it will display the best step to rewrite the expression.
2011 — 2012
Build system analysis Visualize GNU Make and PyMake build systems. For example, see the build system analysis of Mozilla's JavaScript engine.
2011 — 2012
Mozilla’s JavaScript JIT compiler Participating in solving various memory- and build system related bugs: 673331, 673158, 681556, 634839, 680824.

My public git repos can be found at github.com/smvv.

Education

2012 — 2013
Bachelor thesis: “Concurrent Linking with the GNU Gold Linker”.
2009 — 2013
Bachelor Computer Science at the University of Amsterdam.

Awards

In the last year of my secondary school (2008 — 2009), I explicitly chose to put more time than the required 80 hours in my final project: I spent over 1,500 hours in prototyping, coding and testing, since I wanted to create something beautiful and innovative.

My final project, called Voortgezet Onderwijs 2.0 (Dutch for secondary school 2.0), is a web platform for creating, making and sharing computer-based exams. Currently, vo20 is only available for the subjects chemistry and computer science. The vo20 project has won the following awards:

october 2009
T-Oscar Award, Regionaal TechnoCentrum Amsterdam.
june 2009
Junior Prof Award, VU University Amsterdam.
april 2009
Best Technical Design, second place, TU Delft.
april 2009
International Conference of Young Scientists, silver, Poland.
april 2009
Informatica Scholieren prijs, Radboud University.
april 2009
Van Melsen prijs, first place, Radboud University.

Languages I use most often

Or... the right tool for the job!