Alan McIntyre

Applied Mathematician

Software Engineer

Education

University Of Washington

2007-2010 PhD student in Applied Mathematics, EBD
2009 MS in Applied Mathematics

Old Dominion University

2007 BS in Applied Mathematics, minors in Computer Science and Physics, summa cum laude

Work Experience

Creative Dezign Concepts, Inc.

2014-present Consultant (Principal Software Architect)
  • Lead the software development team for DezignWorks, a reverse-engineering addon suite for SolidWorks, Autodesk Inventor, and Creo Parametric.
  • Refactor/redesign/improve DezignWorks. (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 (DirectCompute) and C# to C++ to improve performance.
  • Design & implement data acquisition for Romer, Faro, and Leica metrology devices.
    • neat-python (open source project)

      2015-present Maintainer
      • Python-based implementation of the NeuroEvolution of Augmenting Topologies (NEAT) algorithm for evolving arbitrary neural networks.
        • Geometric Tools, LLC

          2014 Consultant
          • Implement & optimize computational geometry algorithms. (C++11/14, DirectCompute)

          Private Client

          2013 Consultant
          • Optimize computer vision algorithms.

          Private Startup

          2013-2014 Software Engineer (employee)
          • 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.

          Microsoft

          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.

          Caligari Corporation

          2001-2003 Consultant
          • Implemented a new keyframe editor for trueSpace6, a 3D graphics package.
          • Worked with a geographically distributed development and testing team.

          General Electric/IDAX

          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.
          • US Navy

            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.