Accomplished, passionate, driven and creative programmer with over a decade of experience solving problems at every level of the software engineering lifecycle, from requirements analysis to deployment. Strong team player with a love of the craft and a constant desire to explore, create, and solve. Comfortable working in both small and large systems. Core skills center around backend software for Internet applications, object-oriented design, test driven development, tool development, and API design. Never happy standing still.
- Linux, Docker, Apache Kafka, InfluxDB, Vertica, PostgreSQL, MySQL.
- Network & Web, Stream Processing, Object-Oriented Design, Functional Programming, Test-Driven Development, Continuous Delivery, Virtualization.
Senior Software Engineer II
October 2013 – Present
- Designed and built a Rust application that reuses existing C++ libraries and handles consuming tens of thousands of Apache Kafka messages per second, providing near real-time monitoring of our network's provisioned state.
- Engineered a Kafka Streams data aggregation and event detection system that allows our customers to message their subscribers about potential threats, and allows our network to gracefully handle datacenter failover.
- Created a RADIUS and DHCP IP Address change tracking system capable of handling over 20,000 IP Address changes per second, per node.
- Updated our HTTP proxy solution to hold hundreds of thousands of URLs in lock-free structure, reducing memory footprint and improving response time.
Senior Software Engineer
December 2007 – July 2013
Innovative Consumer-to-Consumer marketplace.
- Designed and built a fraud detection and prevention system that reduced fraudulent activity by 80% and significantly increased customer satisfaction.
- Architected and wrote tools to perform competitive pricing analysis to ensure healthy market prices.
- Spearheaded integrated of the Glyde Marketplace with PayPal (payment and withdrawal), and Twilio (SMS messaging).
- Implemented a cohort analysis system to analyze buying and selling patterns to improve business strategy decision making.
- Developed a system to publish daily Glyde inventory to comparison shopping sites, increasing customer awareness and traffic.
- Designed and wrote frameworks for unified package tracking and delivery notification via several shipping companies.
May 2004 – December 2007
Software Engineer with the LOCKSS Program at Stanford University. LOCKSS ("Lots of Copies Keep Stuff Safe") is an Open Source, distributed, peer-to-peer digital content preservation system used by libraries world-wide to preserve digital journals.
- Architected and implemented major portions of the new LOCKSS peer-to-peer polling protocol (LCAP V3), resulting in a ten-fold improvement in content auditing and repair efficiency over the previous implementation.
- Created a complete testing environment in Python for stress and integration testing of the LOCKSS Network.
- Designed and built a dynamic Java plugin extension system for automatically finding and updating running LOCKSS systems with new functionality.
- Drove the creation of internal project management tools using Ruby on Rails, streamlining the ability to publish new content to the LOCKSS network.
The 3B2 was a small, multi-user UNIX computer introduced in 1984 by AT&T. It was the primary porting platform for UNIX System V Release 3, but has since faded into obscurity. I built a full system emulator to allow running unmodified UNIX SVR3 software for historical preservation. This project involved a tremendous amount of reverse engineering both hardware and software, as internals documentation was unavailable. Additionally, WE32100 assembler and disassemblers had to be written from scratch. It is released as part of the SIMH historical computer emulation framework.
Symon is an 8-bit system emulator, including full emulation of the 6502 CPU, 6551 ACIA, 6522 PIA, 6525 CRT controller, RAM, and ROM. It is released under the MIT Open Source license.