Skills
Organized, analytical, experienced, friendly, fun, responsible, careful, resourceful, disciplined, versatile, self motivated, creative, musical.

Languages
C/C++, Python, bash, Perl, PHP, Javascript, SQL

Web Technologies
HTML, CSS, jquery, django, node.js, web services

Embedded Technologies
I2C, SPI, USB, Serial, Linux driver development, buildroot, OpenWRT

Employment
Self-Employed – Web & Embedded Systems Programmer, Nov 2014 – current
Currently working various contract jobs doing both Web and Embedded Systems applications. Developing web applications and mobile device apps using HTML, CSS, JavaScript, jQuery, PHP, node.js, MySQL, and cordova (aka Adobe’s PhoneGap). Embedded work includes hacking wireless routers for custom firmware for a parental control application, and microcontroller firmware for an RS-232 fanout board intended to control 8 multi channel amplifiers as part of a new Dolby Atmos amplifier implementation for movie theatres.

Biamp Systems – Firmware Engineer, Nov 2012 – Sep 2014
Discovered and debugged issues with firmware installers. Maintained virtual machine image of development environment for other developers to use. Ported in-house custom embedded linux distribution to new CPU architecture, including adding support for cross compiling. Fixed many bugs in Tesira Server product line, a linux based embedded system.

Developed microcontroller code to provide simple low bandwidth serial link to a secondary system or programmable general purpose I/O (GPIO), depending on device configuration. Communication between microcontroller and host processor was over SPI.

Developed and maintained python scripts which automated branching and merging of a large SVN metaproject and its submodules.

Rodgers Instruments – Embedded Systems Engineer, September 2007 – Nov 2012
Developed embedded system software for digital pipe organ application. Worked on all aspects organ application, including boot loader, device drivers, and application software. Utilized primarily python and C, and some C++. Responsibilities included new board bring up and testing, hardware and software troubleshooting, support of field service staff, application maintenance, build system maintenance, and software development of new products.

Maintained and developed Linux based embedded application which could implement arbitrary Classical Organ configurations. Utilized XML to represent a language of describing, connecting, and aggregating various musical controls to implement custom organ specifications.

Created recording sequencer, implemented both as Linux kernel module, user space programs, and was also controllable through web interface. Created web based file management tool utilizing Pyjamas, and web based ‘organ browsing’ tool utilizing zeroconf and jQuery.

Utilizing wish (tcl/tk) and expect, wrote suite of tests for manufacturing to use for QA. This multilingual application utilized serial and ssh connections to run tests at the boot loader and application levels. It made the hardware QA task very simple.

I did this as a contractor after I left Rodgers. Implemented a django based dealer locator for Rodgers Instruments, which used GeoDjango to do geospatial queries in order to determine which dealership a customer should contact for sales and repair.

KETL, INC. – Software Developer / Owner, January 1999 – September 2007
Owned and operated KETL INC., a computer software consulting company that primarily did web application development. Acted as architect and lead developer on large and small projects. Utilized problem solving skills while managing a team of developers. Captured requirements from customer into specifications, which were then implemented in-house or outsourced to overseas development team.

Led the KETL organization through a transformation from a two person software development team to a nine person team including quality assurance, requirements specifications writing and software development. Did extensive work analyzing and documenting customer needs, writing specifications, project planning, and time and budget estimates. Also coded significant portions of deliverables.

Authored the back end portions of many database driven websites utilizing ASP.NET with C# and SQL Server (MS-SQL). Also used XML, XSLT, FOP, PHP, Perl, Javascript, MySql, Postgres, DB2 and Oracle (PL-SQL). Administered both Linux and Windows servers at collocation facility to run customer applications.

Hobby Projects
Developed a PIC based timer on an 18F starter kit that utilized a series of 4094 shift registers to control a series of lights. Time is added by pressing a capacitive touch button on the starter kit board. A series of LEDs light up much like an LED based VU meter to represent how much time is on the timer. The top most LED is modulated such that it starts blinking to indicate how much time is left on the LED. At first it blinks quickly. Then the rate is slowed down until it stays off, and then on to the next LED.

Developed a PIC based “USB Midi Expression Controller”, which used the A2D converters on a PIC18F14K50 to convert voltages from a potentiometer into USB MIDI controller messages. The design supports standard and high resolution modes, hysteresis to reduce noise fluctuations, programmable controller number, two potentiometer inputs, and two switch inputs.

Currently building a pro-bono web application that intends to revolutionize the way building codes are developed. It will use crowdsourcing techniques to assess risk in commercial buildings, particularly when it comes to areas that might violate building codes, or not be covered by building codes. This project uses Angular.js for the front end, which communicates to django via the django-rest-framework. This project is not yet into production.
Other Skills
Proficient at writing various business and technical documents. Five years experience in working with overseas remote developers.

Maintain a couple VPS Linux installations in order to do web hosting and email. Primarily use Linux at home, and have excellent Linux system administration skills. Most familiar with Debian, Ubuntu and Mint. I feel most comfortable using operating systems and applications for which I have the source code, since this allows me in theory to fix any bug no matter how deep or obscure.

Education
1997 University of Michigan, Ann Arbor
Bachelor of Science, Computer Engineering, cum laude
Elected president of HKN (Electrical and Computer Engineering honor society). Also served as Vice President. Member Epians engineering leadership society. Member ACM, Association of Computing Machinery.

1998 Completed Dale Carnegie personal development course.
This course provided a new level of confidence and poise that benefited myself both personally and professionally.

2006 Completed interpersonal communication styles course.
This course teaches that people communicate with different styles based on their core values. Recognizing and adjusting for other people’s styles can make communication more effective.
Other Hobbies
Hiking, writing music, motorcycling, bicycling, gardening, and cooking gluten-free meals.