I can get everything in place to spin out a partnership project. What I lack is time and experience (haven't tried this before). So I'm asking for help to iron this out so as not to waste anyone's efforts. I would love to get some feedback on this project / model please.<p>Background: I'm a tech cofounder of a startup (unrelated). I've been talking to an international non-profit on the side as a pro bono service. We've come to the following problems.<p>Problems:
1) Nonprofits have lots of technical needs, things they want built, etc. But they have limited resources.
2) Developers can build things but typically have limited availability so cannot engage with longer term charity projects (about 3 months)<p>Observation:
1) Developers want to help.
2) Developers can offer other things than coding.
3) Who have time and want to build things? Student interns...<p>Solution:
Pair up experienced developers with interns, to form small 2-3 person teams and dive into non-profits.<p>Benefits:
Developer learn to take on CTO role and do good.
Intern gets to solve real problems under guidance of mentor.
Non-profit get to make use of technologies to solve their problems.
I love the principle of IT people helping non profits, but having worked in non profits numerous times I think there's a problem with these sorts of plans that most people don't think of.<p>For any given technology solution, most of its life is spent in maintenance mode. In the simple case, say you as a developer build a new widget for the organization's website. You finish it, feel chuffed, and move on.<p>One month later, the organization needs something new added to it, or there's a security vulnerability in the tool you used to build it which needs to be patched, or the API the widget was connecting to got upgraded and it's stopped working.<p>The organization now has three options:<p>- Hope for another volunteer who can come along and fix the thing which was broken. Hint - this never happens. Tech volunteers almost always want to offer their skills on greenfields projects or exciting extensions to functionality, not mundane business-as-usual work.<p>- Pay a consulting company to make the change for them. This gets very expensive very fast, because <i>consulting company</i>.<p>- Stop using whatever you built in the first place. This often has huge business implications by this point, because having trained everyone how to use this new tech you now have to take a step backwards and stop using it. Instant resentment of the system which put this in place.<p>As annoying as it is as developers that we can't volunteer our services for a few weeks then disappear, that's just not how IT systems work. A system is not finished until it's been retired or replaced by something else, and if you're providing something to a non-profit which does not have an in house IT team to manage the software through the rest of its lifecycle, you're basically donating a liability.<p>Even if that's not the case, you're dealing with people who don't necessarily view or understand technology the way that you do. You could spend several months building what you think they need, then you come back and they say they wanted something else, or some substantial modification to what you've built. You don't have time to dedicate to it any more, they don't have what they want, and both parties go away dissatisfied.<p>I'm saying this as a developer who has been involved with several non-IT non profits, including my current one which I've been working with for over 6 years now. I frequently do volunteer dev work for that project, but even the most self-sustaining piece of software I ever set up for them still needs someone to go in there once a year or so and apply software patches and security fixes, and every six months or so their requirements change in some way or another and I have to dive back in to accommodate. "Three month" volunteers are almost always much less help then you would expect them to be.
I had a similar idea a few months ago when I was looking to do some volunteer work. Rather than volunteering at a soup kitchen, or other "unskilled" task I wanted to find an organization where I could volunteer my knowledge of business development, marketing and web dev.<p>My first thought was to look at websites such as <a href="http://www.volunteermatch.org/" rel="nofollow">http://www.volunteermatch.org/</a> . What I found was that the organizations typically requested website redesigns (often using wordpress as the backend) and help with social media management. The time commitment of these opportunities were as you stated above, longer term requiring a few months. The scope of work provided was often inadequate and would require you to contact the organization for details.<p>Solution:<p>Create a guide on how to assess requirements and create a proper scope of work for projects, the organization seeking volunteers would submit this as part of their application[1]. Then have a volunteer that would make an appointment to speak with the organization and refine this SOW into a workable project.<p>Once the project was accepted and requirements laid out; open the opportunity for contributors to offer their time and create a core team to start the project. For website redesign/management use a common codebase that could be reused for projects which would reduce the on-boarding process. This would also allow general documentation and training materials to be created so the management of the website could be transitioned to a full-time volunteer/employee of the organization.<p>Once the common core was developed and a repo created, issues/tasks would be created and open for contribution which would give devs willing to volunteer a few hours some opportunities to contribute.<p>I think a handful of well written guides for marketing, social media management, front-end/backend documentation and possibly even basic web design tutorials would go a long way towards improving organizations. A second level of this would be to have recurring roundtable meetings (google hangouts?) where more general individual problems could be addressed allowing for the main project scopes to be slimmed down.<p>1. Also, works as a weeding out process by requiring a deeper commitment. Organizations would have to to follow to guide, watch a video and think through their needs as opposed to posting a paragraph asking for help.<p>Related experienced dev/intern pairing program: A non-profit named Launch Code (<a href="http://launchcode.us/" rel="nofollow">http://launchcode.us/</a>) was recently started by Jim McKelvey (co-founder of Square) that places new developers with companies for paid pair-programming internship.
This sounds like a good thing to do. Many non-profits just want simpler projects like a website redesign done by someone capable, so those projects might be perfect for a developer and an intern to get done fairly quickly, while still being a learning experience for the intern. One group I know that does this is HandsOn Tech Boston. [1] They match volunteers with non-profits to do projects similar to what I described below. Another key component of what they do is technical training for non-profits. They teach fairly simple things like how to use the Wordpress Admin tool well that seem trivial to HN, but are extremely valuable to the non-profits as it means they can maintain their own website. The people there are very friendly, and would probably be up to chat about how to run a successful program.<p>I'm not totally sure what the demand is for writing other custom software for non-profits, but I'm sure there are plenty of groups who need stuff beyond websites. It would be great if some of the stuff as a result of this project ended up as open source. It would allow other people to continue building it, and would also give the interns experience with version control, and something an employer can look at in depth.<p>[1] <a href="http://www.handsontechboston.org/" rel="nofollow">http://www.handsontechboston.org/</a>
Hey plam, funny that you mention this — I'm currently building something slightly similar (platform-wise).<p>Background: I help run CoderDojo NYC and we're always looking for technical volunteers to help at our events. After speaking with a few other teach-kids-to-code organizations, we realized that they had the same problem.<p>Our solution: <a href="https://github.com/carlsednaoui/nycio" rel="nofollow">https://github.com/carlsednaoui/nycio</a> (it's a work in progress). It will look like this: <a href="http://www.nyc.io/" rel="nofollow">http://www.nyc.io/</a> Everything is open-sourced — we're also looking for more contributors if anybody wants to help.<p>How to get volunteers? We're partnering up with NYTM to build the tech volunteer pool and help them connect with organizations. You could imagine doing the same on your end but with different schools and organizations (happy to send intros where relevant).<p>Let me know what you think. If you want to chat more we can connect via email <username>@gmail...com
Currently work at both a nonprofit and a startup, so this is fairly interesting.<p>I think for something like this to work, you'd have to get approval for a project and the scope/timeline before anyone is on-boarded. I'm fairly fortunate where I work, but a lot of times, getting buy-in can take long and be a rather painful process.<p>Also, do you have a scope of what type of things can be built? It would be beneficial to work out of a common Github/etc. so that future projects can build off of previous, and updates can be rolled out this way. For example, I know an organization I used to work with wanted a simple reception app - schedule an appointment, and it sends out reminders via text and/or email on the timing, and then it can also be used to check in. This would be simple using Twilio/Tropo and could be super easy to save in a state for other orgs to plug in and start using.<p>Great idea by the way - excited to see where this goes :)
Hey plam - I think it is a good idea. I like the project based approach of getting mentors to help interns learn while working on useful projects.<p>There are many challenges: finding mentors, finding good projects, managing the projects, etc. But I think they can be addressed.<p>There are some other people that would be interested in your idea at P2PU. If you'd like, share your idea on thepeople.p2pu.org
Interesting that you mention this. I'm currently 'donating' my time to two non-profits as a strategy mentor. I'm helping them in a similar way a start-up mentor would help a start-up (they're new enterprises).<p>Both of them need tech talent and are struggling. Would love to discuss this with you further.