Software for Good Logo
Insights / November 20, 2018

Giving Program: Learning & Looking to the Future

Giving Program: Learning & Looking to the Future

By Eddie Glenn

Other Tech Companies: “Supporting interns is too much work… We can’t find any diverse developers to hire… Building tech for nonprofits and social enterprises just isn’t sustainable for our business.”

Software for Good: “Let’s do all of those things. At the same time. Three times a year.”

—- —- —-

Almost two years ago (before I started working here), Software for Good set out to match a cohort of 2 to 4 interns with a “for good” project every summer, spring, and fall. The company intended to invite underrepresented developers into the field and offer discounted services to software projects that SfG was eager to support. I came on board soon after the program started to help manage it.

After 17 interns and 7 projects, we’ve learned a few things from our experience.

Minnesota has plenty of diverse talent

The clearest lesson is that there are plenty of talented, diverse, and eager new developers out there ready to work. The college students and recent bootcamp graduates that have applied for the program have been so smart, interesting, passionate, and hard-working, we wish we could have hired more of them.

The lack of diversity in the tech field is a hotly debated topic that I have pretty strong feelings about, but I’m not trying to settle any scores here. I’ll just say it’s clear to me that there is plenty of opportunity for Minnesota companies to bring on diverse and exciting new talent. If you can’t find it, let me know. Maybe I’ll write another blog post.

We need to be as strategic with intern projects as with any other work

The next big lesson is that we need to dedicate time and resources to strategy and user experience design for the intern projects. At Software for Good, strategy encompasses a broad range of services that are used to figure out what we’re building. It includes brainstorming, wireframing, prototyping, user experience research, design, user testing, and more.

When thinking about new software, a client might want to jump to the “build it” step. We try to channel that excitement into refining our understanding of what, why, how, and for whom we are building.

However, since we’ve worked with Giving Program clients within a very limited timeline, we always felt pressured to constrain the ideation, research, and consultation in order to build more. We wanted every client to leave with as many features as possible, and we wanted the interns to spend as much time as possible actually developing software. This tension has been one of our biggest challenges.

Money is tight for our ideal clients

The other big obstacle we faced was financial. More specifically, it has been difficult to find organizations who are ready to invest in custom software solutions, even at steep discounts. As we spoke with Do Gooders about their hopes and dreams, we found promising ways that technology could help. But most of these folks came from nonprofit organizations that already felt financially constrained. In some cases, we were able to think creatively to make projects happen. We’ve also been grateful for support from the SciTechsperience program, which offsets some of SfG’s cost to pay our interns.

Once we’ve agreed with a client to build something, we feel an overwhelming obligation to make it awesome. It turned out to be a bit unsustainable for Software for Good to make that commitment three times a year. It seems to boil down to underlying financial constraints that the nonprofit community already knows all too well. Finding more financial investment in technology for social good might even require a culture change in the funding community.

We still have hope for more creative solutions here too — perhaps there’s an organization that can help offset the costs for people or organizations with bold tech ideas? (If yes, email me at!)

Applying what we’ve learned

We’ve decided to commit to offering software development within the Giving Program one time per year, every summer, when interns can work and be supported in our office full time. Reducing the number of projects we build throughout the year will lower costs in general and allow us to carry out more strategy consulting for Giving Program participants throughout the rest of the year. And interns will focus more narrowly on building the application (i.e., writing code), building on a stronger, clearer foundation of UX and design. This will allow the development work to advance all summer at a spritely pace.

We’re also working on ways to do more strategy consulting for nonprofit clients with limited budgets. We’ll be launching a workshop series in early 2019 to help organizations think through how technology could meet the needs of the people they serve.

That’s about all the reflection I can fit into a blog post. Next I have to go come up with a tweet-length version. Just over a year out, we’re in early stages of this learning process, and we’re eager to learn from others.

If you want to have a conversation, or if you’re interested in talking about how the Giving Program can work with your organization, don’t hesitate to get in touch.