Printing tool Download PDF


User Interface Development
Understands the principles user interface design.  Implements maintainable UI software using XHTML,  CSS, JavaScript with a semantic markup and unobtrusive scripting approach.  Experience using Prototype  and jQuery. 
Relational Databases
Proficient with a variety of relational and document-oriented database concepts.  Understands the  tradeoffs between normalization and performance and can write custom queries, analyze, and tune  performance.  Most recent experience involves MySQL, PostgreSQL, and some CouchDB.  Familiar with MS SQL and Oracle. 
Ruby, Rails
Rails: REST, ActiveRecord, RJS, automated testing, routes, observers, plugins, RJS.  I'm alright at it...
Software Engineering and Theory
Requirements analysis and design, writing use cases, modeling.  Applies data structures, algorithms, and  design patterns.  Studied information retrieval, information visualization, and formal methods. 
Software Engineering
Professional Java development experience using Spring and Hibernate.  Familiar with Swing and J2ME  APIs.  Strong understanding of object oriented design concepts.  Comfortable with generics, annotations,  and the Reflection API.  Extensive experience developing Ruby on Rails applications. Strong  understanding of REST architectural approach, practical automated testing, and behavior driven  development (RSpec, Cucumber).  Sufficient knowledge of Ruby's dynamic language features.  Working  knowledge of C/C++ and memory management techniques. 

Work experience

May 2008Present


I am an integral member of a small agile web development team changing the way people manage their 

professional identity online.

•Guide technical activities of team members and participate in defining product features.

•Lead development of critical features: full text (Sphinx), geographic search, and match making.

•Manage development of experimental features: directed development of an iPhone application by a 3rd 

party and implemented the underlying REST interface.

•Improve user experience: created a RESTful file upload manager replacing a previously existing 

unreliable Flash design.

•Enhance ability to generate revenue: participated in the development of jobs/opportunities, created a 

“feature provisioning” mechanism for private instances of the site.

•Increase productivity by introducing new approaches, identifying opportunities for code reuse, and 

automating common repetitive tasks.

Feb 2008May 2008

TAC Secure

I was responsible for designing and implementing focused solutions for a  Theatre Effects Based 

Operations (TEBO) system in the Advanced Concept Technology Demonstration phase using Java EE, 

Spring, Hibernate, and MS SQL.  During my involvement, I improved TEBO by implementing an entity 

level localization feature supporting an arbitrary number of languages, default language caching, and out 

of sync translation detection.  My abstracted the underlying complexity of localization from front end 

developers.  The previous system only supported two languages because of limits stemming from 

technical design and required excessive configuration to add localization support to new business objects.

Feb 2007Feb 2008

Consultant, Technical Lead

FGM, Inc

I was responsible for leading the technical design and implementation of the Net-Enabled Command and 

Control Federated Development and Certification Environment.  My activities span from requirements 

gathering, analysis , system architecture, user interaction design, implementation of server-side and client 

side software, writing documentation and automated test cases, and training new developers.  This 

project makes extensive use of advanced features of Ruby on Rails such as RESTful routes, single table 

inheritance, polymorphism, and serialization.  It is also the first Ruby on Rails application to be deployed 

on a classified Department of Defense network.

•Created the initial domain model of the system and am responsible for designing changes.  My design 

makes use of many advanced features: polymorphism, single-table inheritance, serialization, and 

association methods.  Under my guidance we have adopted the REST style architecture for our 


•Designed and implemented a plugin extending ActiveRecord with a search method that maps query 

parameters to conditions.  I also created helpers for generating filtering and sorting interfaces.  The 

query tokenizer is implemented using a regular expression that gives users a way of expressing the 

search terms using Google like syntax.  This severely reduced the development effort of implementing a 

common feature.

•Designed and implemented an access control plugin for the system enabling developers to specify 

security rules for individual actions.  Because the customer required more fined grained control than a 

simple role based system would allow an open source plugin was not an option.  My solution uses a 

combination of roles and group membership to determine if a user may invoke an action for a 

particular instance of a resource.  In addition, I created helpers enabling developers to use the policy to 

control rendering of certain user interface elements.  By doing this we are capable of rendering buttons 

and links if and only if a user is capable of invoking the action.

•Designed and implemented a polymorphic resource that allows developers to specify additional 

attributes without making changes to the underlying schema using the Rails' serialization feature.  The 

resource makes use of single table inheritance to support the need for resource with different attribute 


•Created the CSS and semantic markup for the system.  Because the project team does not have a user 

interface designer I have filled this role.  Even though we are not permitted to use XMLHttpRequest in 

our deployment environment we do make use of the Scriptaculous javascript library.

•Configured our test and pilot environment.  Apache has been configured to support CAC and ECA 

(SSL certificates).  Rails has been configured to work with a remote MySQL server using SSL.  

Deployment has been automated using Capistrano.  We have recently enabled deployment of branches 

to a sub-domain corresponding to the branch name to test new ideas preceding a merge.

