Non-profit organizations face a future in which they must take advantage of technology to improve, coordinate, account for, and deliver the services they provide. They need the help of people with strong technical skills. Undergraduate computer science and software engineering students face a future in which they will need more than solid expertise in their discipline to succeed. They will be expected to work with people of many different backgrounds to identify and achieve goals. They need education experiences that can help them broaden their skills. The challenge is to bring these two groups together in a mutually beneficial way that results in both parties gaining experience and useful resources from each other.