I am a Software Engineer at Google’s Spanner Infrastructure team. I go by my preferred name William in English. My legal given name Yihe (以何) means “why” in classical Chinese.
I received my PhD in Computer Science from Harvard John A. Paulson School of Engineering and Applied Sciences in 2020. My advisor was Professor Eddie Kohler.
My research interests include operating systems, database systems, distributed systems, and a variety of other computer systems. I have previously worked on storage and runtime systems for emerging byte-addressable persistent memory. My PhD dissertation focused on transaction processing and concurrency control in modern main-memory database systems.
Prior to starting at Google full-time, I worked as a research intern at Oracle Labs (Burlington, MA) in summer 2016, and at the Systems and Networking Group of Microsoft Reserach (Cambridge, UK) in summer 2018. In Summer 2019 I worked as a software engineering intern at Google’s Sunnyvale/Mountain View campus on a collaboration project between Google Cloud and Google Brain. For more information on my experiences please see my Curriculum Vitae.
During my time away from computer screens I love to travel, read news, and more recently enjoy classical music (under the influence of my advisor, former coworkers, and my amazing partner Helen).
Ph.D. in Computer Science, 2020
Harvard University
S.M. in Computer Science, 2018
Harvard University
B.S.E. in Computer Engineering, 2014
University of Michigan
B.S. in Electrical and Computer Engineering, 2014
Shanghai Jiao Tong University
Software Transactional Objects, a fast in-memory general-purpose transaction framework
I was the Head Teaching Fellow (TF) of CS 61 (Systems Programming and Machine Organization) in Fall 2018. The course instructor was my advisor Prof. Kohler.
I was a TF of CS 61 in Fall 2015. The course was taught by Prof. Margo Seltzer.