Resume
General
- Embedded systems
- Software architecture
- Object Oriented Design
- Schedule creation and maintenance
- Requirements gathering
- Specification writing
- Unified Modeling Language
- Design patterns
- Classroom-based instruction/community college teaching (Electronics, OOD, Programming )
Languages
- C
- C++
- Python
- Java
- Objective C
- ARM, Power PC, i386, and other assembly languages
- HTML, CSS, Javascript, AJAX, PHP, MySQL
- Unix shells
- Matlab
Tools
- GNU tool chain, CygWin
- Eclipse
- TI Code Composer
- Microchip MPLAB
- Atmel AVR Studio
- Cypress PSoC Designer
- STM Cube MX
- Green Hills MULTI
- Microsoft Visual Studio
- Apple XCode
- STL, Boost
- Subversion source control
- Git/GitHub source control
- Perforce source control
- Enterprise Architect UML tools
- Doxygen, JavaDoc
Operating Systems Programming
- Linux kernel development
- Linux driver development
- Linux systems administration
- Pthreads programming
- Yocto
- QNX
- LynxOS Real Time OS
- Green Hills VelOSity
- ThreadX
- MicroC/OS-II
- Free RTOS
- Windows Win32
- Mac OSX
Communications
- Sockets programming
- TCP/IP, UDP, Multicast, HTTP
- Bonjour/Zeroconf
- USB
- BLE
- I2C
- SPI
- CAN
- RS-232, 422, 485, etc.
- SCSI
- I2S, SPDIF
- MIDI
- NMEA protocol
Hardware
- Intel x86 – Pentium processors, real and protected modes
- ARM processors
- TI DaVinci SoC
- Freescale ColdFire processor (5206, 5307, 5272, 5474)
- Freescale Power PC processors
- NXP iMX.6 iMX.8
- Nordic NRF52
- Microchip PIC processors
- Atmel AVR processors
- Cypress PSoC processors
- PC-104 systems
- Flash memory technologies
- Logic Analyzers, scopes, etc.
- Basic digital hardware design