Motorola – “Software Engineering at Motorola”
Pros
1. Amazing number of knowledgeable people to learn from.
2. Depending on the team, a lot of freedom and flexibility in how you accomplish your work.
3. Excellent professional work culture in most teams.
4. Good work pays dividends.
Cons
1. Bad management decisions. (At least the older ones. New management too new to judge)
2. Some bad/inefficient managers/teams left in place for years.
3. A lot of process involved in getting work done.
Advice to Senior Management
Make phones for the user, not to the network specifications. Open up things, don't attempt to lock down features, cripple devices etc based on bad market research.