MakerSpace.com - Maker Media
Full Stack Developer
February 2015 - Current
Think Make Magazine, Maker Faire, etc. In this postion I've dove deep to surface some really stinky code, DRY'ing-up and simplifying an app at an early stage of maturity.
- Implemented a complete staging environment including nightly sync'ing from production for all data points in the stack (elasticsearch, mongodb, postgres, s3 assets)
- Designed and faciliated the normalization and automated import of over 2000 Makezine.com tutorial projects
- Reviewed and updated the backend architecture to accomdate better scaling
- Worked closely with our front-end dev to stabalize and enhance the front-end tech (Angular.js)
- Designed several new product features with the Product Manager and team and implemented them (status updates, improved activity feeds, user profile enhancements, etc)
- Reviewed and help establish better development process practices including named and time-boxed releases, bug tracking via Github, exception tracking, etc
MyHabitJournal.com - Habitworks, LLC
Head of Engineering
April 2014 - February 2015
As part of this very small compamy I worked intimately with the UX/Design lead to build a compelling MVP Health Coach app from scratch using a Rails and Angular.
- Designed and implemented entirely UX down: features were discussed, white-boarded, prototyped and user tested in front-end code with mock data all before any requisite backend functionality was added
- Developed the Angular entirely decoupled from Rails
- Developed a clean RESTful API inside the existing Rails app
- Maintained the existing Rails app while transitioning to the new front-end design
Senior Ruby on Rails Developer
May 2012 - April 2014
After over 5 years as a freelance developer I took a full-time salaried position with Motista where I became owner of a Rails 2.x application rather heavy in technical debt. I worked with a contracted remote team of 1-3 other developers to get the app up to date bring the app back into an agile and maintainable state. As developer, in addition to improving existing functionality and adding features, I completed an initiative to move most front-end presentation and functionality into an Angular.js application interfacing with the Rails app via a simple JSON API opening the door to a necessary re-architecture of the data store without losing functionality nor continuity with the existing tools.
- Narrowly avoiding the "big rewrite", I dug in deep, refactoring and re-writing in the course of delivering several key new features
- Upgraded legacy application from Rails 2.3 to Rails 3.2
- Extensive re-factoring and re-writing towards better use of convention and loose-coupling of layers
- Developed a highly customized HighCharts implementation to replace the existing AMCharts
- Moved legacy inline and server generated JS snippets into a cohesive and decoupled Angular.js front-end application
- Organized and managed workflow for our 3 "off-shore" / remote developers
Best-of-breed commissions accounting application for insurance brokerages.
September 2010 - April 2012
Client wanted to extract their own commission accounting process currently facilitated by a Delphi-based desktop application into a web application which they could market to other brokerages. An insurance brokerage industry leader, they have the clout and resources to market and support a software-as-service application which would automate a manual and often error prone process. The automation of this process brings better accountability from the insurance carriers to the brokerage promising recovery of otherwise missed commission payments.
- Exploration and optimization of existing business processes, leveraging the advantages of web technologies to more directly inform and involve the sales agents in the commissions auditing process.
- Full record change auditing and role-based authorization
- Employed a variety of very helpful Ruby Gems: authlogic, cancan, acts_as_audited, simple_form, haml, sass, wicked_pdf, simple-navigation, high_voltage, json_builder
ParentHelp123 - WithinReach, WA
Bringing public programs within reach to low-income parents in Washington state.
September 2006 - January 2010
This project began as a Rails 1.1 app which I was hired to bring up to Rails 2.0 standards. From there a much larger project was kicked-off which I was lead developer on for a year and a half. The ParentHelp123 product leads low-income parent clients through an extensive household, income and life situation interview which results in completed PDF forms which are submitted to the state of Washington to apply for various social programs. The resulting forms total over 20 pages in length and the user-friendly interview process facilitated by the application greatly ease the application process to these programs for clients. The program is funded by both the Gates Foundation and Paul Allen and is promoted extensively state-wide affecting a chartable increase in enrollment to otherwise under-utilized state programs.
This project included four separate Rails applications: the interview app, an admin app (now merged with the main application), the ResourceFinder app used locating nearby parent resources and a Radiant CMS based front-end site. The entire project was eventually migrated to a local Seattle-based team on which I was engaged as consultant to help complete the latest production version of the application which is now in Rails 3.
- Design and implementation of a new business process for managing generated applications for clients, including both business process consultation and the implementation of the associated application to facilitate and support this process
- Developed product, including extensive re-writing and re-factoring, from existing immature Rails 1.1 application into a robust Rails 3.0 application
- Develop a the new ResourceFinder application based on existing data from state systems integrated with Google Maps
- Generation of form-filled PDF application files
- Abstracted the handling of a "step-by-step" interview wizard complete with validations into an very flexible open source Rails plugin (see restful_workflow)
- Extensive customization and extension of Radiant CMS for front-end website
- Worked with UberMind, LLC as member of six person team in a strict Agile development process including daily stand-ups and bi-weekly Sprint reviews
The leading online resource for Americans and Canadians retiring to Mexico.
April 2009 - January 2011
This project began with the objectives of: bring existing site and content consisting of over 30k of static HTML pages into a proper content management system, and two, integrate ad serving to better track and monetize site.
- Assembled and managed along Agile lines a team of 3 other developers
- Conversion of 30k static HTMl pages into a dynamic and not-looking-back ad server monetized site. Leading website for those living and retiring to Mexico from elsewhere intends to stay that way.
- Development of a sophisticated content management system in Rails
- Development of an ad hoc content conversion tool using Rails, ExtJS and Hpricot
Creative Coast Initiative
Bringing Savannah, Georgia into the tech spot light.
March 2009 - July 2009
- Re-factored and improved custom CMS design and architecture
- Integrate many new features including dynamically generated graphs through API data
Ko's Journey - Imagine Education
Math is an adventure, this is not your usual middle-school math education.
2007 - Current (on-going consultation)
- Assist in conception and design of online middle-school math game
- Integrated Rails application with Flash app to make a cohesive and rich game experience
- Implemented front-end marketing, sign-up and game state management site in Rails
- Implemented test and assessment component of Flash-based game
GoodGift - AffinityXM
Better gift giving
October 2010 - February 2011
A Facebook app to bring together giving to a cause for any given gift occasion.
- UX / front-end first design
- Agile: Do'able feature stories, Timeboxing, Review, Iterate!
- "Premature optimization is the root of all evil" - Donald Knut
- It shouldn't hurt
- The Joy of Being Wrong
- Make love not war
- Ruby, Rails
- Postgres, MySQL
- ... and all the great components out there
- The latest Rails 4 stack
- ...and so many great gems
- HTML 5
- HAML & SASS
I know well, but don't savor
- Legacy Rails 1.x-3.x apps
- Upgrading Rails 2.x apps to current
- Prototype.js (you had your day)
- jQuery Datatables
I've had the privilege of attending the following conferences:
- RailsConf Portland 2013
- Mountain.rb 2010
- RailsConf 2010
- RailsConf 2008 (lightening talk on restful_workflow)
- RailsConf 2007
BA Computer Science, Business Emphasis
1993-1997 Seattle Pacific University
NOTE: This is currently incomplete, I have one quarter of classes to complete via correspondence for a degree in the current academic year due to a final two courses which I didn't re-take in 1997.