Pros
* Interesting niche work * Product managers who understand the customer's business * Good pay * Small teams
Cons
* Management doesn't really understand the nature of running a software company for profit. They have, at most, experience delivering internal tools only. * No transparency in decision making. Organizational changes, sometimes of a large scale, can occur suddenly (from the perspective of a regular developer). There is no forewarning or inclusion in the decision making process. * Most of the software work is done in India. There are less than a half dozen developers outside of India. Expect to take calls on India time. * Very few of the developers are actually engineers. Most are capable of roughly gluing APIs together, but design and quality are not present. * There is no automated building, no automated testing, no peer review, and only manual QA to catch bugs.