Specific Experience

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++
  • Java
  • Objective C
  • ARM, Power PC, 68000, i386, and other assembly languages
  • Python, Perl
  • HTML, CSS, Javascript, AJAX, PHP, MySQL
  • Unix shells
  • Matlab

Tools

  • GNU tool chain, CygWin
  • Eclipse
  • TI Code Composer
  • Green Hills MULTI
  • Microsoft Visual Studio
  • Apple XCode
  • STL, Boost
  • Subversion source control
  • Git source control
  • Perforce source control
  • TFS source control
  • AccuRev source control
  • Microchip MPLAB
  • Atmel AVR Studio
  • Cypress PSoC Designer
  • Enterprise Architect UML tools
  • Doxygen, JavaDoc

Operating System Programming

  • Linux kernel development
  • Linux driver development
  • Linux systems administration
  • Pthreads programming
  • QNX
  • LynxOS Real Time OS
  • Green Hills VelOSity
  • ThreadX
  • MicroC/OS-II
  • Windows Win32
  • Mac OSX
  • Phar Lap ETS

Communications

  • Sockets programming
  • TCP/IP, UDP, Multicast, HTTP
  • Bonjour/Zeroconf
  • USB
  • I2C
  • SPI
  • RS-232, 422, 485, etc.
  • HDLC, BISYNC
  • 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
  • Motorola 68000 processors
  • ARC processors
  • Microchip PIC processors
  • Atmel AVR processors
  • Cypress PSoC processors
  • Zilog Z80 processor
  • Motorola HC11 processor
  • PC-104 systems
  • Flash memory technologies
  • Logic Analyzers, scopes, etc.
  • Basic digital hardware design