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.
Experience
Technology Consultant
Evaluated storage solution providers as potential business partners
Refocused a company away from custom software towards easily supported
and outsourced server-side technologies (SMTP, POP, LDAP).
Assisted a startup in defining its web strategy.
Maintained a live site enabling clients, vendors, and administrators to track progress of their projects
Lead Software Architect
Ported legacy PHP into more easily maintained and extended Ruby
Optimized databases for improved performance
Updated an administrative area to facilitate search and implemented
inline editing with AJAX and DHTML
Co-conceived, designed, and implemented the server side of the most
recent incarnation of
Internet Photo Messaging.
Designed and implemented a custom process management site in
Ruby on Rails
Designed and implemented distributed database schema for a mobile
phone based massively multi-player online roleplaying game (MMORPG).
Conceived distributed architecture for a Java based simulation game
(without an application server).
Generated requirements and chose technologies for tools used to create
content for video games.
Architected, implemented, and maintained message flow and
startup/shutdown of an AI-based simulation game.
Assisted in the design of a billing system for mobile phone based
games.
Engineering Manager
Led teams of 2 - 8 engineers in complex Java projects (AI, web,
and server, and mobile technologies).
Determined requirements and timelines for the team, communicated
these with the project manager.
Successfully led teams to deploy networked mobile phone video games,
Java GUIs, and Java based websites.
Java Engineer
Created Data Access Objects enabling mobile phones and Flash to
access a PostgreSQL database.
Wrote Java servlet for accessing server-side data from a mobile phone
or via Flash Remoting.
Implemented Factory pattern for loading and executing simulation events
from the database.
Designed and coded GUI (Swing) and web-based (JSP/Servlet) tools to
visualize and modify database data.
Conceived and implemented a graphical administration utility and wizard
in Java / Swing
Re-architected and refactored a multi-window application into a tabbed
interface.
Reviewed and optimized the code base to remove memory leaks and other
performance bottlenecks.
Implemented an online help system, including both code and content.
Chief of Information Technology
Responsible for a colocated cluster of 14 servers hosting mission
critical business services.
Scripted customization of new servers.
Maintained DNS (BIND), Sendmail, Apache, database (PostgreSQL, MySQL),
Tomcat, JBoss, version control (CVS, SVN), and bug-tracking (Trac)
services.
Embedded Software Engineer
Wrote SPI / sysfs driver for AD9833 Programmable Waveform Generator
Wrote I2C / sysfs driver for the PCA9552 LED controller
Integrated patches for SPI GPIO access into the Linxu kernel
Architected, implemented, and debugged Linux device drivers and
application code for a SCSI-Ethernet bridge device (custom hardware).
Led the software bring-up of several in-house prototype boards.
Specified and implemented a validation and bring-up scheme, a boot ROM,
and system software for a Sparc-based SoC implementation.