2007 BS in Applied Mathematics, minors in Computer Science and Physics, summa cum laude
2014-present Principal Software Architect
Lead the software development team for DezignWorks (owned by Creative Dezign Concepts, Inc.), a reverse-engineering addon suite for SolidWorks, Autodesk Inventor, and Creo Parametric. (C++11/C++14, C#, DirectX, DirectCompute, OpenGL, OpenCL)
Design & implement new algorithms for CAD feature construction from probe/laser data and meshes.
Port computational geometry algorithms from CPU to GPU and from C# to C++ to improve performance.
Design & implement data acquisition for Romer, Faro, Leica and various other metrology devices.
neat-python (open source project)
Python-based implementation of the NeuroEvolution of Augmenting Topologies (NEAT) algorithm for evolving arbitrary neural networks.
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.
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)
Prototype computer vision and machine learning components/features for new and existing products.
Prototype a multi-threaded rigid body 2D physics engine.
Translate R&D implementations of numerical algorithms into production-quality code for face-tracking support in an XBox 360 Kinect title.
Find and correct numerical stability and accuracy issues in algorithm implementations.
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.