James Long
[address withheld]
San Jose, CA 95134
Home : [email for more information]
Cell : [email for more information]
Email: james [at] jameslong [dot] org
-----------------------------------------------------------------------------
OBJECTIVE
As of February 2007, I have started a new job at Google, and am no longer
actively seeking employment.
-----------------------------------------------------------------------------
EMPLOYMENT HISTORY
February 2007 - Present
Software Developer III - Google.com
Tech Lead for Apps for Your Domain - Site Reliability.
Troubleshoot and on-call for teams like GMail, Apps for Your Domain, and
Google's authentication system.
Create and support systems to ensure that our applications are always
running, available, and fast.
Capacity planning and production architecture design, logs analysis,
monitoring, etc.
April, 2005 - January 2007
Software Developer II - Amazon.com
Automated Targeted Email
Designed, implemented, tested, deployed, and supported software systems
with an end goal of sending millions of highly targeted emails per day.
* Collaborated on a project with another engineer to create a
"Price Drop" email program, one of the three most successful targeted
email programs Amazon in its time.
* Provided guidance to an SDE I through his first technical lead role,
resulting in increased responsibility for him and facilitating his
candidacy for promotion during the next review cycle.
* Lead a team of three software developers and two QA engineers on a 3
month project to create an opt out system compatible with our new
platform. Utilized Java, Hibernate, Oracle, and two Amazon internal
middleware layers to create a three-tiered system capable of exposing
the data to our public website.
* Lead a team of three software developers and two QA engineers on a 6
month project to further improve the stability and usability of the
Single New Product program, while improving targeting quality.
Utilized Perl, Mason, C++, Oracle, and numerous Amazon data sources to
create a CGI for internal customers to create and edit email campaigns.
* Lead a team of two software developers on a two month project to create
a customer-information cache for our email system, which reduced our
dependency on one of the most vital systems at Amazon, allowing them to
scale to meet demand for Q4, 2005.
* Served as the primary on-call for up to 11 Oracle databases at once.
Responsibilities included routine maintenance and troubleshooting (such
as adding datafiles, troubleshooting issues with the hot-standby's
replication, and analysis of troublesome queries)
July 2002 - April 2005
Software Developer - Amazon.com
Automated Targeted Email
Developed, revised, and contributed to software applications and
services with increasing levels of responsibility, in collaboration with
senior engineers, and ultimately independently.
* Maintained an outstanding level of support and issue resolution in a
regular on-call rotation, ultimately becoming the most efficient
ticket closer on our team, based on net ticket closure.
* Improved the recipient loading system for our core mail systems, from
being able to load a few million recipients per day to being able to
load nearly 40 million per day.
* Worked with a Senior Software Developer to create the email team's
targeting server, and the backing database, which is a
multi-terabyte Oracle instance. Utilized Perl, Java, Tomcat, Oracle
and SOAP.
* Created algorithms to automatically find newly released products,
and automatically target email campaigns to promote them, increasing
the number of messages we sent in the Single New Product program (one
of our best performing email programs) by nearly 15%.
* Reduced the time it took to target a weeks worth of mail for the
Single New Product program from 48 hours to 4 hours.
August 2001 - May 2002
Freelance Developer - NetMath at the University of Illinois - Urbana-Champaign
Contracted to create a virtual classroom and homework hand-in system
called ClassComm for the NetMath distance education group at the
University of Illinois.
* Worked directly with the professors running the group to determine
the requirements, and ensure the design would meet their needs.
* Delivered the project in five stages, insured acceptance at each stage.
* Implemented a website in PHP with a MySQL backend which displayed
assignments and announcements, allowed students to communicate with
each other via forums and chat, and allowed students to directly
upload their Mathetmatica based assignments.
* While you cannot access the system without a login and password, an
intro video is available at:
http://cm.math.uiuc.edu/classcommintro.php
Summer 2001
Software Development Intern - Microsoft
Media Player
* Challenged to create a plug-in which would allow Media Player to be
embedded in Netscape, without running afoul of licensing issues.
* Developed a component in C++ and a Java Applet to meet those goals.
* Worked with a full-time developer to develop a code generator
which generated Java wrappers for arbitrary COM objects, based
on the interface defined in their IDL files.
Summer 2000
Software Development Intern - Microsoft
Learning Technologies Group
* Interned with two other interns to develop a prototype of an online
training application with features such as streaming video/audio,
user-driven questions, polls, notes, and more. Wrote the website
in HTML with heavy Javascript, and wrote a few auxilary COM objects.
-----------------------------------------------------------------------------
UNPAID POSITIONS
August 2002 - February 2004
Head Coder (Dev Lead) - FieryMUD.org
* Designed and helped implement portions of a yet unreleased major
revision of the game, written in C, including shifting from flat-file
storage, to an easily extendable MySQL setup.
* Created the framework for various systems in the game in order to
ease later additions; for instance, added several mathematical
functions to ease damage calculations for spells, such that adding
new ones amounted to writing a few lines of configuration.
* Created an easy to use library for running MySQL queries from within the
MUD, using a sprintf style syntax for queries, and a simple structure
for maintaining results.
* Contributed bug fixes back to the "stock" code base from which the MUD
was derived, using tools such as Insure++ and gdb to find the errors.
* Kept our codebase up to date with patches from the "stock" code
(CircleMUD, DGScripts, and OLC).
* Code reviewed all code being submitted to our repository, and advised
other coders on design and implementation.
August 2002 - December 2002
Coder - FieryMUD.org
* Responsible for major bug fixes which drastically improved the uptime of
the game server.
* Found and corrected memory leaks.
* Eliminated all compiler warnings, even when compiled with gcc using the
-pedantic flag.
* Maintained a presence with the players to gather feedback.
* Improved the scripting system to facilitate the creation of complex
quests.
* Implemented new features and reworked old ones to promote game balance.
* Participated in peer code reviews.
-----------------------------------------------------------------------------
TECHNOLOGIES AND SKILLS
Advanced:
C++ (and the STL), Java (w/ Servlets, JSP, log4j, JUnit), CVS, Oracle, MySQL,
Perl, PHP, HTML, Technical Interviewing (~93 interviews, ~8 offers, 5 hires),
two Amazon-proprietary middleware systems, OOA/OOD/OOP
Intermediate:
SQL*Loader, Hibernate, Data Modeling, ER/Studio, Jetty, Apache, SOA
Beginner:
gdb, Totalview, Javascript, Subversion, CSS, ElectricFence, Insure++, RCS,
COM, Agile Programming, JNI
----------------------------------------------------------------------------
EDUCATION
August, 1998 - May, 2002
Bachelor of Science, Computer Science : Minor in Mathematics
University of Illinois at Urbana-Champaign (UIUC)
* GPA in core CS classes: 3.9/4.0
* Completed a senior project working with a business owner at Motorola.
Designed, developed, and demonstrated a system to be used to manage
research papers for an internal symposium.
* James Scholar (http://jamesscholar.cen.uiuc.edu/)
* Competed in the 2002 Jerry Sanders Robotics competition
(http://dc.cen.uiuc.edu/)
--------------------------------------------------------------------------
REFERENCES
Available upon request.
--------------------------------------------------------------------------
MORE INFORMATION
More details about projects I have worked on are available at:
http://www.jameslong.org/projects.php
The most recent copy of my resume is available at:
http://www.jameslong.org/resume.php
--------------------------------------------------------------------------