Personnel Skills

Led small development teams, defining tasks and schedules. Good interpersonal skills, and have worked with people from various backgrounds. Good writer, educator, and presenter. Comfortable and willing to travel.

Software languages

Primarily C, C++ and some Assembly. Developed PC-based applications in Java, Perl, and C#. Various other scripting and high-level languages as needed.


Many different processors, including microcontrollers such as TI MSP430s, Atmel AVRs, DSPs such as the TI TMS320C40, and custom processors designed by Synaptics.

Operating Systems

Most development has been on “bare silicon”, without an OS, but I’ve also worked with Linux, uC/OS-II, and Windows CE on embedded platforms.

Communication Protocols

Inter-chip communications using I2C and SPI, and various external interfaces (RS-485, RS-422, RS232, ARINC 429). Some Ethernet experience running TCP/IP. RF experience, using a custom RF-based protocol and RFID.

Software Processes

Developed software per DO-178B (including levels A and B), DOD-STD-2167A and MIL-STD-498. Familiar with SEI development model and some agile methods.

Software Development Tools

Used various development platforms, including IAR Embedded Workbench, TI’s Code Composer. Various compilers, but mostly GCC-based systems.

Version Control

Used CVS, PVCS, Visual Source Safe (barely qualifies as version control), Subversion, Synergy, Perforce and GIT.

Analytical Tools

Some experience with MathCAD and Matlab. Proficient in debugging software and hardware with In-Circuit Emulators (ICE), JTAG debuggers, logic analyzers, oscilloscopes and other standard lab equipment.

Software Verification

Experience in developing test cases for aviation products following DO-178B, level A, including MC/DC coverage and regression analysis.