Other Development Related Information

Software development is more than just writing eligent code. I wear many hats during a project including:

Below are some examples of non-programming tasks I have been responsible for.


Evanta365 | Data Architect

The Evanta365 database has 75 tables, 740 columns, 370 indexes, and 231 foreign keys. Designing and maintaining this database was a challenge due to its highly relational requirements. Columns near the top of the relational tree can have as many as 60 foreign key dependencies cascading down. All tables were created and updated using Rails migrations.

Realistic and sometimes entertaining seed data for each table was created using the Faker gem.


Cortina Systems | Reverse engineer and migrate database to Joomla CMS

My responsiblities during the project to update Cortina's outdated website from a home-grown Perl implementation to Joomla involved migrating data from their MySQL database. No one involved in the original database design was still with the company so the first step was to reverse engineer the structure. I found unused tables, poor normalization, missing foreign keys, and insufficient indexing.

New tables were created, addressing problems with the original model, and migration scripts were used to move the data to its new home.

API Documentation

Evanta365 | API Documentation

In order to efficiently communicate API functionality to the desktop, iOS, and Android front-end developers an API documentation website was created.

This site, developed in rails using Gollum. All documentation is stored in a git repository for easy change management.


Volunteer Work | Portland Sunday Assembly

I maintain the website for the group Portland Sunday Assembly. Since taking over maintenance of this site I've added Facebook, Twitter, Google+, Paypal, and Meetup.com integration.

The site has recently been migrated from Wordpress to Nationbuilder which is a platform that caters more to nonprofits and charities.

Thanks for looking