Jawbone | 2014–2017 | Systems Architect |
Implemented, debugged, and optimized step counting and sleep tracking algorithms on the UP2/3 fitness trackers, based on classifiers produced by the Data Science team.
Existing computational libraries could not fit in such a small footprint (48k total RAM), and the embedded versions had differences both large and subtle (overflow handling, fixed-point error accumulation, grossly approximate transcendental functions).
Created an embeddable algorithms platform that could be used to simulate exact algorithmic behavior on desktop computers. My design focused on reproducibility, making sure the algorithms had identical results on different hardware; debuggability, logging execution state and storing off intermediates in a convenient format; and automated verification, allowing the simulator to be integrated into the build process. With this system, new algorithms could be deployed in minutes, and their quality could be measured systematically over a huge amount of existing experimental data. Developed a data pipeline that would capture training data from hardware prototypes, which would be fed directly into R/MATLAB/Python for analysis and feature development, and also directly into this algorithms platform for verification. |
||
F5 Networks | 2008–2013 | Software Engineer |
Designed and implemented iStats for defining and aggregating user-defined network statistics on BIG-IP. Developed several internal tools and libraries to simplify and standardize development, including a regex redirector, a curses database browser, and a C++ asynchronous daemon library. | ||
Variamobile (AOL) | 2006–2007 | Principal Software Engineer |
Worked on the ibiza Rhapsody portable media player. Designed and implemented version 2 of Variamobile's Screen Definition Language, using XML, XPath, and CSS. Implemented custom CSS parser and applicator using flex/bison. Implemented an error-correcting Media Metadata Database conforming to Microsoft's MTP API. Performed memory analysis and optimizations on the device. | ||
CoCo Communications | 2004–2005 | Protocol Team Lead |
Implemented substantial components of a proprietary mobile mesh-network protocol. Designed and implemented a protocol debugging tool to organize and visualize data collected on multiple nodes simultaneously. | ||
Wizards of the Coast (Hasbro) | 2002–2003 | Senior Software Engineer |
Maintained the Magic Online servers and implemented new functionality. Improved scalability and performance on a complex distributed and multi-threaded architecture. Prototyped a new server architecture to simplify scalable development. |