I studied software engineering in grad school and have followed Yelp, Inc. from when it was a small company with less than 30 employees, through its IPO, through becoming a mature company with a flattening growth curve. I have a deeply practical understanding of the software life cycle, and am skilled at software architecture, refactors, porting, interacting with the communities around open source projects, eliminating legacy code, long-term planning of a software product, and advising on what never to build in the first place.
Two major, widely-used software projects I launched are mrjob (https://github.com/Yelp/mrjob) and TabCAT (https://memory.ucsf.edu/research-trials/professional/tabcat).
I also have an extensive background in public policy—could come in handy!
I'm looking for meaningful software engineering work, especially on a part-time or contract basis.
Working for UCSF's Memory and Aging Center. Making a precision medicine system (SPOKE) available in three UCSF clinics by linking it to UCSF's electronic health record system (APeX). Designed and implemented an API for SPOKE based on stakeholder input. Currently writing a dashboard for the electronic health record in vue.js which uses the API to suggest diagnoses based on information in the patient record.
Advise City and County of San Francisco on its Sweatfree Procurement Ordinance, which is designed to prevent the city from purchasing garments and textiles made in sweatshops, and to improve working conditions where city garments and textiles are produced. Work directly with staff from the City’s Office of Contract Administration and the Office of Labor Standards Enforcement.
Primary challenges of the group are how best to organize the Office of Contract Administration's supply chain questionnaire so as to meaningfully distinguish between two less-than-perfectly-compliant vendors, and how to get the greatest good out of factory inspections performed by Worker's Rights Consortium on behalf of the City.
(Became Vice Chair in May 2018.)
Run the day-to-day operations of the Independent California Institute, a 501(c)(3) non-profit think tank dedicated to educating Californians on their relationship with the United States.
Prepared the most extensive and accurate dataset on federal spending and revenue on a state-by-state basis, running from fiscal year 2001 through 2015. Currently working on publishing a report.
In general, I run the operation's IT, help write and publish The Independent Californian, our newsletter, and prepare and maintain fact sheets and visual aids relevant to public policy.
For more info, see https://ic.institute/.
Updating the Open Source library mrjob to add support for Docker and better management of clusters on Amazon Elastic MapReduce. Integrating Affirm's custom fork of mrjob into the main branch, rewriting their code as necessary to ensure that it is robust and useful to the general public.
Created and maintain mrjob, the foremost Python library for Hadoop and Elastic MapReduce.
See https://github.com/Yelp/mrjob
(took a sabbatical from the maintainer role from May 2014-March 2015)
Maintained the mrjob library for Yelp, carefully balancing between Yelp's specific needs, the needs of the larger community of users, and the long-term maintainability of the library. Work included keeping up with changes in Amazon Web Services APIs, and making the library compatible with both Python 2 and Python 3.
Proposed, advocated for, and helped write a unique "spark Harness" to mrjob that allowed Yelp to move existing jobs that were written to run on Hadoop Streaming in Elastic MapReduce onto Yelp's own Spark cluster on Mesos, without changing a single line of code in the original jobs.
Helped Yelp port its main codebase and several services to a newer version of the mrjob library.
Resuscitated a legacy service (Mycroft) that Yelp was still using but had lost the institutional knowledge to test new versions of in development and wrote an updated runbook.
Made mrjob work with Google Cloud Dataproc (Google's Hadoop-in-the-cloud solution), starting from a code contribution that a Google employee wrote as a hackathon project.
`Founded and ran SpendRight, Inc., a company to help consumers change the world through their purchasing choices and their voice. SpendRight was a single-page mobile website, written in React and CoffeeScript, with a Python backend that connected to the Amazon and eBay product APIs.
Wrote and published an open source project (see https://github.com/spendright/msd) to merge company information from various non-profit consumer campaigns into a single unified format.
Managed and trained one employee, who now works as a Master Data Analyst for 3M.
Created and maintained TabCAT, an Open Source project to help diagnose various forms of dementia through cognitive tasks on an iPad, for UCSF's Memory and Aging Center. Worked with an interdisciplinary team of skilled neuroscientists to make their proposed cognitive tasks a reality.
TabCAT was originally written in pure HTML5, so that it could work on all mobile/tablet platforms, and so that it can be maintained by web developers. It originally used CouchDB as its backend, which served both as web server and data store.
As of October 2019, TabCAT is used in research trials around the world and is being considered for clinical use. The Brain Health Assessment, hosted in TabCAT, is both more sensitive and more specific than the Montreal Cognitive Assessment (MoCA), the most widely used test of cognitive impairment; see “The Brain Health Assessment for Detecting and Diagnosing Neurocognitive Disorders” at https://onlinelibrary.wiley.com/doi/10.1111/jgs.15208.
For further information, see https://memory.ucsf.edu/research-trials/professional/tabcat
Helped develop a system to predict traffic based on previous knowledge of Lyft drivers' positions that runs on Amazon Elastic MapReduce using the mrjob Open Source library.
Also fixed mrjob tickets relevant to Lyft, and helped employees use mrjob.
Worked at Yelp as it grew from an early-age startup to a successful, publicly traded company.
July 2007-May 2008: Web Backend Developer. Highlights:
- search filters
- review sorting
- People Who Viewed this also Viewed...
May 2008-April 2010: i18n, often the sole member of the team
- launched in Canada, UK, Ireland
- revamped US-specific infrastructure to make geographic indexing independent from zipcodes, handle unicode, handle international phone numbers.
Jan 2010-present: created and maintain the mrjob Open Source Hadoop Streaming library (see http://github.com/Yelp/mrjob)
Jun 2009-Oct 2012
- developed new signals for and maintained Yelp's review filter