| Primary | |
| C++ | 16 years |
| Linux | 12 years |
| TCP/IP networking | 12 years |
| Python | 10 years |
| x86 assembly | 4 years |
| Secondary | |
| SQL (MySQL, PostgreSQL) | 4 years |
| HTML/CSS/Javascript | 4 years |
| Jawbone | Jan 2014–present | Senior Software Engineer |
| Designed and implemented an extremely low-overhead embedded platform for algorithm development and execution. | ||
| F5 Networks | Nov 2008–May 2013 | Software Engineer |
| Designed and implemented iStats. Developed several internal tools and libraries to simplify and speed development, including a Python messaging module, curses database browser, C++ asynchronous daemon library. | ||
| Applied Research Cooperative Corp. | Mar 2008–Oct 2008 | Co-founder |
| Developed a LAMP prototype for video search. Optimized image analysis algorithms using nVidia's CUDA platform. | ||
| Variamobile (AOL) | Jan 2006–Dec 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 a robust and error-correcting Media Metadata Database conforming to Microsoft's MTP API. Performed memory analysis and optimizations on the device. | ||
| CoCo Communications | Feb 2004–Dec 2005 | Senior Software Engineer Protocol Team Lead |
| Implemented substantial components of early versions of CoCo's proprietary mobile mesh-network protocol. Designed and implemented a debugging tool to organize and visualize data collected on multiple nodes simultaneously. | ||
| Wizards of the Coast (Hasbro) | Apr 2002–Feb 2004 | 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. | ||
| Paulgames LLC | Oct 2000–Feb 2002 | Co-founder |
| Created a development kit, including a Linux server and Win32 client scriptable with the embeddable programming language Lua, to speed the development of online board games. | ||
| Microsoft Windows CE |
Jun 1998–Dec 1999 | Program Manager Software Engineer |
| Performed system-wide analysis of memory usage for Windows CE. Implemented ISO8601 date/time functionality for advanced set-top box. | ||