My gig at Buy the Change, my volunteer coordination experience, and my lifetime of volunteering with the Unitarian Universalist Association helped me land a part-time position in January 2006 as Web Coordinator for the district UUA, which was based in Minneapolis and responsible for Minnesota, Iowa, Nebraska, Kansas, the Dakotas, and the eastern parts of Wisconsin and Missouri. The job was not initially to maintain the Web site myself, but to coordinate the committee of volunteers who maintained it.
Before I was hired, the committee had decided to move the site from static HTML pages into PmWiki, and in order to learn its features and quirks I joined the community around it. This was my first experience with open-source software development, and I was quickly hooked on it. When we needed more functionality than PmWiki provided out of the box or with its add-on "recipes," I wrote my own recipes and contributed them back to the community. It was a lot of fun and very encouraging to me as a new developer.
My biggest accomplishment with PmWiki was a recipe that allowed you to point a set of URLs at a database table, and it would automatically analyze the structure of that table and generate HTML forms in the wiki that would allow you to enter or edit data into the table through the wiki interface. It was a monumental task that I would hesitate to take on now, but at the time I was just having fun! Unfortunately the recipe I contributed depended on another whose developer left the community. His recipe quickly became incompatible with the core software, which meant mine did too, and it's no longer in use by anyone. A database-driven site I built with that recipe for another nonprofit client is now powered by different software.
The wiki database front end resulted in an online database of congregations and volunteers that, being edited by those volunteers, quickly got out of sync with the one on my supervisor's desk. Full of confidence, I plunged into the task of synchronizing the two. Had I known how infamously difficult it is to synchronize databases I might have hesitated to take it on. Nevertheless, I eventually got it working well enough.
Over time I took on more responsibility for making decisions about the site, and the committee became less important. When I learned Drupal for Smartphone Magazine, I quickly realized that PmWiki wouldn't allow us to keep up with the pace of Web development. I convinced my supervisors to let me migrate the site again from PmWiki to Drupal 6 and then to Drupal 7. I wasn't content to leave the database synchronizer in PmWiki, either, but rewrote that custom software for Drupal.
I really enjoyed working for PSD, and I only left when the district merged with two others into MidAmerica Region. The district sites were dissolved in favor of a regional site, which eventually also merged into the national site.