About Me
Summary
I am a craftsman with a strong work ethic. I take pride in my work, and I constantly seeks to improve my trade. Clients come to me for help creating software solutions that solve practical business needs. I am passionate about contributing to the open source community and I have a clear vision for my career.
I maintain Harvested, a Ruby API wrapper for Harvest. Some of my favorite books are Outliers, The Farseer Trilogy, The Tawny Man Trilogy, and Good to Great. I prefer typing in Dvorak and I love seeing my daughter smile.
Technical
I have extensive experience with: Ruby, JRuby, Rails, RSpec, Cucumber, BDD/TDD, Testing, jQuery, Git, SVN, REST, MySQL, CouchDB, HTML5/XHTML/CSS, Apache, Passenger, Linux Administration, Xen Virtualization, Payment Gateway Integration, Twitter API Integration, Facebook Connect/Integration, Agile Development Practices, and working in startup environments. I also have experience in scaling web applications, creating fault tolerant infrastructures, and revenue modeling.
Experience
Adjunct Professor at Grand Rapids Community College: Jan 2010 - Apr 2010
I taught the Advanced Java course at GRCC which focuses on teaching advanced practical topics such as Colloboration vs Inheritance, XML/JSON Serialization, Threading, Thread Safety, Data Structures, and Unit Testing. Due to lack of materials from previous classes I created the entire curriculum for the course.
At the end of the semester, I wrote about my experiences teaching.
Elevator Up: January 2007 - May 2010
I've taken the technical lead on many of Elevator Up's projects from decision, architectural design, and the implementation. Beyond the just developing code, I have also been tasked to train junior developers to become productive contributors to the team. These projects have exposed me to many leading open source technologies surrounding the Rails stack.
Though my role is primarily a developer, I've also taken responsibility in a wide variety of non-software areas. Business Planning, Business/Revenue Modeling, Interviewing/Hiring, Proposals, Estimating, Project Management, Server and Network Engineering/Administration, User Interface Design. My roles have consistently required me to distill technical knowledge and translate it into business terms.
Projects:
- Downstream - A startup I helped form for Momentum MI that is focused on backing up a user's cloud data. Tweetstream was our first launch that focused on backing up a user's Twitter data. Used OAuth and Delayed Job. Originally wrote the application in CouchDB, but then refactored it to MySQL. The entire application is tested outside-in using Cucumber and Capybara/Selenium.
- Ascribe - Ascribe was a startup that helps building contractors show off their projects and their relationships with other companies. This was an application built from scratch using Rails and MySQL. I helped put together their subscription plans, we used liquid templating so users could customize their project pages, and we integrating subscription plans with Payflow Pro
- Facing Us and Wellness Tracker - Both projects were built from the ground up for DBSA meant to help provide tools and support to their audience, as well as letting them share their experiences while respecting their privacy. While the applications were built separately, they offer single sign-on using session ids. Also used JRuby to generate PDFs from HTML
- Elevator Up Hosting - I acted as a DevOp and managed the entire datacenter operations which included provisioning servers, maintaining customer virtual machines, and creating and documenting processes in our company wiki. I introduced and implemented Xen Virtualization in order to reduce hardware costs. I also managed support tickets for customers and built high availability setups using tools like Heartbeat, HaProxy, and DRBD.
Atomic Object: April 2006 - September 2006
I contracted with Atomic Object for a short time, and had the opportunity to become immersed into Agile Development, specifically with XP.
Projects:
- Oracle Reporting - Spent time with SQL queries that would take days to complete, and optimizing them so they would complete within a couple of hours. Used the built in Oracle Reporting engine to create new and maintain reports for a large health insurance agency. Additionally I refactored large queries into PL/SQL that was tested with Ruby
- Personal Designer - Worked with Open Laszlo and Tomcat to allow users to upload photos of offices or rooms, and personalize the interiors.
Foxbright: July 2005 - April 2006
I lead the development of a single project for over a year, working with lightweight (at the time) Java libraries.
- ERP System - Built a system from scratch that helped the client manage all internal operations for their business. Technologies included Java, Spring, Hibernate, and jUnit
GE (f. Smiths Aerospace): September 2004 - August 2005
I started as an intern and then moved into a lead developer for an internal project.
- Engineering Project Manager System (EPRS) - Helped build a system in J2EE to help facilitate meetings between Directors and Project Managers.