The Gift of Code
You are a developer. You build applications. Those are valuable skills.
But these skills can benefit more than your career. Whether you’re an experienced Salesforce Developer, or just learning the ropes, your expertise can also benefit our thousands of Salesforce Foundation customers who need help customizing their Salesforce org. Why not give some of your time and become a pro bono app developer?
We at Salesforce are not quiet about our charitable arm, the Salesforce Foundation. Nor are we quiet about the 1-1-1 model of giving away 1% of our equity, product, and employee time. For many who join Salesforce, this is one factor we considered when joining: that Salesforce enables and encourages us to give back to our community by giving us paid volunteer time off (VTO). There are many ways which we use VTO, one of which is pro bono project work for Foundation customers.
Pro Bono Projects
When I was new to developing Salesforce solutions, one way I used to enhance my experience was on pro bono projects. I found it so beneficial I often suggest to other developers who are just learning doing pro bono project work to help gain the necessary experience to master the Salesforce1 platform technologies.
I was fortunate to have my colleagues and the Salesforce Foundation employees to help me find such projects. But it never occurred to me that it might not always be obvious how to find a pro bono project if you don’t have such resources around.
Coding for a Good Cause
Thankfully, there are a host of organizations these days that are there to help IT experts who want to give their time and expertise to non-profits, charities, schools, and NGO’s. A good place to start is the Salesforce Foundation’s pro bono page.
On this page you will find a list of organizations whose purpose is to match developers to organizations who may need their help. Some are primarily for non-profit organizations based in the United States. If you’re based elsewhere and want to be connected to something more local, I’m told Taproot is one organization to look into. You can also list your interests on your LinkedIn profile.
In addition to connecting with one of these organizations, the pro-bono page also has a button you can click on to pledge your time over the coming year and commit to a number of hours of pro bono work.
None of these organizations are specific to Salesforce only. Any developer with any technology can sign up to give their time.
Having done a few pro bono projects, I can say first hand that getting your scope right is essential for pro bono Foundation customer projects.
In my case, I had a limited amount of volunteer time I needed to arrange. The Salesforce VTO is only 48 hours per year, so I had to be certain that whatever project I did would fit into that time.
There are no hard and fast rules, but the formula that has worked for me is that in each case, I worked with organizations that already had good Salesforce administration skills. Each project allowed me to fill a small gap in functionality that the Foundation customer didn’t have the skills to build. Here are some examples of projects I have worked on:
- A custom Visualforce page that would promote students to their next year’s class at the end of each academic year.
- Some Apex back-end logic that would ensure that a taxonomy database had correct bi-directional links between classifications.
- Trigger logic that would create a roll-up count of Attachment records for any object (get the code here).
You can see how in each instance, the requirements were finite and specific. My work served as a complement to the work that was being done by some existing expert for each customer.
In my case all solutions required coding, but there is nothing saying that non-programmers cannot use this same approach. Many of our Foundation customers have one person who is the administrator, developer, report builder, etc. So just having another expert to work with can enable that one-man-band to deliver more to their business.
Ok…let’s be honest, though. Setting a proper time and scope are not unique to pro bono projects. But there are some unique risks when you are giving your time for free. So take extra care here in order that your pro bono project provides everyone with the maximum in satisfaction.
Benefits for All Parties
In addition to providing functionality that helped each organization better serve their charitable aims, I can point to specific skills that each solution taught me. For instance the taxonomy database solution forced me to implement the recursive trigger pattern. This taught me a lot about managing trigger state when a trigger could potentially invoke itself.
In the case of the Attachment roll-up, the original requirement was for this feature to be implemented for a single parent object. But since Attachments exist as a child on almost every top-level object, I expanded my solution so that it could work on any parent object. I then took the code and made it into an open source project published on github, and an unmanaged package.
Continuing the Relationship
After initially working on a project, it can also be valuable to continue the relationship. Often your experience in other projects can be brought to bear on technological problems that arise for charities as they create their Salesforce solution. A number of us work with foundation customers on an ongoing basis. It can be valuable to the customer, as they have a real flesh and blood person to ask questions to. It can also be valuable to you as a developer as you might be exposed to problems that you might not have otherwise encountered.
The other advantage of an ongoing relationship is that you become a trusted counsel, and begin to understand the needs of that organization. If you are given a full time login to that org, and contribute regularly enough, you might even consider joining the Salesforce Foundation online Community.
How’s That Go Again?
To sum up here are the things you should do to get started on your own pro bono Salesforce Foundation project:
- Check out the Salesforce Foundation Pro Bono Page
- Connect with a Salesforce Foundation Customer
- Set a finite project scope
- Get to work!
- Build a relationship with your Foundation customer
So what are you waiting for?
Here’s hoping that you find a great Foundation customer match. And that everyone has a happy, healthy, and generous end of 2014. And that it carries on into 2015.