Pros
- Developers can focus on their tasks and usually don´t waste time in meetings or reading mails. - Company is usually willing to spend money and time trying new technologies. - Company have a big market share which gives a sense (or impression) of stability to work in long term projects. - Flat hierarchy: in my time, there were only 4 level from engineer to CEO. It makes decisions easier.
Cons
- Old fashioned software engineering way to work. There is a need to adapt to modern techniques and tools. Code review, pair programming, TDD are some of the absent pratices there. It was really hard to deploy useful products to the company, process adopted was too slow. - Messy career stack. You really don´t know how what is the 'next step'. Even with good feedbacks all time, rarely you can get a raise.