Apr 2003Nov 2006

Principal Advanced Technology Engineer

Albertsons, Inc

I designed, developed, and piloted an innovative portfolio of concepts that created cost savings and 

revenue opportunities.  Because the Advanced Technology Group reported to the CTO, I briefed him 

quarterly on a portfolio of concepts.  In recognition of our creativity and forward thinking, the CTO 

designated the Director of ATG and I as the technical representatives for the Store of the Future program 

and other strategic relationships.  My engineering efforts were accomplished while working on a small 

team under tight deadlines.

•Designed a shopping list and meal planner using Ruby on Rails that utilized several years of a 

customer’s history.  It provided users with a calendar view of shopping history that inspired by 

Google’s search history feature.  It also would generate a tag cloud of a shopper’s history for an 

adjustable time frame.

•Prototyped a “peerocratic” review system using Ruby on Rails that proposed a transparent way of 

managing activities and rewards.

•Drafted a plan for an in-store platform supporting the use of customer owned mobile devices.  The plan 

included user stories and an architectural blueprint that would support various features: locating items, 

comparing prices, buying music, and sharing recipes.

•Gained Albertsons involvement in the early beta of Flex and evaluating it for thin client kiosks.

•Implemented a savant to filter network traffic using JDK 1.4 that would buffer data and post data to a 

web service intermittently.

•Created a deployment utility for Windows Mobile devices used by Albertson’s out-of-stock programs 

using the .NET framework.

•Prototyped store climate monitoring using a sensor network.

Apr 2000Nov 2002

Web Producer


Initially, I reported to the Director of IT with basic administrative responsibilities and maintenance of the 

external web site.  In my spare time, I created an intranet with a message board and an online directory 

using an LDAP backend. I also evaluated and implemented a website traffic reporting tool for our 

marketing team.  Other accomplishments included a Flash micro-site and integrating syndicated content 

from third parties using a Java SAX XML parser into the external web site. 

These contributions prompted the VP of Marketing and Business Development to recruit me onto his 

team and contribute technically to sales and marketing. Afterwards, I developed an email campaign tool 

that helped sales people target potential customers with customized messages and track results.  Because 

of my ability to identify, evaluate, and explain the potential value of new technologies I wrote marketing 

collateral and contributed to white papers written by the CTO.

Apr 1997Apr 2000

Web Engineer

Hewlett Packard

I began working at Hewlett-Packard while I was still a senior in high school.  I had been creating and 

managing web sites on HP intranet.  As an intern, I was tasked with learning how to administer 

Window’s desktop machines to and NT and Unix servers in the data center. 

I started by learning HPUX and PERL because most of the dynamically generated web content was done 

using CGI on Unix systems at the time.  When Microsoft released IIS and FrontPage the IT organization 

migrated from the Unix world over to Windows NT 4.0.  I was the first and last line of support for the 

various teams that were hosting web sites on the local site network and became the local expert for 

anyone building a site for their group. 

After becoming a proficient ASP developer I was given the opportunity to develop an application that 

made it possible to manage printer warranties with a web application instead of a shared spreadsheet.  I 

was paired with a database admin and after three months had successfully delivered a working product 

that let an entire organization make and share changed information instantly. 

My success at HP helped me earn a full-time position with Agilent as a web engineer where I continued 

supporting and helping users until I left in 2000. 

Tertiary Projects

Orderve : Restaurants, Menus, and Orders -- oh my!

CryoText : Mobile placemarks and messaging.

Java Shell Annotations : Command line enable your Java classes.

Peerocracy : Goal mapping and tracking for groups.

Where I Am

Consulting, Side Projects

•Orderve - Find restaurants and place an order for pickup.  The site is implemented using advanced 

REST and Ajax techniques.

•Java Shell, 2007 - I created a Java library that enables a developer to shell enable a program using 

annotations.  This enabled me to focus on the learning objective for class assignments instead of writing 

repetitious code mapping user input to method arguments.   The library makes heavy use of the Java 

Reflection API.

•Startup Weekend DC, 2007 - Participated as a developer, worked closely with UI team to implement 

semantically correct interface using CSS.  I assisted in analysis of the concept and design of system 


•CryoText, 2006 - Created a site for users to register a keyword and a message.  When anyone sent an 

SMS to a phone number the message would be sent as a reply.  Users could see who requested a 

message and also what requests they sent from their phone.  I created a Java application for a 

Blackberry to handle routing and implemented the site using Ruby on Rails and MySQL.

•Rec’n’Ball Records, 2002 - Implemented a site for a startup record company.  I created a basic content 

management system using PHP, today I would use an open source content management system 


•Courseware Library for Agilent, 2000 - I implemented a web application enabling employees to manage 

courseware documentation using ASP and MS-SQL.


Aug 2007Present

Computer Science

George Mason University - School of Information Technology & Engineering
Aug 2006Dec 2006

Boise State University


Dec 2006Present

Sun Certified Java Programmer

Sun Microsystems