Profile

Flight software engineer at NASA specializing in critical embedded software, computer vision, and algorithm optimization.

Currently working on the OSAM-1 mission.

Skills

  • C, C++, Python, Bash, and LaTeX
  • Git version control
  • NASA's Core Flight System (cFS) and OSAL
  • VxWorks, Linux, and FreeRTOS on x86, PowerPC, and MicroBlaze platforms
  • Pose estimation and computer vision algorithms
  • VHDL, Perl, Awk, Sed, HTML, CSS, PHP, and JavaScript
  • Coding standards, static analysis, and process control
  • Systems programming and Unix terminal (make, gdb, ssh, etc.)
  • PCB schematic design and board layout (Altium, Eagle, KiCad)
  • Space systems, low Earth orbit spacecraft, and sub-orbital telescopes
  • Basic knowledge of time/frequency domain circuit analysis, astrophysics/cosmology, and particle physics (QCD)
  • Fluent in English and Spanish, intermediate in French, beginner in Russian and German

Experience

Principal Flight Software Engineer

NASA Goddard Space Flight Center [Intuitive Machines]  (Washington, DC)
Jan 2016 - present

Hybrid Flight Computing System (HFCS) Team
Code 480: NExIS (NASA Exploration and In-space Services)
OSAM-1 mission

  • Remote since 2020 (Michigan)
  • Lead flight software integrator for rendezvous and proximity operations (RPO) algorithms
  • Develop mission critical flight software in C and C++ on x86 and PowerPC architectures
  • Optimize and implement various image processing and computer vision algorithms (e.g. edge detection, circle tracing, point cloud, filters, etc.) for autonomous spacecraft rendezvous and robot arm grapple
  • Interface with Xilinx FPGA cores for acceleration of image processing
  • Transform non-flight computer vision and pose estimation algorithms into flight-ready code
  • Develop flight applications for VxWorks using cFE/cFS and OSAL
  • Develop ground tools in Python and Bash for data analysis, pose result comparison and plotting, image conversion, etc.
  • Write and maintain official HFCS C/C++ Flight Coding Standards
  • Leverage static analysis software (CodeSonar) to improve code quality
  • Present technical information to reviewers at critical subsystem reviews (PDR, CDR, etc.)
  • NASA Foundations of Aerospace and Sys Admin certifications
  • Teach Git version control to multiple teams at NASA

Technical Advisor

Rainforest Connection (RFCx)  (San Francisco, CA)
Jan 2015 - Jan 2017

RFCx combats illegal deforestation by using repurposed Android phones to listen for the sounds of chainsaws, engines, and other sounds in the rainforest

  • Digital circuit and PCB design using KiCAD
  • Developed software for an 8-bit AVR microcontroller
  • Developed an Android app with USB communication to microcontroller

Research Assistant

European Organization for Nuclear Research (CERN)  (Geneva, Switzerland)
Aug 2014 - Jan 2015

ATLAS Experiment, Large Hadron Collider (LHC)

  • Research in QCD (quantum chromodynamics) and proton-proton collisions under Dr. Tancredi Carli
  • Developed software in C++ and Python on SLC6 (Scientific Linux CERN 6)
  • Co-developed the C++ program Spectrum to plot experimental data, theory predictions, and PDF (Parton Density Function) convolutions
  • Created the Spectrum website
  • Created file format for Spectrum to parse data, grid, and PDF configurations
  • Interfaced with ROOT, APPLgrid, LHAPDF, and FastJet QCD libraries

Computer Engineering Co-op

NASA Goddard Space Flight Center  (Washington, DC)
Jan - May 2014

Code 665: Astrophysics, Observational Cosmology Laboratory
BETTII Project

  • High-altitude far-infrared balloon observatory for star formation and active galactic nuclei
  • Interfaced with stellar image processing software in C and C++ in a Unix environment
  • Developed StarTracker software for Star Cameras
  • Implemented an RS-422 communication network with a shared circular buffer in C
  • Created an FPGA RS-422 receiver using LabVIEW

Computer Engineering Co-op

L3 Communications, Avionics Systems  (Grand Rapids, MI)
May - Sep 2013
  • Designed software to configure and test avionics instruments
  • Developed GUIs in C using LabWindows/CVI
  • Tested units under environmental conditions and analyzed data

Computer Engineering Co-op

Custom Electronics, Inc.  (Grand Rapids, MI)
Nov 2011 - May 2013
  • Programmed 8-bit Microchip microcontrollers in C using MPLAB X
  • Wrote software for scientific instrumentation buoys
  • Designed a series of eight electric guitar effect pedals
  • Designed electrical schematics and PCBs in Altium Designer

Education

B.S.E, Computer Engineering '15

Grand Valley State University  (Grand Rapids, MI)

GPA 3.957

  • ASEE CEED National Co-op Student of the Year 2014
  • Academic Excellence Award in Computer Engineering 2015
  • Oustanding Co-op Student 2015
  • Oustanding Senior in Computer Engineering 2015

Interests

Space, computer vision, cryptography, astrophysics, particle physics, travel, languages, backpacking, hiking, camping, dogs, brewing, LOTR, cocktails, and euchre