Current Senior Software Engineer at Pyramid Technologies with 10 years of experience specializing in the development of high-availability embedded devices, automated tooling, and performance optimization. I have production experience in designing and deploying modern machine learning and artificial intelligence solutions. My goal is to help teams produce great products by contributing my experience, willingness to learn and share, and by always trying to do the right thing. I love learning new programming languages and technologies, deep-diving into zero-day exploits, and finding new ways to be productive. My hobbies include geeking out with baking science, mountain biking, and keeping my 3D printer running.
Experience
Pyramid Technologies, Mesa, AZ — Senior Software Engineer | July 2017 - Present
- Lead developer on counterfeit currency detection algorithms
- Extensive custom USB development
- Design and develop asynchronous task-based architecture on RTOS
- Mentor coworkers with code-review and training
- Grow suite of automation tools for CI and build tools
Pyramid Technologies, Mesa, AZ — Software Engineer | November 2012 - July 2017
- Design hardware control APIs to improve customer product experience
- Develop manufacturing telemetry systems using Elasticsearch
- Resolve software defects during the life cycle of multiple software projects
- Optimized AES implementation for MCU-specific architecture
- Maintain webserver, IT, and networking
Education
Georgia Institute of Technology, M.S. Computer Science | August 2016 - December 2018
Artificial intelligence with an emphasis in computer vision and compilers. Special projects include homographic projection and game theory intelligence algorithms.
DeVry University, B.S. Computer Engineering | July 2010 - November 2012
FPGA programming, digital logic, and a capstone project of remote software for a robotic submersible.
Project Catalog
New Product — Embedded System
- RTOS development supporting USB, FATFS, and other peripherals
- Custom scripting language for developer debugging
- Applied machine learning as a core product feature
Reliance Thermal Printer — Embedded System
- USB, peripheral drivers, font systems, and host protocols
- Cross-platform and extensively documented API using dotnet core
- Developed manufacturing telemetry systems using Azure and Elastic
Spectra Bill Validator — Embedded System
- Firmware peripheral drivers and secure flash update
- PC GUI for UX friendly LED pattern programming
Pro-2 Programmer - Embedded System
- Field programming unit for product line
- On-board binary verification
- SPI and UART interfaces
Phoenix Tools - PC Software
- Phoenix thermal printer maintenance utility
- Asynchronous, modern desktop application
- Image dithering and esc/pos rendering
- Auto-update system
Acceptor Tools - PC Software
- Apex series bill validator maintenance utility
- Multi-product configuration supports 400+ firmware variations
- Role-based product access
Reliance Tools - PC Software
- Reliance thermal printer maintenance utility
- USB HID integration
- Novel configuration control
- Font rendering and utilities
Manufacturing Automation - Linux Software
- Raspberry Pi based production automation system
- Uses Rust and C++ to program and diagnose QA processes
Patents
A Bluetooth vending machine device US20160086417A1.