Pros
Ample motivation to look for better opportunities thanks to the extremely high attrition rate.
Cons
1. Knowledge centered in few old employees who prefers keeping it within themselves. 2. Employees whom the management knows are valued and hoisted, others are treated like nothing beyond being a resource. 3. Code adaptation capabilities of employees are assessed without being given any task related to code. 4. Random recruitment decisions by the management leading to good and old employees leaving in an insensitive manner. 5. "You are good until someone else comes in who knows how to play with words, not do any work and make you seem the worst" is the motto. 6. Employees are sacked overnight a couple of times without being given the opportunity to prove themselves - tend to personal issues or end up being late to a few meetings and you lose access to code aka you are sacked. 7. No value for existing employees or for their safety. If a new recruit poses a proven safety threat to an existing employee, it is still overlooked as long as the new recruit fixes a bug that he is working on. That is the only situation in which random employee termination becomes unlawful. 8. Promised actions are overlooked even in serious disciplinary cases. The management chooses "Not to make it a big deal". 9. Sun shines, rains, employee dies or goes through personal hell thanks to people at work, you are still expected to deliver work every single day. Else or if sizeable (according to the boss)work isn't complete at the end of the day, wake up to a call asking why the work wasn't done despite the bosses knowing what happened. 10. A "Software" company with no one to test the product.