In May, 2005, while Rails was still in its infancy, I switched to Ruby and learned Rails to work on RosettaStone.com. My first contribution to Rails core was in 2006 and I released plugins for acceptance testing and CSRF protection that year. I’ve done Ruby development ever since and have contributed valuable open-source software to the community. I’m the developer behind RedCloth, a popular Rubygem.
Most of my work is with Ruby on Rails, the web application framework that is extremely popular with startups and large enterprises alike. I started using Rails in the early days (version 0.12) and few developers can claim the length of experience that I have. My first contribution to Rails core was in 2006 and I released form testing and spam protection libraries the same year.
Rails’ emphasis on testing hooked me from the start. I’m a strong advocate of Behavior-Driven Development (BDD) and try to never write a line of code without first having written a test to describe the behavior. That way, I don’t have to waste hours debugging problems in the browser and I can deploy changes to production with confidence.
Favorite tools to use with Ruby on Rails:
Rails made the Ruby programming language popular, but it owes some of its success to the beauty of the Ruby language. I’ve worked a fair bit on non-Rails Ruby projects, mostly in the field of text and data parsing. I’m the developer behind RedCloth, the popular Textile-parsing library, and have contributed to the Treetop and Parslet parsers.
My first commercial webpage was for a local athletic gear company in 1996. It was just a couple of pages, hosted on AOL. I’ve been making web pages in one form or another ever since. Needless to say, I’m an expert HTML and CSS developer but usually outsource design and front-end work, then just touch it up to my satisfaction. I’m a stickler for semantic HTML, clean CSS, and high-performance. I jumped on HAML, SASS, and asset packaging (now baked into Rails 3.1) almost immediately after each was released and they’ve steadily gained popular acceptance. The next thing the world needs to embrace is SPDY.
Favorite front-end tools:
- Twitter Bootstrap
- jQuery UI
- Photoshop & Illustrator
I’ve been accused on more than a few occasions of being a perfectionist. I’m an optimizer through-and-through, so I like creating marginal value on existing propositions. I enjoy and have experience optimizing technical performance, SEO, and the sales funnel.
Business Experience and Communications
Seldom do you find a businessperson who understands code or a techie who understands turning an idea into cash, but I bring together both worlds. In college, I studied business and economics (3 majors, 2 degrees, 4.0 GPA, honors program, summa cum laude). I started an IT business when I was 14 and I’ve operated other side businesses along the way.
Communication barriers often plague development projects. Business people and coders don’t know how to speak each others’ languages or see value propositions, deadlines, and interfaces from each others’ point of view.
I’m proud of my business savvy, my ability to explain complex issues to stakeholders, and the honesty and transparency with which I operate. I select projects that maximally leverage my project management, business, communication, and user-experience skills to multiply the value of the product I’m building. Startups are my favorites because of the room to innovate.
High-throughput transaction processing
I spent six months helping a startup develop a complex product that is capable of processing many thousands of transactions a second. It has an API built in Ruby, a front end built on Ember.js, and is backed by an infinitely-scalable NoSQL database. It scales up beautifully and will be the backbone for many high-volume companies’ financial data in 2013.
QFive is a social platform for the athletic community. So far my team has overhauled the user interface, streamlined performance, and added new ways for users to discover and follow content. We’ve also helped QFive build their team by evaluating candidates and training new designers and developers.
Bestions asked me to join their team just a couple of weeks before launch to help them hit their target. I did some profiling to dramatically speed up the app, added Solr indexing to power the search on the site, rewrote the question parser from a state-machine to a PEG (Parslet) parser for more robust question normalization, and helped fix numerous bugs prior to and following the site’s public launch.
Five-Star Basketball is known for their training camps which since 1966 have trained some of the world’s top basketball youth. Five-Star alumni include Michael Jordan, Grant Hill, LeBron James and Kevin Durant. They hired me to redesign the site (along with a designer). I used HTML5 and compass on Rails 3.1, added Facebook and regular logins (devise, omniauth, and cancan), PayPal integration, video embedding from multiple providers, search (thinking-sphinx), popular article featuring (impressionist), soft-delete of articles (paranoia), article tagging (acts-as-taggable-on, with my patch) and a slick custom jQuery drag-and-drop interface for assigning articles to the various content slots.
The app is covered with cucumber and rspec (testing libraries) and uses factory-girl, shoulda-matchers, capybara and selenium. It’s deployed on Heroku and I used AirBrake, NewRelic, and HireFire to manage resource utilization and keep it performant.
OSR Star Pages
OSR hired me again to write their Star Pages app. Customers and gift recipients can log into the application and write messages, upload photos and videos, and customize a star page to celebrate or memorialize an event or loved one. Then they can invite others to visit the page and leave messages for the recipient.
The admin interface is just a series of controls inline in the page, so the user can immediately see the effects of their changes. If they add a photo and crop it, it shows up immediately in the slide show. Various switches and buttons instantly hide parts of the interface, change colors, turn off commenting, etc.
The app uses Rails 3.0, HAML, SASS, and RedCloth. The data is pulled from their e-commerce system through an API that I wrote. It has an HTML5 uploader and stores the user’s photos on Amazon S3. Spam prevention is unobtrusive, and the app leans heavily on jQuery, jQuery-UI, and the Google Earth and Maps APIs. It is heavily internationalizated with the Rails 3 i18n API. We track pageviews and interactive events with Google Analytics.
A UK-based pharmaceutical company hired me to revamp and internationalize their site, fix some problems in their Rails e-commerce application, and do a lot of work to improve their analytics: tracking order sources, optimizing conversion rates, and converting currency for Google Analytics so they could compare traffic sources across markets and optimize the return on their ad spends.
Online Star Register
I worked with OSR, an astronomy-themed gift site, for several years. I integrated their Radiant CMS website with their PHP e-commerce system, made the site PCI-compliant so they could earn McAfee Secure certification, added many translations (now up to 26) and altered the design for right-to-left languages. We redesigned the site together, transitioned to new hosting, and deployed assets onto a content delivery network (CDN) for improved performance.
“Physical Therapy CRM”
I implemented many changes for a US-based physical therapy customer relationship management (CRM) company. Their software as a service (SaaS) product, built with Ruby on Rails, allows PT practices to track customers, remind them about upcoming appointments, and contact them for follow-up.
Virginia SHRM state council
The SHRM-VA hired me to create their 2009 conference website (no longer online) using Radiant CMS for the content pages. I evaluated various turnkey event registration solutions and eventually wrote a custom registration module for Radiant because it was more cost-effective for them than giving up a percentage of the registration fee for more than a thousand participants. The app registered users for the conference and used ActiveMerchant to accept credit card payment through Authorize.net.
Eastern Mennonite University
Prior to freelancing full-time, I worked for five years as an employee of EMU. I did Ruby on Rails programming for internal applications, a year-long CMS rollout and training, a massive website redesign, search engine optimization, email campaigns, CPC campaigns, and various special media projects, like the Google-powered campus map, 3D building modeling, and Flash projects.
Looking for a top-notch Ruby developer? Inquire about hiring me for contract work.