Experience

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