Senior Software Engineer -> Tech Lead -> Engineering Manager @ Shift Technologies, Inc.
Senior Software Engineer @ Jawbone
Software Developer @ Massive Health
Henry M. Gunn High School
I love using technology to solve problems. My ideal role is working on a small, experienced, cross-functional team solving a challenging problem that makes a difference in users' lives. I consider myself a generalist that happens to have spent my time on platform and web projects. But I love wrangling data, designing delightful user experiences, and learning
I love using technology to solve problems. My ideal role is working on a small, experienced, cross-functional team solving a challenging problem that makes a difference in users' lives. I consider myself a generalist that happens to have spent my time on platform and web projects. But I love wrangling data, designing delightful user experiences, and learning about mobile development.
Software Engineer @ As the second engineer at Shift, I've worn many hats, from building our website, to crafting internal tools for our Car Enthusiasts, to building APIs for iPad apps, to wrangling data for pricing, to interviewing and hiring. The team we have and are continuing to grow is the smartest, most talented engineering and design team I've ever worked with and it's a pleasure to come into work every morning. From August 2014 to Present (1 year 5 months) San Francisco Bay AreaSenior Software Engineer @ As a key member of the Platform team, I was responsible for the APIs that support the UP mobile apps, the UP API platform, and the UP for Groups product. Over my 20 months at Jawbone, I:
- Architected and built a pipeline for computing real-time, streaming aggregations using Kestrel and Cassandra, which allowed us to quickly and flexibly query for aggregated metrics about users and groups of users. This system is now the backbone of UP's Smart Coach system, trends features, and UP for Groups.
- Ran the technical side of the Smart Coach project. Smart Coach is all the smart insights, daily goals, and achievements that UP delivers to you in real-time, based on your personal health information. Think Google Now, but for health. Working with a content team over my last 6 months there, we tripled the amount of content we delivered (to around two million per day) and increased click-through and "favorite" rates by similar multiples.
- Conceptualized, designed, and built both the front and back-end of a CMS for Smart Coach content that enabled our writing and product teams to independently and quickly create complex, highly-targeted, localized content.
- Migrated all server teams from an old, manual, clunky localization process (which used a custom python file format for storing strings) to a new continuous localization framework built on top of Transifex.
- Built all the APIs to support UP for Groups. From January 2013 to August 2014 (1 year 8 months) San Francisco Bay AreaSoftware Developer @ I was the fourth full-time employee at Massive Health, a consumer healthcare startup. We went down many product roads, released a fairly successful iPhone app, and got acquired by Jawbone in early 2013. Being one of the first members of the team, I was integral to building and launching all of our products.
After The Eatery's success, we began working on a successor, where I built all of the APIs to support the new app (python with Django on Heroku). But my proudest accomplishment with this project (and at Massive Health overall), was building a food search engine. By gathering a large training corpus of food related documents and using a hodgepodge of NLP, mechanical turk, and machine learning, I built an autocomplete that returns food results the way a human would describe them, with probabilistic models of portion size and calorie information. I still consider it to be an easier, more human-like food search than anything currently on the market.
We were acquired before the new app had was released, but I'm happy to give more details in person - I love talking about data, system architecture, and health products. From June 2011 to January 2013 (1 year 8 months) San Francisco Bay AreaSoftware Developer @ AppFirst is a server and application monitoring company, in the same category as New Relic or Nagios. As the 3rd engineer at the company, I was responsible for the entire front end website and all of the platform APIs.
- Wire-framed interaction flows and ran user trials to develop features.
- Designed and built a dashboard widget framework that allowed easy creation of new widgets for users to install and customize on their application dashboards.
- Wrote the full set of backend APIs in Django to support the web application, iOS and Android mobile apps, and the monitoring agents running on customers' servers.
- Built our billing and account management features using Recurly.
- Designed and built the Postgres database schema to handle hundreds of millions of meta-data records for managing and displaying our data aggregations.
- Consulted with the rest of the team on architecting an HBase cluster for processing and storing the 100MB of raw data uploaded daily by every server we monitored.
- Worked with a graphic designer to completely redesign and rebuild the marketing site (appfirst.com) in one week.
- Wrote Fabric scripts to deploy and manage this infrastructure in Rackspace and Amazon's clouds. From August 2009 to June 2011 (1 year 11 months) Greater New York City AreaSummer Intern @ - Built an OpenSocial application, called Company Buzz, for use in LinkedIn’s fall 2008 OpenSocial release that a user could display on their profile to showcase recent tweets and keyword volume for the companies at which they worked.
- Began the process of internationalization of their system by modifying each sub-component to handle non-latin character sets.
- Resolved bugs in their C++ codebase for an upcoming product release. From May 2007 to August 2007 (4 months) Intern @ - Wrote and tested software for the automatic installation and conﬁguration of a SPECT camera system.
- Improved performance of their Java code by evaluating various data structure performance. From May 2006 to August 2006 (4 months)