Passionate about combining low-level, high-performance systems programming with modern C++ features as well as a hobbyist Sega Dreamcast developer on a quest to correct the timeline of video gaming history. Working on the modern, open-source indie DC SDK and library OS, KallistiOS.
SKILLS
C, C++20, 23, metatemplate programming, ranges, concepts and constraints, concurrency and async | ASM, Objective-C, Rust | Graphics (OpenGL, Vulkan, DirectX12) | Shaders (GLSL, HLSL, SPIR-V) | Tools/UIs (Qt, QML, GTk) | Embedded Systems | Drivers | Game and Physics Engines | CPU/GPU Architecture | GPGPU (OpenCL and CUDA) | Lua, Ruby, Python, Bash | Scrum/Agile Methodologies | Jira, Gitlab, Jenkins, Perforce, Confluence | DevOps | Core Libraries, Frameworks, SDKs | GCC Toolchain (Binutils, Newlib, libc) | Accelerated Linear Algebra
● Migrated graphics back-end from legacy OpenGL 2.x to modern GL ES 3.x.
● Maintained large, cross-platform (Linux, MacOS, VxWorks, etc), cross-compiled codebases for modular avionics.
● Wrote requirements, unit tests, and integration tests for DAL-C code coverage certification.
QSC, Remote — Senior Software Engineer
May 2023 - February 2024
Graphics programmer on the video team interfacing with audio team.
● Embedded OpenGL development for high-end video conferencing hardware
● Worked on the main application Qt-based “compositor” with QML for drawing picture-in-picture and special post-processing effects over video streams
● Worked with embedded Linux and FPGA engineers and performed low level performance profiling and optimization
● C++ Coder’s Guild member, worked on migrating division to C++20
FireEye/Trellix, Remote — Senior Software Engineer
June 2022 - March 2023
C++ developer on the EndPoint Security/Agent team.
● Multiplatform application and driver-level development in modern C++ codebase
● Bugfixes, new feature requests, migration work towards FireEye + McAfee unified agent
● Worked in Agile environment and followed Scrum practices
Nvidia, Durham NC — Senior Console Tools Engineer
September 2020 - October 2021
C++ developer on the Nvidia Aftermath team, developing GPU crash dump and analysis tools.
● C++ driver-side development for information capture and tool integration within the DirectX12 and Vulkan drivers
● Qt tool-side development on desktop application for crash dump decoding and analysis
● Tool support and validation for DX12 DXR and Vulkan NV/KHR raytracing shaders and resources
Advanced Micro Devices, Boxborough MA — Senior Software Engineer
May 2018 - September 2020
C++ developer on the AMD DirectX12 driver team, initially working on the driver, later transitioning into driver tools.
● DirectX12 driver support for upcoming commercial titles, Shadow of the Tomb Raider, as well as shader and driver bug fixes for existing titles such as Civilization VI
● Qt desktop application development for user-facing DirectX12, Vulkan, OpenCL API tools
● Main application-side software architect in massive refactor/rewrite effort of the Radeon Developer Panel
● Profiling, debugging, memory tracing, pipeline dumping, and driver settings tools
UAH ECE Department, Huntsville AL — Graduate Research Assistant
Jan 2017 - Dec 2017
● Research involved software emulation of PLC hardware on general-purpose embedded devices (RaspPi, ODroid) within a hypervisor environment (KVM + QEmu) with the goal of producing a lower-cost, more secure platform for hosting legacy industrial PLC software with real-time constraints.
● Created automated testbed measuring timing characteristics and performance, generating histograms and statistical analysis of overall system under various configurations using an external microcontroller monitoring latency of GPIO pins being driven from various layers within the software stack.
Elysian Shadows, Harvest AL — Lead Engineer
Aug 2014 - March 2023
● Created and developed cross-platform game engine and development tools to create and support Elysian Shadows, including advanced dynamic lighting and shadows, rigid body physics simulations, particle effects, 3D positional audio, and extensible scripting API running on PCs, smartphones, game consoles, and other devices.
● Also served as team lead for project, marketing lead, and performed all programming tasks for the game and its related tools
Adtran, Huntsville AL — Software Engineer
June 2011 - Aug 2014
Wrote device drivers, application logic, and network code for the TA300 family of enterprise-side fiber optic network terminals (ONTs).
● C++ development for triple-play (voice, video, internet) technology.
● Ported 3rd party device drivers from Linux to our in-house OS.
● Implemented IGMPv3 protocol stack on TA351/TA352 ONTs.
Digital Radiance, Huntsville AL — Software Developer April 2009 - Oct 2010
Developed simulators and educational software for the Hudson Alpha Biotech institute using video game technology.
● C# development using Mono and the Unity3D Engine .
● Cross-platform deployment for Windows, MacOS, and iPhone/iPad.
Stanley Associates, Huntsville AL — Co-Op Software Developer August 2007 - November 2008
Co-Op Engineering position as a defense contractor with the AMRDEC on the Redstone Arsenal while working on my bachelor’s from UAH.
● Hardware and software testing, writing test sets using IFTE equipment supporting the US Army
● Worked on with initial migration and rehosting of legacy ATLAS-based tests in a modern C++ environment
● Developed parsing framework for processing TPS output and aggregating result data for further processing
● Held an interim security clearance
EDUCATION
University of Alabama in Huntsville — Master of Science: Computer Engineering
PRESENT, Huntsville AL
● One math course left before completing masters, 2 additional engineering courses counting towards PhD
● Emphasis on Computer Architecture and Heterogeneous Computing (GPUs + FPGAs)
● 3.8 GPA
● Developed GPU-Based hardware accelerated global video decoder
● Created an FPGA-based implementation of the Dreamcast's Visual Memory Unit device
University of Alabama in Huntsville — Bachelor of Science: Computer Engineering
2011, Huntsville AL
Won Adtran Senior Design showcase award for creating a hardware-agnostics software suite providing semi-autonomous navigation functionality to computer-driven vehicles, rovers, and drones.