San Francisco, Cell: +1.415.378.5924
Accomplished Engineer in Data Infrastructure with substantial
experience scaling large data systems. Solid track record of
designing, building, and maintaining scalable architectures,
infrastructure, and technologies.
Experience: Start-ups, Distributed Systems, Scalability, Cluster
Management, Distributed Storage
Looking for: Full-Time or Consulting jobs at early
stage or small companies in San Francisco. Possible projects:
- Improving open-source data stores, such as Key-Value Stores (NoSQL, C++).
- Web-app libraries for programmers (Django, Bootstrap, php).
- Web-scale analysis: web crawlers, pipelined analysis, webmap.
- Large scale machine learning pipelines.
- SaaS/PaaS products for start-ups and small companies.
Work Experience Highlights:
7/2016 to present
Founder and Chief Explorer
Built MVP for The Urban Adventure App:
http://www.cityscout.us : Stealth, members-only.
Technologies: Django, AWS, Bootstrap, JQuery, Python, Puppet, Nginx, etc.
3/2011 to 4/2016 (5 yr)
Facebook, 1 Hacker Way, Menlo Park, CA
Large-scale Infrastructure Engineer on data storage service
(ZippyDB) and Monitoring systems teams.
Data Infrastructure: Worked on ZippyDB, a distributed and replicated
key-value store based on Paxos and RocksDB. Helped port the
real-time counter service (unique counters based on HyperLogLog) to
ZippyDB (with live customers) and migrated it to Folly Futures for
our C++ APIs. Implemented the first production version of the shard
load balancer, which enabled balancing on several metrics across
possibly heterogeneous hardware.
(more: Data@Scale 2015)
Core Infrastructure: Monitoring Systems: Moved the backend operating
metrics and monitoring systems from a MySQL backend to HBase, and
worked on Disaster Recovery. Worked on many of the subsystems such
as real-time percentile aggregation, prediction modeling, and the
real-time computation engine. System processed over 1 Billion time
series datapoints per minute at the time I left the team.
(Oreilly Strata 2012)
Heavily involved in debugging many Facebook technical problems (outages / SEVs) and reported at several Incident Reviews, mentored interns, and had a lot of fun at every possible hackathon.
Technologies: C++, Python, PHP/Hack/HipHop; HBase/HDFS/Hadoop, MySQL, RocksDB, Paxos.
4/2003 to 2/2011 (7 yr)
Yahoo Search Technology, 701 First Ave., Sunnyvale, CA
Linux cluster kung-fu. Worked on web search content systems for 7
years, with 4 managers, on 3 teams, during 5 cluster doublings, with
thousands of nodes per cluster. Mainly worked on cluster management
and monitoring software (in C++) and the operation of the production
Content Operations Team: Managed the deployment, operations, and
monitoring of production web crawler clusters in distributed data
centers. Typical projects included moving 1.8 PB across coasts.
Catalog Agility Project: Primary architect on crawler scalability
and data storage changes (C++) resulting in a "You Rock Award".
Crawler Team: Catalog Master: Built and extended cluster management
and monitoring software for managing thousands of nodes (C++). Many
projects ranging from investigating problems based on statistical
anomolies in freshness, comprehensiveness, and quality (Python) to
writing disk burnin software (C) used by all of YST (Yahoo Search
Technology). Wrote CTA package (Cluster Trends Analyzer) in Python
and CluStats (Cluster Stats and alerts) libraries in C++.
Echelon Team: Echelon Master: worked on cluster management software
for controlling indexing pipeline and batch processing (C++). Echelon
Copier (EchCp in C & C++): cross-coast database distribution software
with extensive performance throttling controls for delivery production
index data to other groups.
Technologies: Unix Systems Programming; Networking;
C++, Python, Perl, Shell, SQL.
6/2001 to 3/2003 (1 yr, 9 mon)
Tapstone Inc., Walnut Creek, CA.
(Start-Up, 12 developers, 20 people)
Tapstone's Server Change Center is an IT tool for managing enterprises
with hundreds to thousands of machines. Agent software running on
each computer detects changes to the file system, the registry, and
configuration files (on both Solaris and Windows.) These agents each
communicate a stream of events in real-time to a central appliance
(running Linux and Postgres.)
- Designed the distributed network agent for portability,
scalability, and low-impact.
- Wrote low-level back-end software for Solaris, Linux, and Windows
NT in Python and C++. Implemented hardware scanner, control
daemon, and various libraries.
- Reviewed code, unit tests, system tests, and design work as the
manager and lead engineer of the agent group (4-6 developers,
- Designed APIs, libraries, and protocols as lead engineer of the
architecture team during system design phases. Reviewed system-wide
design and implementation choices to support the goals of high
performance, fail-safe operation.
- One of the authors of the provisional patent application: Management and Monitoring
System for Distributed Computer Networks.
Technologies: Systems Programming (cross-platform);
Python, C++, Java; TCP/IP, XMLRPC, SQL.
- Design: Plan and develop company-wide software
libraries, APIs, protocols, databases, and other infrastructure.
- Review: Conduct code reviews, system design reviews, performance analysis,
- Test: Design and build unit tests, system tests, and staging / roll-out
- Lead: Evaluate feasibility and suitability of designs and
technologies, given business and resource constraints.
- Run: Maintain and operate online services with e-commerce transactions
School of Engineering and Applied Science
Hobbies: (other than hacking) Gardening, Woodworking, Lean Startups, Tinkering, MTG.
Bachelors of Science in Electrical Engineering (BSEE).
Masters EE: Worked toward a masters in EE with a focus on VLSI design,
while employed by the Computer Science Department at Columbia
University. Left to become CEO of a start-up in 1994 without
Object-Oriented Design and C++ (John Lakos), Networks (Matt Blaze),
C-Programming (Dan Duchamp), Scientific Computation (Joseph Traub).
Recommendations: Available upon request.
Last Revised $Date: 2017/03/07 17:50:42 $