I discovered CiviCRM as I was transitioning from accidental techie to intentional techie. While it's true that a TRS-80 Color Computer featured heavily in my childhood — I would secretly leave it powered on for the days it would take me to key in the recipes from Getting Started with Color BASIC, as we didn't have the cassette storage peripheral that would have allowed me to save my progress — I never set out to become... well, a geek.
Like so many in our community, I landed at the doorstep of technology through other activism, and purely by accident. In college I co-founded a campus animal rights organization. Having already lost two webmasters to burnout, graduation, the journeys of personal discovery, or whatever it is that makes staffing an organization with volunteer college students next to impossible, I became alarmed when Webmaster Number Three started showing early symptoms of the Inevitable Flakeout. I promptly cornered her and insisted she teach me everything she knew about the Internet. A few hours and one pirated copy of Macromedia Suite later, I was in control of our website.
Later, a volunteer who always smelled of nutritional yeast helped us build a website highlighting local vegetarian- and vegan-friendly establishments. Though I'm sure I wasn't much help, he insisted I watch over his shoulder as he work. His guidance and a copy of PHP for Dummies gave me my introduction to PHP and MySQL, fundamental web technologies which make up most of what's under the hood of CiviCRM.
When I moved to Washington, DC, to work full time in the animal rights movement, I learned that these experiences weren't common. I always knew just a little bit more about technology than anyone else is the room. Though I was brought on to organize grassroots campaigns and coordinate volunteers, my status as the tech guy, combined with my natural curiosity, landed me assignments ranging from designing brochures and e-newsletters, to fixing printers, to crawling around the plenum space to wire the office for Ethernet, to building websites with all manner of sign-up forms.
In an organization using Google Forms for volunteer registration, eTapestry for donor management, phpList for newsletter management, and custom MySQL databases for various other purposes, CiviCRM was a breath of fresh air. While the abundance of ready-to-use functionality is what brought me to CiviCRM, the community's ethos (and, of course, the people themselves) is what kept me around.
In my early days of using CiviCRM, I peppered complete strangers with questions on IRC and the forum. One of those strangers, perhaps not fully aware of the impact of his actions, took me under his wing, providing professional as well as technical mentorship. When the opportunity to attend a developer training in nearby New York City presented itself, it did not even occur to me to ask my employer to send me. I had prepared a lengthy list of reasons that it would never get approved: the organization was on a shoestring budget; the expense was not directly related to programs; no one else could do my work while I was out of the office. The stranger pressed me to make the case for going to the training, and I convinced my employer to send me to New York. A few short weeks later, I finally met Donald Lobo in person.
Years later, my interaction with the community feels a little more even-handed. I still have to ask for help. There are so many different use cases for CiviCRM, and so many different kinds of organizations using it, that it's impossible to be expert in them all. But now I feel like I have something to offer back, both to the nonprofit community and to the CiviCRM community.
As a principal at Ginkgo Street Labs, I'm able to help more progressive nonprofits move their agendas forward than I ever could by jumping from one organization to the other. I'm able to introduce organizations to free software that solves real problems for them. I'm able to help finance CiviCRM core team operations by hiring them to make fundamental improvements to the software and through our Empowering Partner membership.
As the primary maintainer of CiviVolunteer, I have a lot to share about the trials and tribulations of extension development in a fast-changing ecosystem. (Ask me about Angular development! Don't ask me about the Backbone/Marionette experiment!) I field questions about volunteer use cases on a regular basis, serve on the recently formed extensions committee, speak at conferences, participate in sleepless code sprints, and now lead the developer trainings.
Communities like CiviCRM are unusual. Members of all levels are empowered to move the project forward in ways that make sense to them without asking for permission first. Accidental techies like me are cultivated, nurtured into leadership positions. Being a part of this community, which allows me to contribute to something greater than I could ever hope to create myself — and to do so in ways that are consistent with my values — is priceless.
Photo credit: Clark Hodge