- I'm well-versed in DevOps culture and best practices, having been on both sides of the developer / operations line. I have experience with several deployment/configuration management tools: Chef, Puppet & Ansible.
- I've contributed to several open source projects: capistrano, mongomapper, moonshine (and many many moonshine plugins) and others.
- I'm a certified Scrum Master and have led agile teams of all sizes (from 5 member teams to 150 developers across three contintents and five time zones) in both Scrum and Kanban. My teams deliver quality products on time and on budget.
- I'm a proven team leader, having led development teams at AOL, Music Intelligence Solutions and Rails Machine. I love a challenge and love mentoring and coaching my teams to deliver their best work.
- At Music Intelligence Solutions, I ran the production, QA and development servers (CentOS), manage monitoring and deployment. Since I took over systems administration, our production systems had over 4 9's of availability.
- I'm comfortable with MySQL, MariaDB, MongoDB, ElasticSearch, Redis, having built, supported and scaled several applications with them.
- I have six years' experience with Amazon Web Services, having scaled up products using EC2, S3 and RDS. I'm familiar with both RightScale, Puppet and Opscode Platform for configuration and deployment management.
- I love Ruby on Rails and have architected and built several successful products using the framework.
- I am a passionate believer in The Cluetrain Manifesto, in personal leadership, in having passion for my work, and in doing the right thing.
- I have built training programs around web standards, and delivered them around the globe. I've spoken on web standards-related topics at dozens of conferences over the years.
- Having been around since it was called "community", I'm plugged in to the social media world and know what works both from product and marketing perspectives.
- I was AOL's Advisory Council Representative on the W3C, and was a member of the CSS Working Group for three years. I am familiar with web standards bodies, and how the W3C works. I am also active in AOL's Developer Network - attending and speaking at conferences, and working as an ambassador for the program.
- I am well-versed in SEO best practices and implementation.
- I've been blogging for over twelve years and am familiar with several different blogging platforms.
- I also know how to invent holidays. I created The International Day of Awesomeness in 2007 as a way to inspire everyone to perform "feats of awesomeness" at least once a year (it's 3/10 if you'd like to join in the fun).
I've spent my entire career at three companies: AOL (1995-2008), Music Intelligence Solutions (2008 - 2012) and Rails Machine (2012-present). I "grew up" at AOL, starting in technical support over a summer break from school. I was learning so much and having too much fun to go back to school, so I stayed. I ended up working in the PrimeHost queue (AOL's small business web hosting company), where I was given my own web server with full scripting access (Tcl) and a relational database to play with (Illustra). I fell in love with web development in 1996 and have never looked back. I caught the attention of a team at the home office in Dulles, VA, in 1998 and moved there in early 1999, where I was the first "web guy" on the team. I worked my way up the technical ladder, going from "Associate Interactive Media Developer" to "Systems Architect" in seven years. I've listed some highlights from the projects I worked on below (there are so many, I don't even remember all of them), but I thought I'd list some of the roles I've held over the years here:
- Interactive Media Developer (basically, a front-end developer)
- Associate/Senior/Principal Software Engineer
- Systems Architect
- Advisory Council Representative to the W3C
At Music Intelligence Solutions
- Chief Architect
- Interim CEO
At Rails Machine
- Chief of Engineering
It's important to me to be involved in my community and do what I can to help out. When I was at AOL, the developers in the company were my community. Now that I live in Savannah, my community includes local developers, designers and entrepreneurs. Here are some of the things I've done with regards to community involvement.
- Creative Coast board member
- Technology Association of Georgia, Savannah advisory board
- Member of Georgia Southern University's IT Professional Advisory Committee
- Founder and organizer of Refresh Savannah
- Founder of Free Advice Fridays
- Helped start and organize the first Geekend
- Helped start and organize TEDx Creative Coast
- Co-founded and ran the Web Standards Advocacy Group, an internal guerilla group at AOL created to organize the various web development groups within the company and get them to use proper standards-based web development best practices. We ran monthly brown bags, did guerilla redesigns of products and provided advice on performance and implementation to groups within the company.
The projects listed below are just some of the highlights from my time at AOL, Music Intelligence Solutions and Rails Machine. I've built a couple dozen separate search applications, two intranets not worth talking about, lots of prototypes, three major multi-month projects for products that never launched, Dashboard, Opera, Netvibes and a handful of other types of widgets, and more static pages for more purposes than I can remember.
2014 - present I'm the sole developer on the project, which was to build an easy-to-use API around search. The idea was that search is a hard problem to solve, hard to scale, and even if you find the right solution, it's a complex space. I used ElasticSearch and built a simple API around it, wrote all of the code around user management, deployment and managing search indexes.
2010-2012 I managed the development team, was the lead developer, operations department and product manager for SonicSeeds - a DMCA-compliant web radio service built on top of Music Intelligence Solution's patented recommendation technology. I took those recommendations and developed the algorithm for filling radio stations based on user-selected "seed" songs and artists, and managed the entire product from prototype to launch. There were a lot of compromises we had to make with various stakeholders and other difficulties that have kept us from realizing the vision for the product, but the backend was scalable and well architected.
Technologies Used: Ruby on Rails, MongoDB, memcached, Amazon EC2, Amazon S3, beanstalkd, Opscode's Chef Platform, and other Amazon Web Services.
2008-2012 I manage the development team of between 3-8 developers, manage all production systems, architect and build most of the back-end and middleware systems and monitor the whole lot. In the past two years, I've built a streaming server, a Facebook application, a web crawler, and statistics gathering and analytics tool, several web services and various prototypes. All systems are either Ruby on Rails or Sinatra and are built for performance, scalability and reliability.
Technologies Used: Ruby on Rails, Sinatra, MySQL, MongoDB, Memcached, Beanstalkd, jquery, RaphaelJS, and many others
Ficly and the Ficlets Archive
2008-2014 With Jason Garber, I built Ficly, a "successor" to ficlets, which we built while we were both at AOL. AOL decided in fall of 2008 to sunset ficlets since no one was left to maintain it, and gave users no way to back up their stories. I built a crawler, and with the help of another ficlets user, was able to rescue all of the stories and build an archive for them. Then, Jason and I decided that the community that had formed around ficlets deserved better and decided to build Ficly. With a design donated by Viget Labs, we built Ficly in our very limited spare time in about 4 months. Ficly was a finalist in the CSS category of the SxSW Web Awards in 2009, a category ficlets won two years earlier (all thanks to Jason, who wrote pretty much all the CSS).
Technologies Used: Ruby on Rails, MySQL, Memcached, jquery
2007 I wrote a chapter about the work I and others did on AOL.com's standards-based redesign a couple of years ago. The chapter included several examples, a couple of interviews and tips for dealing with the usual "swirl" that happens on high-profile projects in large companies. The book was published in December of 2007 by New Riders
2007-2008 I was the Systems Architect for AIM Photos. I had nothing to do with the product idea, but I gave a lot of input and direction on the UI and visual design, took over front-end development after Jason Garber left the company, and led two other developers in the design and construction of the models, controllers, performance optimizations and led the technical design. AIM Photos was AOL's first large product to be built on top of Ruby on Rails, and I trained the developers on the platform and delivered the product both early and under-budget despite changing requirements and dependencies.
Ficlets currently has over ten thousand users, thirty-five thousand stories, eighty thousand comments, and is going strong, even though I am no longer at AOL.
Ficlets also won a 2008 SxSW Web Award in the CSS Category! Keeping in the spirit of the site, the community wrote the acceptance speech.
2005-2007 AIM Pages was a ground-breaking publishing tool for the web. It used the Dojo toolkit, a new patented microformat called ModuleT to describe modular web content, several new web services, and a completely open platform for allowing users, content creators and third-party developers access to the AOL and AIM membership.
I was one of three architects on the project, and concentrated on defining the microformat for widgets, helping the design team work out what was possible on the web, develop early prototypes and build the first round of modules that went into production.
After launch, I led two teams building out social networks for The Washington Redskins and the Ellen Degeneres. These were high pressure, short timeframe projects, and the entire team worked long hours to deliver high quality code on time.
My time on AIM Pages is conflicted. Technically, it's one of the coolest things I've ever built. The design is one I still believe in and still marvel in its simplicity and power. On the other hand, it was a disaster on the product side from the beginning, with ever-changing priorities, requirements and a lack of vision. The product is gone, but the lessons I've learned from it will stay with me.
2005 After moving from the Search team back to Publishing, I was asked to help tech lead the construction of a light web-based RSS reader. Using simple markup and lots of Ajax, we were able to launch a full-featured web-based feed reader in four months. At launch, it was the fastest feed reader on the web: six to seven seconds faster than its nearest competitor.
AOL Site and Channel Search
2003-2004 As a team of one, I built a flexible and configurable search application that allowed product groups within AOL to quickly, and without development or QA intervention, launch search products with their own ads, look and feel (through CSS - it was a search application version of the CSS Zen Garden) and search results. This product was used, at one time, by dozens of AOL properties. It was completely valid XHTML 1.0 Strict (a mistake now, I realized, but I thought it was the right move at the time).
1999 - 2003 I was the sole front-end developer on AOL Search for four years, taking it from product inception to being the number two search engine in the world, after only Google. I implemented all product features on the front end, and helped build the product from a cost center to one of the leading money makers for the company. I helped tech lead the conversion from AOLserver to Spring-based servlets.
I also led the charge to improve front-end performance. I implemented a standards-based rewrite of the product, and steadily improved performance. Measured over dial-up by internal tools, AOL Search went from a load time of 14 seconds down to 3, and for a short while was faster than Google's search product - all while serving more results and a more complex visual design.
The AOL Maintenance Request Tool
1999-2008 I designed, built and maintained an internal tool to take incoming maintenance requests for AOL Publishing team. It had user management, reports, deadlines and tracking, and ran, without change or additional maintenance for over eight years.
Technologies Used: AOLserver, Tcl, Sybase, HTML, CSS