| |
To be in a position where I design and oversee the construction
and deployment of revolutionary computing systems.
|
|
| Massachusetts Institute of Technology |
February 1999 |
Cambridge, MA |
| |
| · |
Masters of Engineering in Computer Science and Electrical Engineering.
|
|
·
|
Bachelor of Science in Computer Science.
|
|
| |
YouTube (Google/Alphabet) |
| |
December 2012 - Present |
Software Engineer (Technical Lead) |
San Bruno, CA |
| |
I have been a tech lead on the Music team for my entire tenure at YouTube. Initially, I was in charge
of creating and publishing an
art track for every song ever made;
currently there are about 200M of them. YouTube receives DDEX album deliveries from music labels
around the world which contain high quality sound recordings, cover art, and album metadata. I was
responsible for creating and leveraging software systems to create these "videos" from those
deliveries, and for organizing them into album playlists. The team I have been on during my
tenure—of which I have been a IC TL the entire time—has been in some form or another in charge of
curating and publishing tracks, releases, albums, artist metadata, and [radio] stations.
Art tracks back the functionality of the YouTube Music product.
From 2014 to 2015, I was promoted for leading two simultaneous backend migrations. The first migrated
our infrastructure from batch to the newly created relational database, Spanner. The second migrated
the layout of how YouTube's rights management system coordinated the payments for art track videos;
it switched payments from a "first to deliver gets paid everything" system to a "whatever gets played
gets paid" system. Without these migrations, YouTube Music would likely not have been ready for
its next transition.
In 2016, Google Play Music and YouTube Music merged, and YouTube infra and branding were chosen
as the "winner" and Google Play was to be deprecated. Our team again changed the backend which
ingested and published non-DDEX metadata from the Google Knowledge Graph to a new system we developed.
The new system takes various sources of metadata and matches source entities (e.g. albums or artists)
and blends the metadata, selecting the appropriate metadata for the published entity. I designed and
coordinated the construction of the publishing side of the system, which provides a simple,
generic mechanism for publishing the "selected" music entities to serving systems and other backends
via RPCs. Some of the publishing features include:
- Automated throttling
- Automated diffing (to determine if an outbound RPC is needed)
- Automated dependency handling
- e.g publishing to system A some number of seconds before publishing to system B
- Retaining the outbound RPC metadata for debugging
In 2021, we decided to move our serving system to Topic Server, the graph database that backs
the Google Knowledge Graph. I have been responsible for the design of the migration, the
graph database schema, the batch and real-time export of our data, and the onboarding of developers
of clients from the current system to Topic Server.
I have also lead other smaller projects such as:
- Publishing our music corpus metadata to Amazon Alexa
- Designing how the music corpus would be used in YouTube Main
- Coordinating the migration off of a deprecated art track video creation system
|
|
| |
September 2007 - November 2012 |
Senior Engineer |
Marlborough, MA |
| |
Designed parallel algorithm interfaces for developers and implemented
example algorithms to run on the Netezza Performance Server (NPS).
Led a team that designed and developed a prototype GUI for developers and
modelers working on writing and using parallel algorithms on NPS. Designed
and built Python, C++, R, and Fortran language interfaces for parallel programming on NPS.
Designed and oversaw development of the geospatial and bioinformatics
interfaces for NPS. Implemented various trade show exhibition applications
that demonstrated the capabilities of the these algorithms and interfaces.
Contact: Justin Lindsey (LinkedIn)
|
|
| |
August 2006 - September 2007 |
Principal Engineer |
Cambridge, MA |
| |
Designed and developed a software deployment system for
the operations department of ITA. The application,
Service Manager, runs on their various server machines
and allows operations managers to perform complex upgrades
and dynamic deployments of their various server applications
from a central interface.
|
|
| |
LavaStorm
(Purchased by Infogix; product is now Data3Sixty)
|
| |
September 2002 - August 2006 |
Principal Engineer |
Boston, MA |
| |
Co-designed and developed a data processing system for complex processing
of large datasets. Designed solutions to generic telecom
routing and billing problems. Oversaw the adaption of these
generic solutions for specific customers (Verizon, Bell South,
MCI). Contact: Rich Boccuzzi (LinkedIn).
|
|
| |
May 2001 - September 2002 |
System Architect
|
Burlington, MA |
| |
Designed a distributed, web-based preview-pick-and-print
system for HP marketing material. Designed and deployed a
video capturing, editing, deployment, and viewing system for
dynamic video viewing on handheld PCs for 650 VIPs at the
Olympics. Implemented the video editing software for the
same system. Designed a procurment-to-delivery process and
digital asset management system for commercial print (for
Virgin Megastores). Designed, co-implemented, and deployed
an audio log system (for internal use at the lab). Designed,
implemented, and deployed a hyperlinked video platform and
built and deployed a player for the platform. Designed a
distributed platform for application versioning, deployment,
messaging and management.
Contact: Justin Lindsey (LinkedIn)
and J. T. Hwang (LinkedIn).
|
|
| |
LavaStorm
(Purchased by Infogix)
|
| |
March 2000 - April 2001 |
Principal Engineer
|
Waltham, MA |
| |
In
charge of a team of twelve responsible for the design,
implementation, and deployment of Clay Christiensen's Solution
Lab - an online group-based innovation management, discussion,
and publishing system. Contact: Ted Czotter
(LinkedIn).
|
|
| |
August 1999 - March 2000 |
Engineer
|
Waltham, MA |
| |
In
charge of a sub-team of three, in a team of ten, responsible
for the app-server and database design, implementation, and
deployment for a windows desktop stock-ticker/news-delivery
application (Infogate, later NewsTracker for USA Today).
Designed and deployed the connection between Monster.com's
Siebel call center and their web site. Contact: Ted Czotter
(LinkedIn).
|
|
| |
February 1999 - August 1999 |
Engineer |
Maynard, MA |
| |
Designed, implemented and deployed a scalable system that
delivers receipts to email senders when their outgoing email
is read over the web by a recipient (previously
www.confirmail.com).
Patent 6618747 designer and co-owner. Contact: Frank Flynn.
(LinkedIn).
|
|
| |
February 1998 - February 1999 |
Research Assistant
|
Lexington, MA |
| |
Designed, implemented and integrated a pronoun indentification
module into a large interlingual machine translation system.
The system is capable of translating many languages to and
from a machine-understandable language. The module I built
used various semantic and lexocographic rules during and after
translation to determine the object or action to which various
pronouns refer in a given section of text. This work constitutes
my Masters thesis. Advisors: Cliff Weinstein and Young-Suk Lee.
|
|
| |
January 1997 - January 1998 |
Intern |
Cambridge, MA |
| |
Designed, implemented, and integrated a leak detection and
gyroscope management system in a 6 foot autonomous robotic
fish. Advisor: Jamie Anderson.
|
|
| |
May 1995 - January 1997 |
Nuclear Reactor
Operator |
Cambridge, MA |
| |
Learned about the physics, fluid dynamics, infrastructure, operating
procedures for the nuclear reactor at MIT. Operated the
reactor and ran experiments for professors and hospitals.
Trained new employees on the operation of the reactor.
Contact: Edward Lau (LinkedIn).
|
|
| |
| · |
C/C++, Java, Python, R, PL/SQL, assembly. Familiar with: Perl, VB Script/ASP,
Javascript, and VB. Comfortable learning new programming languages quickly.
|
| · |
tls/ssl, ssh, http, smtp,
pop, xml, tcp, udp, ftp, ldap, dhcp, rpc, dns, sftp, soap,
uddi, mime, and others.
|
| · |
Oracle, Sql Server, Netezza, and MySql.
|
| · |
Design: I excel at large scale system design, and am passionate about
creating systems that affect people's lives. I enjoy designing
and implementing everything from low level algorithms to
functional specifications to application process designs.
|
|
|