Zug, Zug, Switzerland
I am a researcher and engineer with over 15 years of experience across industry and academia. I specialise in domain-specific languages and compilers, with a proven ability to take ideas from research into practice. In my career I have led globally distributed and international teams, driven the design and implementation of DSLs and compilers, and advised product teams and customers on advanced language and compiler technology. My academic background gives me a strong foundation in research and teaching, and I continue to value clarity, mentorship, and knowledge sharing in my work. I bring together deep compiler expertise, organisational leadership, research insight, and teaching skills to create programming languages and tools that are both innovative and impactful.
I led a globally distributed research team developing compilers for large-scale graph analytics. My work combined language design, compiler infrastructure, and applied research that bridges into Oracle products. Technical contributions: – Designed and implemented a Python DSL for algorithmic graph analytics, with high-level constructs for parallel iteration, frontier exploration, and community detection – Built a compiler stack on MLIR/LLVM, defining a custom graph-processing dialect and generating code for multiple targets: a distributed C++ graph runtime, relational databases (PL/SQL, C/SQL), and an in-memory columnar graph engine – Created concurrency abstractions that map high-level iteration patterns to diverse execution models (message passing, SQL parallelism, multithreading) – Implemented graph algorithms using the DSL to validate its design and demonstrate applicability across different runtime targets - Advised product teams and customers on the use of built-in graph algorithms in Oracle products and on writing their own algorithms Leadership: – Managed and mentored a distributed research team across multiple countries – Led a global effort to expand college recruiting, coordinating regional task forces to identify top universities, establish partnerships, promote Oracle’s internship program, and organize recruiting events – Established and coordinated remote internships during the pandemic, collaborating with HR and facilities to onboard and offboard interns across Europe
I worked on PGX Algorithm, a Java-based DSL for graph analytics that allows customers to write their own graph algorithms. The PGX Algorithm compiler optimises and translates these algorithms for efficient execution in a parallel Java-based runtime, where graphs are loaded into the memory of a multi-socket single machine. – Led the design and implementation of PGX Algorithm, from initial prototype through to integration into Oracle Graph / Oracle Graph Server / Oracle Spatial & Graph products – Designed compiler optimisations and translation strategies to map high-level graph algorithms to an efficient parallel runtime system – Advised product teams and customers on the use of built-in graph algorithms in Oracle products and on writing their own algorithms with PGX Algorithm
Explored the Truffle interpreter framework for implementing the dynamic semantics of statically typed programming languages.
Finished my teaching duties as a part-time employee while transitioning to Oracle.
Member of the Software Language Engineering group led by Eelco Visser, focusing on research in declarative specifications of static semantics. – Co-invented the concept of scope graphs as a foundation for declarative name binding specifications – Co-developed NaBL2, a formally well-founded metalanguage for defining name binding and scope rules – Continued contributions to the Spoofax language workbench – Managed the collaboration with Oracle, consulting them on the use of Spoofax for implementing Green-Marl, a DSL for algorithmic graph analytics – Published results at ESOP, SLE, and in IEEE Software – Co-authored the book chapter "Coupled Evolution of Software Metamodels and Models" in "Evolving Software Systems" – Supervised MSc and PhD students Teaching responsibilities: – Continued to teach my MSc course Compiler Construction: introduced an automatic system for providing feedback and grading practical assignments – Responsible teacher for a BSc course Algorithms & Data Structures for 200-300 Computer Science and Technical Mathematics students: designed the course from scratch and developed Python programming assignments and exams in a web-based learning environment
Worked in the Software Language Engineering group led by Eelco Visser at TU Delft, while contracted through IT Staffing and funded by Oracle. – Continued research and development on the Spoofax language workbench – Advised Oracle Labs on the use of Spoofax and on the design of domain-specific languages for algorithmic graph analytics - Contributed the Spoofax chapter to Markus Völter’s book DSL Engineering: Designing, Implementing and Using Domain-Specific Languages
Performed a feasibility study on automated derivation of type soundness proofs from formal language definitions in Coq.