Before joining Google in 2004 as a software engineer, I was a research assistant at the Programming Methods Laboratory of the Swiss Federal Institute of Technology (EPFL) in Lausanne, Switzerland. I studied computer science at the University of Karlsruhe in Germany and at the University of South Australia in Adelaide.
Professionally, I am primarily interested in software engineering, distributed systems, data modeling, programming languages, and programming in general. Some of the things I am really enthusiastic about include:
- programming language design and implementation,
- type systems,
- software extensibility and software evolution,
- software (re)engineering,
- architectural design patterns,
- the design of APIs, as well as
- data models and data representations.