2019 -
Present
Principal Engineer — Data Engineering — Change.org, San Francisco, CA
Technical lead for a new direction on the Data Intelligence
team while maintaining legacy support.
-
Building a geographic recommendation engine for millions
of daily active users, with a projected 5-figure monthly
revenue potential. Extracting data signals from user event
streams using Spark and Scala. Working with Data Science
to deploy and compare multiple
machine-learning models, and Product to
prioritize business needs. Automated monitoring of the
pipeline for early detection of faults and issues.
-
Improved Redshift cluster utilization by nearly 50% while
auditing the 48-terabyte data warehouse and discovering
several performance impacting use cases. On track to
reduce the 6-figure cost center by half in the next
year.
-
Built scheduled ETLs and collated a weekly sample data
dictionary in Python with Apache Airflow.
-
Mentored junior developers on project management, coding
standards, and software testing.
-
Collaborated on the Change.org Fellowship Leadership Team
to develop and define this very successful program,
exploring feasibility and costs, while maximizing benefit
to the company and the participants. Also participated in
candidate selection, and mentored the Data Engineering
fellow.
2016 -
2018
Principal Engineer — Performance & Internationalization — Change.org, San Francisco, CA
Led the team driving performance and internationalization tools.
-
Drove engagement by empowering users and staff to deliver
more timely signatures and comments to decision makers by
extracting petition data export into a microservice that
generated PDF and CSV files. Migrating PDF generation to
Apache FOP also enabled far better multi-lingual support,
and added support for right-to-left languages.
-
Reduced fraudulent signatures by over 20%, drastically
curbing their support and safety workload, by integrating
an external email validation service into site sign-up
flows. This also led to an email deliverability boost by
helping users with typos.
-
Planned and built developer and translator velocity
improvement tool chain using a Serge workflow to reconcile
changes between Agile feature development and batched
translations needs. Added and open-sourced a Serge plugin
for the OneSky TMS.
-
Took initiative with colleagues to find and present
unconscious bias training. Originally aimed at the Product
and Engineering teams, this training was widened to the
entire company.
After the presentations we worked with management
and HR to
upgrade hiring practices to combat biases, include bias
consideration as part of employee growth paths, and
integrate bias training into on-boarding.
2015 -
2016
Principal Engineer — DevOps — Change.org, San Francisco, CA
Volunteered to bring development bandwidth to an under-staffed
Infrastructure team. Built and replaced tools, gave support
to the team, helping them articulate needs and concerns to
management, and worked with them to build a shared vision of
team direction.
-
Reduced developer velocity cycle-time by an order of
magnitude, risks and side-effects when making changes
substantially, and server instantiation time by 90% by
modernizing the configuration management stack to a
streamlined, modular, unit-tested, standards-based Chef 12
installation.
-
Reduced cloud computing costs by 5-figures monthly
building tools to provision newly instantiated servers
from peers without a site-wide code deploy. These tools
facilitated tighter tracking of capacity to actual need
and also enabled better scaling during viral traffic
spikes.
-
Led design and execution of aggressive relocation of the
entire server stack to AWS with a two hour downtime
window. This move led to a 6-figure monthly savings in
expenditures, and opened up opportunities for auto-scaling
and global data-locality.
-
Helped grow the team threefold; fostered pride in and
mastery of the new tools through training, brown-bags, and
individual support; built team dynamics and camaraderie;
and evangelized the new tool set
to the wider team, clearing the
bottlenecks caused by DevOps as
gatekeeper to the previous codebase.
2013 -
2015
Revenue Team Lead — Change.org, San Francisco, CA
Led the team responsible for the engineering aspects of
company revenue. Managed client support tools, revenue
stream experiments and optimization, and exploration of new
revenue sources. Responsible for sprint planning; experiment
design, execution, and integration; and team mentoring.
-
Managed design and development of the user petition
promotion platform, creating a new revenue stream and
growing it to multiple million dollars annually, taking a
first step toward democratizing the funding of social
movements. This product has become our dominant source of
income.
-
Accelerated developer velocity and site scaling by
building tools for live migration of highly active MySQL
database table schemata containing millions of rows with
zero downtime. Investigation of this
problem led to several patch contributions to open-source
tools.
-
Mentored developers and provided architectural,
engineering, and personal development guidance.
Contributed feedback via code review, one-on-one meetings,
and regular employee review cycles.
2011 -
2013
Senior Software Engineer — Change.org, San Francisco, CA
Ruby-on-Rails developer and architect building the world’s
largest social empowerment platform.
-
Led the tiger team to internationalize the application
from US-only to 12 languages in 18 countries,
opening up new markets and
allowing international user acquisition to surpass
domestic within 4 months.
-
Designed and built a proof-of-concept machine-learning ETL
data pipeline using Cascading, Hadoop, and Amazon Elastic
MapReduce.
-
Spearheaded, designed, and built tools instrumental in
defusing several international brand crises by
accelerating detection of fraudulent and spammy
signatures.
-
Greatly improved security and developer velocity by
rearchitecting authorization from invasive, custom code to
a concise, abstracted, role-based configuration using
Declarative Authorization.
-
Attended the invite-only, “We the People” Open Data Day
Hackathon at The White House. Demonstrated a petition
integration at the closing ceremonies.