Pros
I'd like to focus on the engineering team at Samasource. I'd strongly encourage any software engineer that is interested in building technology that makes a deep impact on people's lives to spend time at this organization. The SamaHub is a mturk-like task distribution system, so there are plenty of transactional processing, data-science and scaling problems to solve. Certainly beyond your typical non-profit engineering challenges. But the real meat of what you'll learn with the wonderful people that work on this team is how to create a product that assists people in taking their first step into the digital jobs economy. You'll learn where technology can create opportunities that would otherwise be unimaginable, but more importantly, you'll learn the ways that technology falls frustratingly short. This is a humbling experience in a city where the virtue of humility is in short supply.
Cons
Fundraising in the non-profit space is still very activities-focused instead of outcomes-focused, and generally speaking, funding rolls in steady but incremental chunks rather than in the large rounds you might be familiar with having worked in the private sector. What this means for your experience on the engineering team is a challenge that resembles an intense established-but-growing bootstrapped business rather than "ride the rocketship" startup growth. You'll need patience.