My text editor of choice is modal, and I tend to describe myself modally too:Writer
First and foremost I consider myself a writer. I write to learn about software, and I learn software by writing it. My first large writing project online was gitready: a tips site for Git I started since I felt I didn’t understand Git enough.
More recently I wrote a series of guides to RubyGems, which I began since the current documentation site for one of the most used libraries in the Ruby ecosystem was really inadequate.
As of late I’ve been writing slides more often than prose. This year I’ve given talks at 4 conferences on Redis and RubyGems. I thoroughly enjoy spreading knowledge about software engineering and enabling others to share my passions about technology.Craftsman
As an open source developer, I’ve learned that the craft demands patience, care, and above all dedication. I test my code furiously. I don’t settle for code that bothers me. I refactor without mercy, and believe strongly in the fact that code is read more than written.
My personal work ethic with code is to constantly improve it a little bit each day. I want my code to work in 5, 10, 15 years. I want to look back at that code and wonder not “How did this ever work?” but “What can I learn from this?”Mechanic
I’m the creator and maintainer of rubygems.org. I understand what’s involved with deploying, maintaining, and tuning Rails applications in the wild with thousands of requests/second. I’ve learned a great deal with every step of the way, and the community has made running the service a rewarding and humbling experience. I’ve definitely learned how valuable (and challenging) it is to have good, positive leadership in open source.
Being a mechanic involves not just caretaking for pet/community projects, but also spelunking in codebases big and small. I dive into gem code constantly to understand their inner workings and I’m not afraid whatsoever of getting my hands dirty in the “plumbing” of an application. I’ve submitted several patches to Rails and I play around with other languages and new technologies constantly.