Profile
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