For thirty years I have been involved in nonprofit fundraising as a volunteer, a chief development officer, a consultant, trainer, and developer of fundraising software.