Experienced hardware oriented software developer and systems architect. My expertise is high-performance and embedded systems. I have taken and am capable of taking entire embedded systems projects from initial concept to market.
A target role for me would be as a Principal Architect role in Software and/or Embedded Systems. I am able to travel and potentially move for the right role.
- Embedded Systems Design
- Medical Imaging/AI devices
- Video game design
- High performance computer or Video system design
- Linux Kernel Driver Development
Education
- Bachelor of Computer Engineering, Georgia Tech
- Master of Electrical Engineering, Rice University
Skills and Experience
Systems Architecture
Architected Systems drive control daemon on Dell DM5500 System.
Architected Resi E-4300 4kp60 encoder.
Architected and debugged numerous issues on Enbase TE-1000 system.
Software
- C and C++ I use C and C++ quite often. You can see some samples under my Linux Kernel Projects and the Verilator sections of my FPGA Projects.
- Python I have Python samples under Python Samples, Machine Learning and FPGA Projects. Prior to Python I did numerous projects in Perl.
- Linux Very familiar with systems programming (gcc, ports, web services, etc) and some Sample Linux Kernel projects.
- Verilog I use Verilog for FPGA Personal Projects. Prior to Verilog I worked in VHDL.
- Machine Learning I have been learning the ins and outs of Machine Learning.
- CUDA I use CUDA for GPU Programming on NVIDIA architectures. I have a GPU Sample Project. Elementary although I have a lot of experience with parallel programming.
Hardware
- ASIC Design I spent over a decade at Texas Instruments designing TMX320C6X-line processors (TMS320C6201,2 and 3, DaVinci and also trained many of the OMAP developers).
- Hardware Protocols I am very familiar with CAN/I2C/SPI/UART protocols.
Methodology/Specifications
- Test Driven Development I am a huge believer in Test Driven Development and do most of my work with this approach.
- CI/CD Software is continuously updating and changing and persistent checking is crucial.
- Docker I am a huge docker fan and use it for a lot of my work.