Pros
- Working on the state of the art processors designed in house. - Working with friendly and very experienced engineers. - Respect from the management, flexible time, little pressure. - Freedom to explore new technologies and tools. - Hot lunch by a professional cook.
Cons
- Market pressure leads to lots of shuffling short term priorities, while there is little long-term envisioning software projects. - No individual appraisal or performance based bonus. Project delivery and personal professional developments mostly rely on self motivation and discipline. - Probably aimed to reduce the time to market, software engineers have to work on unstable hardware/systems, which wastes time and takes mental toll on motivation and discipline. - Communication with other global teams requires extra effort not usually appreciated by a software engineer.