Pros
Feeling like you might be contributing to something meaningful
Cons
When it came down to it, it didn't seem like the work I was doing was all that altruistic, although the promise of that kept me hanging in there for longer than I should have. I was worked to the bone, with long hours maintaining an impossible system and frequent 24/7 on-call shifts. It's the worst I have ever felt at any company in my 10 years as a software engineer, because the theory was that if something went wrong, people would get delayed diagnostic information and possibly you could be the reason someone died. In reality it was more about packaging up/anonymizing data for sale (my idealistic side likes to believe that this helped cancer research and novel drug development). It often felt I was in an emperor's-new-clothes predicament, with our PM and designer off drumming up new features that we were supposed to deliver when what we really should have been doing was fixing the thing. The CEO also poorly handled current events that really escalated while I worked there. It was not an easy time, but in my opinion the way he handled it (telling people to ignore what was going on and focus on their work) was not appropriate and had the opposite affect that he hoped.