I joined Microsoft in 1994 after receiving my BS and MS in Computer Science from Stanford University, starting out as a software engineer on the engine team for desktop database program FoxPro. Over a series of releases from 1995 to 1998 we pulled the database engine out into a standalone component, initially as an ODBC driver, and later as the heart of the Client Cursor Engine for Microsoft’s Data Access Components (MDAC). The MDAC team in the SQL Server organization was responsible for unified programmatic access to databases of all kinds (including SQL Server, Oracle, DB2, Access, XML, and flat file) and shipped with Windows, Visual Studio, Office, and IIS. In 1999 I became the engineering lead for the ActiveX Data Objects (ADO) components shipping in MDAC, including ADOX, ADOMD, RDS, and Shape.
In late 2000 I joined Microsoft Research to work in the Easyliving group, a ubiquitous computing group using computer vision to build a live geometric room model, enabling various smart room scenarios such as automatically displaying your work on the nearest screen as you move around. Over the ensuing 14 years I participated as a founding member in multiple spin-off research groups: the Large Display User Experience project, investigating scenarios for computing on larger surfaces; the VIBE group, developing novel PC visualization and interaction techniques; and the Computational User Experience (CUE) group, exploring domains as varied as physiological sensing, sketch-based data manipulation, and tournament-style gaming visualization, often in conjunction with machine learning. In 2015 I joined several other members of CUE to form the MSR Medical Devices Group, focusing on the development of novel wearable health monitoring devices and associated data analytics for clinical sensor data.