Epiq Solutions (remote)
09/20 - present
Staff Embedded Linux Software Engineer
All stages of Embedded Linux development using Petalinux for the Xilinx Zynq-7000 and Zynq UltraScale+ SOCs, including kernel configuration, DDR optimization, driver development, packaging, and application development. I work with hardware and FPGA engineers to develop drivers for moving data from an RF ADC to userspace via AXI DMA.
Georgia Institute of Technology (remote)
08/16 - present
Graduate Associate Instructor - Computer Vision, Artificial Intelligence, and Operating Systems
I Work with students in developing multi-threaded socket Linux applications with various Inter-Process Communication methods, including shared memory, sockets, signals, and message queues. For more information
Southern New Hampshire University (remote)
07/20 - present
Adjunct Professor C++/Object-Oriented Programming
Teach software engineering fundamentals, Object-oriented Programming, C++, and interfacing Python to C++.
Georgia Tech DiLab (18-month grant )(remote)
01/19 - 07/20
Faculty Research Scientist / Software Manager
As a full-time faculty research scientist, I Managed a team of graduate students doing AI/ML Research and Development for the Jill Watson automated Teaching Assistant and Agent Smith automated TA training tool, about 5000 lines of Python code. Managed multiple AWS EC2 instances, an RDS database, and local SQL databases. Extensive work with IBM Watson and other ML cloud services from Google and AWS.
Analog Devices (remote)
09/14 - 01/19
Software Applications Manager: DSP/ARM
Working manager for a team developing custom embedded Linux (Yocto) and bare-metal firmware and drivers for the Analog Devices ADSP-SC589 DPS/ARM SOC. Bare-metal and Linux board bring-up; solving problems ranging from DDR configuration issues to layout and power supply drooping issues. Extensive use of PCIe protocol analyzer for debugging PCIe issues and use of USB protocol analyzer for debugging Linux and bare metal USB issues.
Tecnova (onsite)
09/13 - 11/15
Senior Embedded Software Engineer
Embedded software engineer developing bare-metal IoT appliances using the PIC32 and MSP430 microcontrollers. Worked on all phases of IoT development from system architecting, communication protocol specification, schematic reviews, embedded software development, board bring-up, and testing.
Berkeley Design Technology (BDTi) (remote)
8/11 - 09/13
Senior Embedded Vision Software Engineer
I developed pipelines for moving audio and video streams within various multi-core ARM SoCs (Linux and bare-metal) via DMA and optimized computer vision algorithms for different ARM SoCs. Dolby Digital Plus port to Qualcomm Hexagon DSP on Android and worked on a team with Dolby and Qualcomm to port DD+ to Android/ARM/Hexagon.
Freescale (NXP) (remote)
02/05 - 06/11
Senior i.MX Embedded Linux Applications Engineer
Custom project team porting UBoot and developing embedded Linux drivers for customer boards. Worked directly with customers to write project specifications and develop embedded software for the customer's hardware. Extensive bare-metal and Linux board bring-up experience solving problems ranging from DDR configuration issues to layout and power supply drooping issues.
Chamberlain (Patents 21 submitted, nine granted)
04/02 - 02/05
Advanced Development Software Engineer
Developed proof of concept prototypes for marketing and researched advanced technologies for use in movable barrier operators.