Volunteering to Help and Learn

[article]
Summary:

At the Agile 2009 Conference, the LiveAid lab created an iPhone application to enable people to donate to the Mano a Mano charitable organization. This lab was an opportunity for participants to learn something new, practice their craft, donate their time to a worthy cause, and meet other folks. By the end of the conference, the application was working and had collected over $10,000 in donations.


Let's take a deeper look at these opportunities:

At the Agile 2009 Conference, the LiveAid lab created an iPhone application to enable people to donate to the Mano a Mano charitable organization. This lab was an opportunity for participants to learn something new, practice their craft, donate their time to a worthy cause, and meet other folks. By the end of the conference, the application was working and had collected over $10,000 in donations.


Let's take a deeper look at these opportunities:


Learn something new: There were several opportunities to learn new things on this project. First, it was run as an agile project, which is a chance for someone new to agile to experience the process firsthand. Second, it was built using Ruby on Rails, and third it was delivered as an iPhone application. There were several different technologies involved in this project, which meant many opportunities for participants to try out something new.


Practice their craft: There's been a lot of interest recently on the craftsmanship movement for software developers. In "The Pragmatic Programmer", Andy Hunt and Dave Thomas treat software development like a craft - one that requires practice and investment. They suggest that a developer should learn a new language every year, read books, and keep their knowledge portfolio (Item 5 in the book) up-to-date. The Agile 2009 exercise gave volunteers a chance to practice their craft with a group of like-minded individuals.


Donate their time: This exercise served as a great opportunity for participants, but it's an even better opportunity for the communities and people served by the charity. This chance to work for a charitable cause is another great motivator - make great stuff and help someone out at the same time.


Meet other folks: What a great way to interact with other conference participants! Working on a project together is a real opportunity to get to know folks, and seems likely to forge a stronger bond than one might create from a casual conference hallway conversation.




This got me thinking - are there opportunities to do this sort of work from home? Can we practice and give something back to the community as well?


For example, I've read several articles about the Hadoop framework for distributed computing. I've thought about building a little application for my own practice, but realized I needed a meaningful sample project that will motivate me to work on (and finish!) the project. So I wondered, "OK, what problem in my life do I need to solve which involves millions of pieces of data and requires several computers working in parallel?" I haven't come up with any yet, but I'm wondering if there are some charities that have lots of data they need to analyze and process?


After a little research, I've found a few possible candidates. I've looked at Engineers Without Borders but wasn't able to immediately find any software projects. My colleague recommended the Taproot Foundation, which did list some software development opportunities.


Do you know of any volunteer work organizations for software developers?  Have any stories about volunteering?

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.