There are also organizations like Code for America that do open source work with local governments. Since those projects are open source, you could probably volunteer your time and contribute to those. Or simply volunteer in a non-developer capacity! :)
Doing actual social good -- helping people in ways that will actually solve their problems, understanding the consequences of changing their lives -- requires a ton of context and communication. I think it's very, very difficult to do so without either dedicating most of your time to that cause, or working closely with an organization that is already doing so. (E.g., volunteering for a food bank is a lot more effective than just picking up food and distributing it on your own.)
I’ll second the reference to Code for America. I have a colleague who did their fellowship and learned a ton while working with some great local governmental agencies. They’ve also recently launched a job board to curate high impact mission-driven jobs and jobs with local government entities: https://jobs.codeforamerica.org/.
I’d also encourage looking at B-Corps: https://www.bcorporation.net/. These are for-profit companies that include positive social impact alongside profit as determinants of success. I work at TechChange, which is a B-Corp. If education and capacity development are your passions, we at TechChange are building a SaaS learning platform that empowers organizations around the world to make their training more effective. We are working hard to push the limits of traditional online learning and are looking for talented folks to help us achieve this goal: https://www.techchange.org/careers/.
My team works on radically improving access to the food stamp program, a massive anti-poverty program, but one with only about 65% of eligible Californians enrolled — we've found a lot of that gap is because the process is really difficult.
If you apply in California, this is the online experience — 200+ questions, 50+ screens, a lot of confusion: http://citizenonboard.com/snap/ca/#2
So we operate a much easier online application which is mobile-first (~50% of search traffic for "food stamps") and which takes on average 8 minutes to complete — you can try it out at https://demo.getcalfresh.org/
And we're hiring:
- Senior Engineer (Ruby/Rails, TDD, pairing): https://www.codeforamerica.org/jobs?gh_jid=502640
- Product Manager: https://www.codeforamerica.org/jobs?gh_jid=652829
We also have a superb team working on safety and justice, namely with the goal of safely reducing incarceration. For example. They operate services that:
- Make it much easier for people to clear their records when the law allows (invaluable for re-entry and getting jobs)
- Allow case & probation workers to text with folks in the justice system and help them do the pre-trial diversion things that keep them out of jail/prison and help them with resources
They're also hiring for a Senior Engineer role: https://www.codeforamerica.org/jobs?gh_jid=525208
Happy to answer any questions about these!
Yes — San Francisco (SOMA) is the location for all of those.
A lot of why these processes are hard are not by intentional design, but rather by _unintentional, non-design_.
What do I mean? It's that these systems evolve over time, via massive waterfall IT procurement processes, and you often have someone (say, one county, or one unit) who proposes to add one more question because it makes it better for their unit or a subset of users.
Iterated over years and years — and with no systemic actor responsible for pushing back and saying, "but this creates more burden for the majority of users" — you get overwhelming user experiences. Sometimes I've jokingly called this the "no feature left behind" approach.
What we do is basically design & build a service that puts users at the center, and when someone wants us to add something ask ourselves, "will this help people quickly and easily get through the benefit enrollment process?"
It's essentially applying "products are about saying no," just to a domain where there's currently no one there to say no.
1. After the initial application, the next step is a phone interview where they're going to ask many of the same questions and verify information anyway. So what we do is focus on the 10-15 questions that make getting someone to that interview as quick and efficient on the gov't side as possible, as well as prepares the interviewer with the best information.
For example, there are complex rules around income and expenses (earned/unearned, self-employed, utilities, child care expenses) but we basically have found that the best situation is — since they'll be talking with someone who knows those rules extremely well — focus on the basics: who's in your household, do you qualify for expedited (emergency) service, etc.
2. Many of those ~200 questions really CONDITIONAL on some (eg, do you have a felony? do you have a felony for DRUGS?) —— but candidly many online gov't forms are just the digitization of paper forms (which obviously can't do conditional showing easily.)
3. We've found that there's a ton of low-hanging fruit. For example, we have an easy way for clients to take pictures of documents they need to submit from their phone (these days, these are often SUPER high quality, even on low-end devices.) We send those to counties via secure e-mail, which means it comes instantly. This has been so successful in one county that they're now using this document feature across ALL programs (health insurance, cash aid) and actually asking clients to send in documents WHILE they're on the phone with them, meaning they can hold for a second, check the email, see the pic, and issue the benefits immediately (rather than waiting for them to mail/fax/scan and upload after creating an account.)
Overall, we've found that despite that "intrinsic complexity," there's still a huge space for simplification just using what computers — and web sites — are good at.
We already have some State of CA jobs on there, but I'll pass along this link to the folks who run the gov't job board!
It helps to actually be passionate about the field.
Good conversations on both the Econtalk podcast  (which I know is an HN favorite) and the Long Now Foundation .
Procurement sounds absolutely awful at the federal level; she makes a compelling case for how needed modern software design and development processes are in providing effective and cost efficient government services.