Technical skills
Publications
Education
2015-2020
Berkeley, CA
University of California, Berkeley
Ph.D. in Statistics
Coursework in probability theory, theoretical statistics, high-dimensional statistics, applied statistical models, convex optimization, causal inference, and statistical consulting.
2003 - 2007
Cambridge, MA
Harvard College
B.A. in Computer Science, GPA: 3.86/4.0
1999 - 2003
Alexandria, VA
Thomas Jefferson HS for Science & Technology
GPA: 4.08/4.0
Work experience
Spring 2018
Berkeley, CA
University of California, Berkeley
Graduate Student Instructor, Stat 215B: Statistical Models
Assisted students, graded assignments, devised midterm questions, planned some lectures.
2016 - 2017
Berkeley, CA
Lawrence Berkeley National Laboratory
Graduate Student Researcher, Celeste Project
  • Developed a suite of accuracy benchmarks for Celeste, a variational Bayesian inference engine for astronomical imagery written in Julia.
  • Tracked down and fixed bugs in the Celeste model and implementation. Wrote extensive documentation based on my learnings.
2010 - 2014
San Francisco, CA
Thumbtack
Director of Engineering, 7/2013 - 9/2014
Software Engineer, 10/2010 - 7/2013
  • Wrote best practices, developed tools, and educated coworkers on randomized experiments. We recorded ~500 product experiments under this framework during my tenure.
  • Over ~18 months, developed and ran a distributed pipeline to crawl a billion web pages, identifying and categorizing local services using SVM text classification
  • Designed and analyzed large, randomized, controlled SEO experiments, documenting results and implementing suggested optimizations. Examples include a trial of 64 title variations for landing pages and a trial adding new content to existing pages using spline modeling of the “dose response”.
  • Convinced early team to adopt mandatory code reviews and continually pushed for better automated testing and design review, preferably by example
  • Designed and implemented much of our Python application framework, early build system and source organization
  • Led engineering team for a year; launched initiatives to migrate from PHP towards Python and from dedicated hardware to AWS; composed job ladder and compensation bands; managed ~seven engineers
  • Conducted ~300 interviews; devised interview questions and at-home challenges for software engineers, data scientists and site reliability engineers; trained new interviewers
  • Built our systems monitoring and reporting infrastructure (Python, Tornado, Graphite)
  • Designed and implemented greedy optimization algorithm to construct new SEO landing pages, maximizing expected revenue subject to content constraints.
  • Built predictive model for revenue per acquisition by market with robust regression, used to drive SEM bidding strategy
  • Administered our ~dozen production servers for a year, writing new Puppet configs, responding on-call to outages and publishing postmortems
  • Used generalized linear models to explore drivers of traffic to ~100k SEO landing pages
  • Crawled and analyzed link architecture of our and others’ websites using a simple PageRank implementation
  • Modeled annual seasonality of major service categories using Google Trends data
2007 - 2010
Mountain View, CA
Google
Software Engineer, Android, 1/2010 - 10/2010
  • Wrote complete automated test suite for Android system download provider, refactoring existing code as necessary to achieve testability; received a peer bonus for my final design documentation
  • Designed and implemented public API for Android download manager and implemented system “Downloads” app, both released in Gingerbread
  • Revised accelerometer filtering logic for Android platform screen rotation
Software Engineer, Platforms, 9/2007 - 1/2010
  • Technical lead for about a year of the Autotest project, a kernel and hardware qualification platform; mentored summer SWE intern who joined full-time the following summer
  • Ported Ruby on Rails prototype of Autotest scheduling web app to Python/Django, vastly extended over the following two years
  • Designed and implemented new Autotest reporting web app; frontend rendered complex spreadsheet-style reports in the browser with fixed, nested row and column headers (Google Web Toolkit frontend, Python/Django backend)
  • Planned and executed a refactoring of the Autotest job scheduler to replace all multithreading with an asynchronous, event-loop style implementation , ending months of quality issues
  • Designed and led implementation of distributed scheduling support to add redundancy for job scheduling and increase capacity for simultaneously executing test machines
Summer 2006
Redmond, WA
Microsoft
Software Development Engineer Intern, Direct3D Group
  • Productized a novel technique for resolution-independent font rendering using GPU pixel shaders
  • Reimplemented researchers' C# prototype in C++, extending its capabilities and solving many issues not addressed in prior research
  • Participated in preliminary API design for this work
Summer 2005
Santa Clara, CA
NVIDIA
Software Engineer Intern, Embedded Solutions Group
  • Worked on the emerging OpenGL-ES 1.1 driver, adding support for various frame swapping modes and for 2X and 4X full-scene antialiasing
  • Began the implementation of a new OpenGL-ES 2.0 (programmable pipeline) driver.
2005 - 2007
Cambridge, MA
Horowitz Group, Harvard Physics Department
Research assistant for Prof. Paul Horowitz
  • Working on kilopixel optical SETI project for a 72" telescope
  • Led design + implementation of central control software (Python)
  • Designed and wired daughterboard simulator and wrote 8051 microcontroller code
Spring 2005
Cambridge, MA
Harvard Physics Department
Teaching Fellow for Laboratory Electronics
Oversaw weekly labs and help sessions, graded assignments
Summer 2004
Boston, MA
Ember
Software Engineer Intern
Developed system for testing throughput and latency of multihop wireless networks, including clock synchronization, data collection and PDF report generation (Java, C, Atmel AVR)
Summer 2002
Cambridge, MA
Research Science Institute
"Object Recognition for Real-time Java" (at MIT LCS)
  • Created object recognition software using edge detection and a database of templates
  • Wrote pipelined implementation using the group's Real-Time Specification for Java library.
2001 - 2003
Reston, VA
eStara
Software Engineer
  • Developed PHP account administration applications
  • Developed Javascript volume bar for browser-based VoIP
  • Developed extensions for large software IP phone application (C++)
2000 - 2001
Tysons Corner, VA
Roadfly.com
Software Engineer
Spent most of my time developing a PHP message board application and being amazed that someone would pay me to code!
Presentations on software engineering