I have professional experience with full-stack web development, machine learning infrastructure, and the design of data centers. I studied computer science at UC Berkeley.
Experience
2022 — Now
At Google, I write software that helps design data centers. Here are some contributions I've made:
Bandwidth-weighted path diversity solver: I rewrote a solver that calculates the desired bandwidth between pools of network devices in two peering data centers based on linear constraints and an objective function. Because the original solver assumed all links have a uniform rate, widespread changes were needed to support links with variable rate. The benefit to Google is we can now mix better hardware and link rates with older deployments, which can greatly extend their useful life.
Improved use of channels per port: Whereas previously channels were evenly distributed across routers at the expense of channels used per port, I wrote code to maximize the channels used per port after first spreading channels across routers until there is no single point of failure within any pool of devices. This limits the amount of port-specific optical hardware and cabling we have to buy while still managing risk responsibly. The feature has forestalled multi-million dollar rebuilds of data centers using pre-installed cabling in the ground and walls.
Dry runs of network changes: I standardized support for dry runs of changes to Google’s wide area network. Future changes can be modeled within side branches or the main plan. Eventually, changes can be marked as built. These capabilities were supported with inconsistent implementations for only some types of network changes until I made a standardized implementation for 18 web service APIs.
Responsibilities as a TL: I am a mentor for three new team members. I still sync with these team members twice weekly to transfer knowledge, help unblock them, and talk about their career goals. I produced design docs for their first projects and reviewed the associated code. I supervise our team’s on-call rotation and am training these new team members to be able to handle production issues.
2017 — 2022
San Francisco Bay Area
At Cruise, I wrote software to create machine learning datasets for self-driving cars. Here are some projects I worked on:
Video annotation: I was the project lead for the video annotation tool, which tracks the positions and properties of objects over time as they move between different cameras. I wrote code to support saving intermediate progress, multiple rounds of QA, and sending back a task to the inbox of an earlier labeler. I made it possible to assign the labeling of different types of objects in a drive to different labelers.
Object tracking: To speed up drawing bounding boxes in videos, I wrote code that uses a bounding box in one frame to draw bounding boxes in nearby frames. I used the median flow tracker from OpenCV and retrigger tracking as boxes are adjusted. Because the tracker takes time, I wrote code to manage and visualize running tracking jobs. An A/B test showed the feature made some labelers twice as fast. We filed a patent.
Taxonomy management: I wrote code for updating the taxonomy used during labeling. The taxonomy configures the classes, attributes, attribute values, and relationships that are labeled. As new taxonomy requirements are identified, I handle prioritizing specific parts of the taxonomy and partial relabeling of already labeled drives.
Search tools for drives with rare events: I made tooling to efficiently find drives with rare events we need to label. The searcher supplies a multiple-choice question and either a SQL query or a visual similarity search. The query or search has false positives, so labelers manually filter the results using the multiple-choice question.
2014 — 2017
At Workday, I worked on reporting tools, development tools, and search. Here are some projects I worked on:
Adaptive Boolean Expressions: I wrote code that can learn the most performant ordering of a Boolean expression in many cases. Using real customer data, my code measures the cost of each condition and the likelihood that each condition evaluates to true or false.
Spell Correction: I enhanced our search engine to be able to correct misspelled names.
Unit Test Generator: I wrote a script to generate hundreds of unit tests for untested public APIs. The script identifies combinations of inputs that would cause each function to return a non-null value.
Indexed Reporting: One index I worked on evaluates specified methods once per hour and saves the results. Another index I worked on is for trend lines, so it tracks how values change over time.
Code Classifier: I made a classifier to infer the team that maintains a piece of code by analyzing its usages and commit history.
I worked on a subsidy calculator and a resource center for the Affordable Care Act. The subsidy calculator was for an Intuit integration. The resource center is https://www.ehealthinsurance.com/affordable-care-act.
Education
2011 — 2014
University of California, Berkeley
Bachelor of Arts (BA)
2011 — 2014