// embedded software engineer

Alexander Terry

I write C and C++ for hardware that has to work. Today that's mission-critical systems at General Dynamics Mission Systems; before that, real-time voice and data over IP at VOCAL Technologies.

  • Scottsdale, AZ
  • C/C++ · RTOS · Embedded Linux
Alexander Terry overlooking a mountain valley
01

About

I work close to the metal: drivers and firmware, cross-compilation toolchains, RTOS/RTEMS targets, FPGA-integrated boards, and the build systems that hold it all together. I like problems where latency, memory and reliability actually matter.

Originally from Canada, I moved to Buffalo for the University at Buffalo Honors College, graduating with a B.S. in Computer Science and a B.A. in Mathematics. Outside of work I build things end to end, from a Raspberry Pi indoor air monitor to a production booking platform for a local business.

Currently
Software Engineer, GDMS
Education
B.S. CS & B.A. Math, University at Buffalo '25
GPA
3.92 / 4.00 · Honors College
Certifications
Google Cybersecurity · IBM Z Xplore
02

Experience

  1. Sep 2025 — Present

    Software Engineer @ General Dynamics Mission Systems

    Scottsdale, AZ · Full-time · Hybrid

    • Replaced $5K+ commercial software licenses with a customized open-source solution by modifying its C driver layer for program-specific hardware, now deployed across 2 programs.
    • Ported a mission-critical C/C++ application from SPARC to ARM, cutting end-to-end latency from 1,084 ms to 93 ms (11.7× faster) and core processing time by 6× to meet customer latency requirements.
    • Parallelized PetaLinux builds across all 3 target boards, reducing build time by 67%, and automated remote board reimaging so a network-triggered recovery script replaces 20–45-minute lab trips.
    • Expanded the C/C++ automated test suite from 4 to 31 tests (7.75× growth) and wired it into every CI/CD pipeline change to catch regressions before deployment.
    • C/C++
    • ARM
    • SPARC
    • PetaLinux
    • Drivers
    • CI/CD
  2. Jan 2025 — Jul 2025

    Software Engineer @ VOCAL Technologies

    Buffalo, NY · Full-time · On-site

    • Developed and optimized embedded C for real-time voice and data systems (MoIP, VoIP, FoIP), tuning SIP, RTP and TCP/UDP stacks and G.711/G.729 codecs to meet latency and bandwidth constraints.
    • Built custom Yocto Linux images for ARM-based telecom hardware, including initramfs/rootfs boot configuration, U-Boot environment setup and device tree changes for peripheral support, debugged over the UART serial console.
    • Hardened deployed systems with iptables firewall rules and AppArmor confinement profiles to minimize attack surface, and automated build and deployment with Perl and Bash to improve CI/CD reliability.
    • Implemented and optimized signal modulation and compression at various bitrates to improve transmission efficiency and reliability.
    • C
    • Yocto
    • U-Boot
    • Device Tree
    • ARM
    • SIP/RTP
    • AppArmor
    • Bash
  3. Research, teaching & leadership
  4. May 2024 — Aug 2024

    BRIGHT Program Scholar @ UB Jacobs School of Medicine

    Buffalo, NY · Full-time · NIH R25 research training program

    • Mentored research under Dr. Alexander Diehl, integrating fMRI terms into MRIO, the MRI Acquisition and Analysis Ontology approved by the Ontology for Biomedical Investigations.
    • Identified and defined new terms and wrote subclass and equivalence axioms covering fMRI acquisition, analysis, functional connectivity and protocols, broadening MRIO across MRI research.
    • Ontology engineering
    • fMRI
    • Research
  5. Feb 2024 — Aug 2024

    Undergraduate Research Assistant @ Buffalo Neuroimaging Analysis Center

    Remote · Part-time

    • Assessed functional connectivity in real fMRI datasets with the CONN toolbox under Dr. Michael Dwyer.
    • Preprocessed and analyzed fMRI data in MATLAB, and wrote custom scripts that streamlined the lab's analysis workflow.
    • MATLAB
    • CONN
    • fMRI
    • Scripting
  6. Aug 2022 — May 2025

    Undergraduate Teaching Assistant @ UB School of Engineering

    Buffalo, NY · Part-time · 3 courses

    • Data StructuresAug 2023 — May 2025

      Reinforced lecture material in lab sessions and held office hours three times a week.

    • Introduction to Computer Science IIJan 2023 — May 2023

      Ran one-on-one interviews to check students' grasp of OOP, inheritance, polymorphism, recursion, unit testing and data structures; held office hours twice a week and graded 60+ assignments weekly.

    • Internet, Computing & Society SeminarAug 2022 — Jan 2024

      Led students through computer science activities and graded 70+ assignments weekly.

    • Java
    • Algorithms
    • Debugging
    • Teaching
  7. Aug 2022 — Aug 2024

    Welcome Weekend Leader @ University at Buffalo

    Buffalo, NY · Seasonal

    • Welcomed incoming students three years running (2022–2024) with campus tours, answers to their questions and behind-the-scenes event support.
    • Leadership
