An experienced software engineer, veteran of embedded,
application, web, and server-side environments with an appreciation for
management and the associated challenges. A capable architect and coder
looking for opportunities to design and implement interesting projects and
technologies.
Big jobs to little jobs, strategic technology
consulting to device driver development, contracting has led me to a little bit
of everything.
Embedded Linux Developer
when a stealth medical device startup company needed
SPI and I2C kernel drivers for a handheld device.
Wrote SPI / sysfs driver for AD9833 Programmable Waveform Generator
Wrote I2C / sysfs driver for PCA9552 LED controller
Integrated patches for SPI GPIO access into the Linux kernel.
Assisted in board bring up.
Web Services Consultant to Preclick where I helped shape and implement web services strategy.
Assisted in evaluation of and partnering with storage solution providers.
Co-conceived, designed, and implemented/configured the server side of the most recent incarnation of Internet Photo Messaging .
Helped to focus the company on a minimal number of well supported and easily staffed server side technologies (SMTP, POP, LDAP, PHP).
Ruby on Rails Developer at Trabian where I developed a polling plugin for their content management system.
Helped to extend the open source Mephisto CMS
Used AJAX and DHTML to display poll results without a page reload
Implemented Rails helpers to make integration simple
Web Application Tactician to Mabo Studios. Created an application to allow automated and auditable process management. Responsible for design, implementation, deployment, and maintenance.
Designed and implemented a custom process management site in
Ruby on Rails
Integrated javascript libraries (script.aculo.us, Prototype) for
improved usability
Used web standards to improve page load times as well as
accessibility.
Principal Java Engineer for
ConVisia's
document collaboration software. Responsible for major components of the rich client interface as well as upgrading the engineering processes.
Conceived and implemented a graphical administration utility and wizard in Java / Swing
Re-architected and refactored the multi-window interface into a tabbed interface.
Upgraded the company from CVS to Subversion and Trac, led training sessions in the new technologies.
Reviewed and optimized the code base to remove memory leaks and other performance bottlenecks.
Implemented an online help system, including both code and content.
Ruby on Rails Developer for Digital Learning Commons where I implemented integration projects between their platform and external software and authentication vendors.
Ported PHP authentication code into Ruby
Updated an administrative area to facilitate searching and
modification of records.
Optimized database schemas to improve performance
VP Engineering,
Tomo Software,
Los Angeles, CA
2003 -
2005
Responsible for server-side architecture, engineering management, coding, and system administration.
Designed and built an AI-based, distributed simulation game in Java, including web and phone APIs.
Designed a distributed database schema to support the game.
Generated requirements and chose technologies for tools used to create content for the game.
Assisted in the design of a generic billing system for mobile phone based games.
Maintained fourteen servers running the game and associated support services.
Grew the engineering department from two engineers to seven.
Led the software development for the Leonardo System on Chip (SoC) project. Participated in specifying, testing, and debugging the SoC. Managed another developer working at a remote site.
Specified and implemented a validation and bring-up scheme.
Wrote a boot ROM, and assisted in porting uClinux and Leon software to the platform.
Packaged a complete development environment for distribution to potential customers.
Created and ran benchmarks comparing code density in Sparc vs. ARM processors. Wrote and distributed a paper detailing the results.