- Relatively large project budgets
- Nice office
- Great career jumpstart
Cons
- Projects change/evolve with the political wind at the company
- Most interesting projects get canned because they're too hard
- Company culture talks a big game about innovation and changing the world but they don't recruit people who walk the walk
- Company is better at managing software development than hardware development
- The best people always leave before long
- Senior engineers are hilariously arrogant (spoiler alert: it's not deserved)
Flexible schedule
Supportive leadership team
Dedication to solving the hard problem
Potentially opportunities for advancement
Fast-paced work
Cons
Sometimes schedule comes at the expense of other aspects of work
Not a lot of individual praise for work outside technical fields (developing others, training)
Short average tenure of employees (2 years-ish) so loss of institutional memory