Build from-scratch implementations of deep learning training and runtime engines. (Python, C/C++, CUDA)
Develop data models and deep learning prototypes for medical imaging and network security applications.
Build Python+Flask dashboard for a pilot malware detection project with a major web host.
I was the first full-time developer brought on board. My contributions helped secure additional work and a $1M funding round.
2010-2013 Senior Software Engineer (employee)
Worked on a small team of technical experts that rescued multiple distressed "v1" prototype projects and performed deep dives on academic and research codebases to identify and address correctness and performance issues.
Prototype computer vision and machine learning components/features for new and existing products.
Prototype a multi-threaded rigid body 2D physics engine.
Assisted teams building telepresence and augmented reality systems.
University of Washington
2008-2010 Research Assistant (employee)
Mathematical analysis of the behavior of thin films and surfactant-free foams.
Design/implement/debug/optimize numerical solvers for systems of equations that govern thin films and foams.
Script execution of solvers to search parameter spaces and find interesting features in simulation results.
Google (Summer of Code Participant)
Spring 2007 & 2008 (intern)
2007: Implement new automated tests to improve test coverage of the Python standard library. Verify test correctness on Linux, Windows, and OS X.
2008: Migrate test framework from SciPy to NumPy (scientific computing packages) and write new tests to improve code coverage. Verify test correctness on Linux, Windows, and OS X.
ESRG Technologies Group
2003-2005 Joint Owner & Senior Software Developer
Maintain and improve legacy engineering data analysis and display software.
Design and implement from scratch a set of web dashboards and desktop applications to automate the collection, management, analysis, and reporting on equipment data (as a replacement for a number of manual processes and legacy spreadsheet analyses).
Design and implement from scratch a framework for applying data analysis algorithms to all historical data for several thousand pieces of equipment.
Design and implement equipment data analysis algorithms.
This company was a startup. I was the first full-time developer brought on board. My contributions helped secure additional work and funding, resulting in the hiring of several additional engineers and developers.
Implemented a new keyframe editor for trueSpace6, a 3D graphics package.
Worked with a geographically distributed development and testing team.
1997-2002 Software Developer (employee)
Develop and maintain condition-based maintenance software (ICAS).
Configure software to monitor customer equipment (primarily marine propulsion and power generation).
Perform verification and validation (V&V) testing on new software and on customer configuration data sets.
Produce 2D and 3D graphics as needed for customer equipment status displays.
Maintain company website, assist web development group with miscellaneous tasks.
1987-1997 Nuclear Technician (E-6)
Supervise, operate, and maintain shipboard electrical distribution systems.
Supervise and operate reactor plant systems during shutdown periods.
Develop software to manage watchstation personnel assignment and track training/proficiency requirements.
Perform ongoing ship-wide vibration monitoring and analysis of rotating equipment.