Professional Objective
An individual contributor position where I can use my
expertise in large system development, scaling, and optimization;
where initiative and self-sufficiency are valued; and with
co-workers dedicated to continuous learning and improvement.
Employment History
Principal Software Engineer
Gilt Groupe
September 2008-Present
The Gilt Groupe is a leading online flash sale company.
As the lead developer for the checkout and order management
systems, I ensured the availability and scalability of core
e-commerce functions under extreme daily load spikes.
Founder and CTO
Taplister LLC
February 2009-March 2010
Contributed to the development of the initial concept
and business model for taplister.com. Responsible for all
technical aspects of the project from design and architecture
to implementation to operations during the first year of the
company’s existence.
Senior Developer
Yahoo! Search Marketing, Right Media Group
September 2007-September 2008
After the acquisition of Right Media by Yahoo!, I worked
as a technical liason to integrate the Right Media Ad Server (RMAS)
system into the Yahoo! infrastructure
Projects:
- I decomposed the monolithic RMAS codebase into
several smaller software packages, and converted those
packages to use the standard Yahoo! build, packaging, and
deployment tools.
- I analyzed performance and memory usage of the RMAS
system, and implemented core algorithmic improvements which
yielded an order of magnitude improvement in memory usage and
churn and a dramatic concomitant reduction in 99th percentile
response times.
Senior Developer
Yahoo! Search Marketing, Content Match Group
July 2005-September 2007
The Content Match group provides contextually targeted
advertisements for websites both within and outside the
Yahoo! network. I developed high-volume, high-reliability
server applications using C and Perl.
Projects:
- I designed and led the implementation of a system
for inserting advertisements into RSS feeds. This
required novel modifications of existing ad delivery
mechanisms to balance desirable business features such as
learning and ad rotation while preserving an acceptable the user experience.
- I created the design for geo-targeting
advertisements, and specified the required API changes between
distributed components as well as the required functional
changes in those components. I implemented the geo-targeting
component for converting IP addresses to geo-regions, and
supervised the implementation of the rest of the
changes.
- I led a 4 person team to implement private
marketplaces within the Content Match system. This system
allows high-quality advertisers to bid for placement on
selected high-quality publisher sites.
- I designed and implemented a system for performing
live diagnostics on our distributed clusters. This system
allows business people and developers to perform detailed
queries on the state of a cluster to help diagnose problems in
the system.
-
I worked on a number of infrastructure improvements to
streamline development of our system, including process
automation and elimination of boilerplate code. I was also
one of a small group of “blessed” code reviewers given the
responsibility to approve all code for production use.
Senior Developer
Yahoo! Search Marketing (formerly Overture Services), Sponsored Search Group
April 2002-July 2005
The Sponsored Search system at YSM serves hundreds
of millions of web requests daily, providing search results
directly as HTML to users and via XML feeds to partners including
ISPs, portals, and browser plugins. On this team, I developed
systems using Perl, Java, and C/C++; running within
Apache/mod_perl, Dynamo, and Weblogic; and interfacing with
Oracle and BerkeleyDB databases.
Projects:
- I worked on a number of projects to improve search
coverage using approximate query matching techniques,
including character edit transformations, subphrase matching,
and semantic matching based on extremely short query strings.
This required integration of fast C libraries with the Perl
codebase, and extensive performance and scalability testing.
I developed data denormalization schemes to help meet
performance requirements, and various heuristics to ensure
reliable system operations and acceptable resource utilization
while maintaining high coverage and relevance.
- I led the internationalization of the search systems
during expansion into France and Japan and conversion of all
internal systems from ISO-8859-1 to UTF-8. This required
upgrading several base systems, including Java, Perl, and
Dynamo; and developing extensive regression tests for all
parts of the search systems. I identified frequent trouble
spots in the code base and researched and developed
internationalization best practices. I specified the external
API for character encoding support. I also created wrappers
for several non-internationalized third-party modules.
- I was involved in evaluating and integrating
third-party libraries for Asian language support, particularly
morphological analyzers. I worked closely with developers at
an external vendor to provide feedback from our experiences,
both in terms of functional correctness and production
reliability, which they could use to improve future versions
of their software.
- I collaborated with our QA and release management
teams on several projects, including enhancing and extending
the toolset for functional and regression testing, and
consulting on the requirements and design for a load testing
framework. I also developed a system for interspersing code
launches with more frequent metadata launches.
- I redesigned and refactored large portions of the
search pipeline to make better use of object-oriented and
metadata-driven programming techniques. In net, I eliminated
several thousand lines of largely duplicated code with no
negative effect on performance, and significantly improved
readability and maintainability.
Senior Developer / Technical Lead
Arsdigita Corporation
January 2000-February 2002
I was a member of the development team for the Arsdigita
Community System, a web application framework for developing
database-backed community and collaborative web
services. I developed software using Java, TCL, SQL, PL/SQL,
Oracle, Tomcat, and Aolserver.
Projects:
- I was the technical lead of a 6-person team focused on the
development of a rules-based personalization system
incorporating dynamic classification of users based on
behavior and targeted delivery of content. Responsible for
design and code reviews within this team and for other teams.
- I designed and developed several modules to support
various forms of web-based collaboration, including:
a system for authoring of manuals and other publications
incorporating user comments and feedback; a repository
for code sharing and reuse with capabilities for feedback,
ratings, and bug tracking; a workflow engine based on the
Petri net model; a file storage system with fine-grained
permissioning and commentability; and a threaded bulletin
board system.
Web Developer
Graduate Student Council, Caltech
November 1999-June 2001
I reengineered the web version of the Technique, the
graduate student guide for Caltech. When I started this project,
the web site was simply a static HTML dump of the print version.
I designed a content management system appropriate for the
needs of this publication including full-text searching of the
contents of the book,
reader comments on the text, and a searchable database of
restaurant reviews.
Systems Administrator
Theory Group, Physics Dept., Caltech
June 1999-August 2000
I supported approximately 40 users in a mixed environment
of Sun servers, thin clients, and PCs. I was responsible for
hardware purchasing decisions, software installation and
upgrades, backups, and security on the cluster. In addition, I
provided documentation of the use of software supported on the
systems.
Education
- BS in Physics, May 1997. with High Honors
University of Maryland at College Park - BS in Mathematics, May 1997. with Honors
University of Maryland at College Park - MS in Physics, June 2000
California Institute of Technology
Programming Languages
Used professionally: Scala, Java, Ruby, C/C++, Perl, SQL, PL/SQL, XML/XSL, TCL, Fortran, IDL.
Limited Experience: Haskell, Erlang, OCaml, Lisp, MIPS Assembly.
Award, Honors, and Certifications
- Overture Star Performer, 2004
- Sun Java Certified Programmer
- Graduate Research Fellow, National Science Foundation
- Phi Beta Kappa
- Best Honors Thesis, University Honors Program, UMCP
- Best Undergraduate Research Project, Physics Department, UMCP
Publications
- "Beautiful Concurrency with Erlang". OSCON. 2008.
- "How to Serve a Billion Requests a Day with
Perl". OSCON, YAPC::NA. 2005.