I've spent my spare time the last few weekends helping a non-profit called Fast Forward here in the Columbia, SC area. I don't post this here to blow my own horn but rather to point out the need many non-profit organizations have for quality IT support. Most non-profits operate on a limited budget meaning they take help where they can get it. Often times there just isn't money left in the budget for a services contract, etc., even for an organization like Fast Forward.
This is where knowledgeable folks can really make a difference. I know the usual excuse: after spending all week looking at a computer screen, the last thing anyone wants to do is spend the weekend working on computers. I've been there, so I understand that feeling completely. However, I have to say that the time I've spent working at Fast Forward has been personally rewarding. There's a sense of accomplishment knowing I've put my skills to work helping others, with no expectation of any tangible reward.
This isn't to say that there isn't some career benefit. I've read the myriad of blogs/books/articles which say volunteering at non-profits is a great way to build up skills you would like to develop. That's a true potential benefit. However, what if you're re-using the skills you've already developed? I work on servers every day. So helping out with servers and/or workstations isn't an expansion on my skill set. Fast Forward isn't likely to go and use SQL Server and experiment with Longhorn server or check out the latest features of MySQL. What's the personal gain? To that I point back to the "making a difference" reason. Sometimes it's gotta be more than just about ourselves.
IT Security, MySQL, Perl, SQL Server, and Windows technologies.