David Alan Schoonover
I Solve Problems
Hi. I'm a software engineer seeking an organization where I can add value directly through the flexible application of cleverness, dedication, and pragmatism. I wear many hats to solve problems, and if none fit, I’ve made new hats after consulting trusted hatmakers and hatwearers. In the past I've enjoyed working on problems of scalability in the face of big data challenges, agile iteration of user-facing software in response to feedback and measurement, and building internal tools to meet the observed needs of the team.
Update: I am very excited to now be working for The Wikimedia Foundation, the people behind Wikipedia! So I'm sorry to all y'all who keep emailing me — I am no longer available for other work.
Accomplishments
AddThis Share-Count and Unicron Datastore
I led the team that designed and built Unicron, the real-time analytics system which powers the share-count feature of the AddThis sharing menu. It tracks more than 100M unique URLs across 10M+ domains, servicing 60k+ requests per second.
- Stream processor with multiple layers of queuing for data routing, reliability, and zero-downtime upgrades (see this pretty architectural diagram for more).
- Public API endpoints (Tomcat service) serviced by cluster on Rackspace Cloud, cached by a CDN (Akamai) with a dynamic TTL.
- Able to transform into a mechanical planet voiced by Orson Welles.
- Designed and developed Cassandra ORM (Vinyl).
- Management tools (CLI package and dashboard) to administer (start, stop, monitor), and create (configure, register, populate) a full deployment.
- Zabbix monitoring via JMX of both availability and performance.
Widget Ad Network (WAN) and AdClient Frameworks
I designed and implemented Clearspring's WAN and AdClient Frameworks, a pair of highly flexible substrate for display, video, and rich-media creatives.
- Utilized by hundreds of advertising campaigns across 100M+ views, measurably increasing engagement and ROI.
- Public API consumed by a half-dozen artists and engineers, requiring backwards compatibility and feature stability over the course of several years.
- Client frameworks in Flash, Flex, and JavaScript.
- Management console for campaign configuration, and interactive test harness for creative and developer testing.
- High flexibility via cascading configuration specified at build-, serve-, and run-time, allowing operators to tailor units to campaigns and units to intelligently respond to the environment.
- Substrate collects analytics, providing insight into performance, interactivity, and audience composition. Metrics customizable on a per-unit and per-campaign basis without code changes.
- Technical architecture designed to be flexible enough meet unknown advertiser needs, but minimize bandwidth costs. Driven by a versioned, CDN-served bootstrapper, in turn dynamically loading only the necessary modules at runtime to minimize load.
- Extensive headless test suite using Maven+Jenkins, as well as in-page test harness for operator experimentation and developer/studio testing.
Experience
Senior Engineer, Clearspring / AddThis
See above for primary projects. Additional work:
- Maintenance and feature implementation for the popular AddThis sharing tools, with over 10M publishers and seeing 2B+ monthly uniques.
- Designed and implemented the AddThis Services API
- Designed and implemented the AddThis Client API in Flash (see examples).
- Internal CLI tools (Metatool, RookCmp) and DSL for querying and analysing in-house server analytics.
- Maintenance of legacy in-house Java severs and distributed datastore (Pawns, Bishop)
Architect, The Littlest Battletank
An independently-developed HTML5 tank adventure game.
- Multiple clients: JavaScript and HTML5 canvas implementation; iOS client using Box2D and Cocos2D.
- Development of JS libraries for 2D physics, canvas-backed scene graph, and tools for content creation and module dependency management.
Freelance Design & Development
Notable clients:
-
Brandon Bird, artist.
Internet-famous for the Law & Order coloring book.
Design and development of store framework, with a client-side search engine featuring recursive boolean logic, type awareness in queries (for fields like price), and a simple configuration-driven (YAML) setup allowing full control over properties and appearance.
-
Gordon Sander, writer & photographer.
Pulitzer prize nominee and celebrity in Sweden.
Design, dev, and maintenance of full site, including photo galleries, and digitizing decades of essays, articles, and book exercpts. Powered by Wordpress.
Political Intern, Rep Gwen Moore (D-WI)
Ms Gwen Moore is the Congressional Representative for the 4th district of Wisconsin, including the hard-working people of Milwaukee.
Philosophy, Cornell University
- Parliamentary Debate (APDA): ranked 9th nationally, two 1st-place finishes at tournaments with 200+ attendees, speeches in front of 500+ people.
- VP Finance, Cornell Debate Association.
- College Scholar program for interdisciplinary study.
- President, Risley Residential College: elected seven times; largest residential college on campus.
- Financial Manager, Risley College Theatre.
Projects & Open Source Contributions
- Open Source Projects:
- connect-compiler — connect middleware to dynamically recompile derived assets.
- u.js — a minimalist, embeddable JS library.
- bunch — Flexible, humane Python dictionaries.
- jsongrep — grep for JSON.
- coffeecup — WSGI middleware for CoffeeScript.
- Games:
- The Littlest Battletank — a tank adventure game for the Web and iOS.
- js-sweeper — minesweeper in JavaScript.
- FaceRPG — a simple Roguelike.
- Contributions: node-seq, jQuery, Cassandra
Skills
Areas of Expertise
- Distributed Datastores
- Horizontal Scaleability
- Cloud-based Architectures
- Stream Processing & Analytics
- Embedded Web Apps (a la AddThis)
- Rich JS Web Apps
Notable Technologies
- NoSQL (Cassandra, Redis, CouchDB, Neo4J)
- Stream Processing (Hadoop, s4, graph algorithms)
- Data Analysis (NumPy, SciPy, Incanter)
- Application Servers (node.js, Tomcat+Spring, Twisted, Tornado)
- Web Frameworks (ExpressJS, Pyramid/Pylons, Django, Flask, web.py)
- DSLs (Jison, LEPL, Antlr)
Languages
- JavaScript / CoffeeScript / Coco
- Python
- HTML5 / CSS
- Java
- Ruby
- Obj-C
Public Speaking
- Organized "brownbag" talks at Clearspring.
- Nationally ranked debater in college (9th), winning two 1st-place finishes at tournaments with 200+ attendees, speeches in front of 500+ people.
- Student government and theatre experience.
Art
- Portfolio: art.less.ly
- Photography: Flickr