Career Profile



Embedded Software Developer

Sep 2018 - Aug 2023
Karl Storz Imaging

Used C++ to develop software for camera control units running atop a custom, in-house Linux distribution. These CCUs were responsible for: advanced video dashboard features (e.g. Picture-in-Picture, auto-rotation), interfacing with USB devices, communicating with other CCUs via network connection, and recording images/video to a flash drive or remote location.

Used C++ to develop software for a variety of endoscopes running directly on Xilinx Microblaze soft-core processors. In addition to image sensors, these endoscopes are equipped with buttons, accelerometers, and other peripherals that communicate via various low-level protocols like I2C and SPI.

Software Developer [Contract]

Apr 2021 - Feb 2022

Aided in development of “smart” weapon sight system. Product ran on a custom embedded Linux distribution, and relayed video feed from both thermal and visible light sensors onto display. Core software was written in C++, featuring a GUI system allowing the user to change display modes via external dial, and USB mass storage functionality for saving screenshots and videos.

Aided in development of libAmigen, an in-house replacement for GStreamer (pipeline-based multimedia framework library) — personally responsible for developing image processing plugins that performed functions like edge-detection.

Software Engineering Intern

May 2018 - Aug 2018
Las Cumbres Observatory

Used Go and VueJS to help create a dashboard to monitor telescope telemetry and weather data at 8 observatory sites. Available at:

Implemented program to detect and flag damaged pixels from a CCD image sensor based on an several calibration images, ultimately increasing produced data quality. Available at:

Programmed Raspberry Pi to serve as a filter wheel controller for 2-meter telescopes; the Raspberry Pi communicated with an MDrive® stepper motor and several Hall Effect sensors allowing astronomers to select and change filters in real-time