Résumé

Summary

I have been a professional programmer since 2007. My primary areas of focus are software development using the .NET framework and firmware development using C, focusing on Microchip's PIC series of microcontrollers. 
 
The firmware is designed for specialty sensor boards, and the software acts to manage and record from the series of sensors. I also have light experience with embedded Linux for more advanced embedded systems.
 
I have experience with networked microcontrollers using communications protocols such as CAN, I2C, SPI and UART. On the PC side, I interface with the sensors using USB-HID, USB-CDC and RS-232, with custom written software in C# .NET, VB .NET or Qt.
 
My work often entails debugging using multimeters, oscilloscopes and logic analyzers. I have moderate skills with electrical engineering and mechanical engineering, as they are required to properly integrate the various facets of a project into a single, coherent product.
 
Outside of my professional work, I am a hobbyist game developer, using C#, XNA and Unity to create Windows games.

Skills

  • PIC18/24/32 firmware development
  • Multi-MCU device development
  • I2C, CAN, SPI, UART, USB-CDC, USB-HID, RS-232
  • 4-Wire Touchscreen Interface
  • Microchip XC8, C30 and XC32 compilers
  • Git / Subversion
  • C# 4.0 / VB .NET 4.0
  • C++ and Qt
  • Windows and Linux development environments

Experience

Sable Systems, International
Las Vegas, Nevada

August 2012 - Present
Software / Firmware Developer

January 2012 - August 2012
Internal Applications Developer

BDI
Las Vegas, Nevada
February 2007 - December 2011
Development Manager

Soma Financial
Henderson, Nevada
November 2005 - January 2007
Web Developer / Graphic Designer

References

References available upon request.

Education

Southern Nevada Vocational Technical Center, 1999-2003
Henderson, Nevada
3D Animation

Accomplishments

As software / firmware developer, I use the .NET 4.0 framework to maintain and create software that interacts with Sable System, International's line of metabolic research equipment. I also maintain the firmware for that equipment, which is written in C and compiled on the XC8, C30 or XC32 compilers for PIC microprocessors.

I have acted as both a team member and a team lead, overseeing projects from initial planning through to completion and release to production. At times, this has involved researching and implementing brand new architectures, protocols or methodologies to expand the capabilities of the equipment I design.

I am one of the primary architects of the SableBus protocol, an inter-instrument communication protocol that serves as the backbone of the new Sable line of equipment. I also served as team lead during the initial Sable line redesign, keeping the team on schedule to develop and release the most significant product line upgrade the company had seen in 6 years.

As Internal Applications Developer I was the primary web developer at Sable Systems, International and was tasked with developing and maintaining SableOPS. This internal application exists to manage all facets of product design and manufacture. When I started, SableOPS was in its infancy and it was my task to bring it to a mature state. I did this through extensive code refactoring and implenting modern features such as bcrypt, PDO, SASS, HTML and PHP 5.4's features. I also reworked nearly all of the JavaScript to make use of jQuery for cross browser stability and efficient event handling.