PART I of a II part series
In 2014, Jeff Wishnie from ThoughtWorks wrote about the problems that surround hacking for social good in a blog post called “Why Hackathons Suck (and don’t have to)” (https://www.thoughtworks.com/insights/blog/why-hackathons-suck).
The part of his post that summarizes why hackathons aren’t that useful for social impact organizations is:
“Hackathons can be a burden on our customers. The organizations we want to help are tackling hard problems with very few people and very little money. Helping us prep problems, participating in the hackathon, and trying to politely guide well-meaning (but rarely committed) post-hackathon volunteers takes time. When I was CTO of a non-profit, it seemed so rude to turn down an offer of help. A few times I spent time out of my crazy-busy day to work with nice people who wanted to volunteer (including throwing hackathons). In retrospect, I shouldn’t have—we never received any deliverable that we couldn’t have hacked quicker ourselves.” – Jeff Wishnie
Jeff sums up the problem of hacking for social good quite nicely. Many well-meaning and talented volunteers misunderstand the nuances around what it actually means to use technology in the nonprofit and social impact space. Volunteers – many of whom are looking to participate in social good hacking to gain experience (fresh from a CS boot camp or because they’re in between jobs) look at volunteering as a way to fill their time and often don’t follow through on these projects as they would in their regular jobs. The thing about technology is that if you’re unfamiliar with the tech, your application of it will reflect your experience level. And nonprofits, even more than other types of organizations, need a high level of commitment and skill from individuals who want to help them. This is because nonprofits do not have the time to go back and do it again – they’re limited in their time and money, and technology can become a huge burden to the organization if it breaks. Anyone who’d like to help impact organizations with technology must keep this in mind.
This blog post is about helping the technology-for-good community understand some of the challenges unique to volunteer hacking for social change. The hackathon model might be great for the startup scene, but it’s not well adapted for the social impact space for many reasons. For example:
• Even when a prototype successfully addresses a social issue, engineering teams rarely ever follow through on turning their prototypes into actual organizations. This is because creating a sustainable mission-driven organization with technology can be even harder than creating a for-profit startup.
• Social issues are complex and have a variety of causes. Addressing even one of these causes can be difficult, and to ask a group of individuals with little subject matter expertise to come in and build a solution over a weekend is pretty unrealistic. As Jeff says, you can’t expect anyone to save the world in a weekend.
What’s the solution? In 2015, I started exploring social impact and technology issues on a deeper level. It was then that my good friend Ellie Tumbuan (Vaya Consulting) pointed me to Benetech – an organization that has been using technology to serve humanity since 1989. Benetech founder and CEO Jim Fruchterman became interested in text recognition software while studying at Cal Tech in the 1970s, and since then, Jim has led the way in creating software for people with print-disabilities. Today, Benetech’s biggest initiative – Bookshare – is the largest online library of accessible digital books; it has over 395,000 titles and is used by over 300,000 people from around the world. Because Benetech has been highly praised in the field of global literacy and accessibility, the organization has now been able to use technology to explore other social impact spaces including human rights, environmental issues, and open source for good.
After contacting Benetech, I soon became the new lead on the SocialCoding4Good program. The program was based around the idea that many open source developers were interested in providing their time and skills to help mission-driven organizations use technology to scale their impact. Even before I arrived, SocialCoding4Good had many early successes in building technology for impact. They had worked with the Avina Foundation on creating a clean water app, paired up with VMware on a sanitation project in Ghana, and had recently been working with Google on financial inclusion projects with the Mifos Initiative.
As I learned about the many successes of SocialCoding4Good, I soon got an even deeper understanding of many of the challenges around the program. SC4G encountered many of the same issues that social good hackathons did. Many of the volunteers could not firmly commit to the nonprofits they were being matched up with, and because of this – social impact organizations often stopped wanting to work with outside help. We knew we could help address this disconnect by building a stronger bridge of understanding between volunteers and nonprofit organizations.
The biggest insight I’ve drawn working with volunteers on technical impact projects at SC4G is that there are a lot of technical professionals who mean well, but lack enough specific context on projects to be able to help nonprofits in a meaningful way. Many nonprofits begin these engagements without clear instructions for volunteers. This lack of clarity often leads to lackluster engagements. So, I’ve found that the biggest need in the space has actually been to help build capacity for nonprofits. Before even getting to the core technical needs of these organizations; we need to help them with processes and work flows. In no way is this the fault of the nonprofits – it’s a naturally occurring problem that I believe few have successfully addressed. To provide further insight, I’d like to quickly outline a few of the big assumptions that many people have around tech volunteerism and provide some observations from the field:
Nonprofits need technology help.
Observations from the Field:
Nonprofit organizations – like many small organizations – could always use help, but many soon realize that their capacity to work with volunteers is limited. Time spent working with volunteers can often come at a high cost, and when we’re talking about technical work, more often than not, nonprofits have to ask their IT or engineering teams to onboard volunteers into their systems and software. Many nonprofits soon realize that the time they need to take away from other engineering tasks isn’t quite worth the cost of bringing on volunteer help.
Technical volunteers know how to work with nonprofits.
Observations from the Field:
Many volunteers passionately jump into wanting to help without having a clear understanding of the commitment needed. Nonprofits are usually more sophisticated than might be expected. When volunteers realize that they’re actually being asked to engage in complex and highly technical tasks, many volunteers drop off the map. Nonprofits take many days away from core engineering tasks to onboard volunteers to their systems, so when volunteers leave early, it is really unfortunate.
There is enough work for hundreds, thousands, or hundreds of thousands of people to do.
Observations from the Field:
Often, I’m approached by large organizations that are looking to engage their entire company in high-tech and skills-based volunteer opportunities. Let’s approach this with healthy skepticism. This assumption rests in the idea that there is enough capacity on the part of social impact organizations to be able to integrate meaningful help from many employees in short cycles. The truth is that nonprofits have a tough time working with a few volunteers a month, let alone hundreds. It’s not the lack of volunteers, it’s the fact that nonprofits do not have the capacity to scale volunteer engagements and integrate all of their contributions.
So today, SocialCoding4Good is shifting to a more high-touch program called Code Alliance. Our goal is to build upon the knowledge of the past and help expand the field of Tech4Good. We’d like to build more capacity for nonprofit tech organizations and help provide standardized onboarding material for the community as a whole. We’d like to work with tech companies on building and adapting the necessary tools needed for nonprofits to get outside help in a way that does not take away their time from other crucial tasks. And we’d like to harness the power of the open source community in providing nonprofit organizations the committed and ongoing technical expertise they need. Instead of the classic hackathon model of prototyping new ideas, we’re going to build short-term code sprints and longer “focused hackathons” around very specific tasks and procedures that affect specific nonprofits.
Code Alliance is an evolution of what we’ve learned over the past three years. The new name speaks to the idea that there are multiple stakeholders in the Tech4Good space, and that only by engaging in a largely collaborative effort can we build the right infrastructure to move the field of social impact technology forward. To get a high number of volunteers engaged with a large number of social impact projects, we need to serve as a Human API – “Human Application Programming Interface” – to be the point of entry between technical volunteers and nonprofits organizations. Thus, our solution to many of the issues around hacking for social change is to deepen the engagement with each nonprofit that we work with by addressing the core problems around technical volunteerism.
Finally, as many have wondered – is it possible to create an “ongoing hackathon?” We believe that it is, but that there needs to be some serious thought around how to create clear processes and scalable outcomes for social impact organizations. We’re not the only organization working on this issue, but we have some ideas about how to move the field forward. We truly believe that technology for good needs to follow a slightly different trajectory than for-profit startup technology. Rather than focus on hacks for social good – we need to build high-touch, ongoing experiences that bring volunteers, tech companies, and nonprofits together in a sustainable way. Today, we embark on a new mission of leveraging open source methodologies to build the standard operating procedures around technology for social impact. We’re exploring existing processes, and building new methods to address problems such as how to take developers who are completely unfamiliar with a product, and expect them to produce solid work without extensive onboarding. I sincerely hope you’ll join us in exploring this field and creating a stronger Code Alliance.