Vantaggi
The product and the market is interesting and full of challenges. They give bonuses depending on the company's performance/sales. They allow collaboration contracts (freelancer) and remote work, although the company does not have a remote culture (you will not be included in important discussions and you will lose important information if you work remote).
Svantaggi
The upper management is made up of ex-salesmen and their sole purpose is to sell. They don't care about things like quality, development/management best practices and improvements. The development method is reactive: ship something as quickly as possible, with incomplete features and only the main use cases working and then fix bugs as they come, reported by the users. There is almost no creativity involved in the business side of the project. The management just looks at the competition and checks what features they have or promise to include in the future, copies that, and pushes similar features in the product, hoping they will deliver faster and better. Almost always, the result was that we delivered later and with poor quality, getting into reactive mode and fixing bugs after launch. From a technical point of view they have the worst code base I have worked on up to now. Very high technical debt caused by numerous workarounds, which always require new workarounds to keep compatibility with previous releases. It's a vicious circle which I don't think they can break, and I don't think they even want to break. The priorities change usually a few times per day, so the work gets very fragmented, having to jump from bug fixing to checking some logs on production, to implementing a new feature, to help customer support with some customer issue reported, to making manual changes in the databases in production. The development process is a complete mess, or even non-existing, I might say. Releases are usually delayed by a few months because of changing requirements at the last minute, poor communication between management and development.