* usually normal hours
* interesting technology
* above-average codebase quality
* little to no bureaucracy
* many competent engineers
* great culture (no "brogrammers" nor suits; diverse staff)
Cons
* confused strategic direction
* poor/nonexistent project management
* overambitious ship dates
* little to no guidance from product management
* daily status meetings ("scrum" in name only)
* pay well below industry average