Having said all these, the company or the work (and for the matter I feel it is applicable for all other companies on software development) will not be suitable for someone that simply does not have the ability in software development, or have the right work attitude. This isn't a large decaying company where incompetent worker can just hide somewhere and try to get by. So I guess if if someone don't have the right work ethics or abilities, this should be considered a Con.
But for someone with abilities and right work ethics, this is a good place to be.