03

Projects

Embedded · Raspberry Pi 5

Pi Air Monitor

An indoor air-quality monitor: C drivers read a BME280 over SPI and an MH-Z19 CO₂ sensor over UART, and a FastAPI service stores the readings in PostgreSQL and serves a live dashboard with CO₂ danger alerts, history and CSV export.

  1. BME280 + MH-Z19
  2. SPI / UART
  3. C drivers
  4. FastAPI
  5. PostgreSQL
  6. Dashboard
Measures
Temperature · Pressure · Humidity · CO₂
Stack
C · Python · FastAPI · PostgreSQL · Docker
raspberrypi:8000
Live dashboard charting temperature, pressure, humidity and CO₂ over 24 hours, with CO₂ thresholds marked
Raspberry Pi 5 wired to a BME280 sensor on a breadboard and an MH-Z19 CO₂ sensor
The actual build

CO₂ danger alerts

Know when to open a window

Every CO₂ reading is placed in one of five bands, from Good to Dangerous, based on published health guidance up to the OSHA 8-hour exposure limit. The dashboard labels the current band and draws the thresholds on the chart. At Unhealthy or above it raises a banner with advice and logs a warning.

  1. Good
  2. 800
  3. 1200
  4. 2000
  5. 5000 ppm

Hysteresis: a level drops only once CO₂ is 50 ppm below the boundary, so readings near a threshold don't flicker.

Dashboard alert banner reading: CO₂ level Unhealthy since 7:38 PM. Headaches and drowsiness are likely. Ventilate now. The CO₂ tile shows 2295 ppm marked Unhealthy.
Alert state, shown with simulated readings
  1. 01

    Two drivers written in C

    SPI driver with the BME280's calibration and compensation math, and a termios UART driver for the MH-Z19 with framing, checksums and timeouts. Each ships as a CLI and a shared library loaded from Python.

  2. 02

    Fault tolerant

    Reopens a sensor after a failed read so unplugging either one recovers without a restart, rejects out-of-range and bad-checksum data, and prunes old readings hourly.

  3. 03

    Tested and shipped like a product

    Unit tests check the math against the Bosch datasheet and drive the UART code through a simulated sensor. CI builds with -Werror for x86_64 and aarch64 and publishes ARM64/AMD64 Docker images.

Live in production

Jaclyn's Threading

A full-stack booking platform for a local beauty salon. Architected and shipped end-to-end, from the database schema to deployment.

Stack
Node.js · Express · PostgreSQL · Docker
jaclynbeauty.com
Homepage of jaclynbeauty.com
  1. 01

    Real-time scheduling

    Clients see live availability and book appointments online, with automated notifications keeping them informed.

  2. 02

    Admin dashboard

    An authenticated dashboard where the owner manages appointments for the live business.

  3. 03

    Hardened by default

    Enforced Content Security Policy, rate limiting, bcrypt authentication and layered bot mitigation.

04

Skills

Languages

  • C
  • C++
  • Python
  • Bash
  • Perl
  • JavaScript
  • Rust (familiar)

Embedded & Build

  • Yocto
  • Buildroot
  • U-Boot
  • Device Tree
  • Kernel modules & drivers
  • GCC/Clang cross-toolchains
  • Make
  • CMake
  • RTEMS

Hardware & Interfaces

  • ARM Cortex-A/M
  • MIPS
  • FPGA platforms
  • UART
  • I2C
  • SPI
  • JTAG
  • HSDP

Networking

  • SIP
  • RTP
  • TCP/IP
  • UDP
  • VoIP
  • FoIP
  • G.711 / G.729

Debug & Lab

  • GDB
  • Valgrind
  • Wireshark
  • Signal generators
  • Spectrum analyzers

Tooling

  • Git
  • GitLab CI
  • GitHub Actions
  • Docker
  • FastAPI
  • PostgreSQL
  • Jira

// get in touch

Let's build something reliable.

I'm always happy to talk embedded systems, interesting hardware, or new opportunities.