Vantaggi
1) The people - engineers (hardware, software and debug) were fantastic people. Lower management as well were all hard working and conscientious. I would gladly call everyone I worked with my friend. 2) Work life balance - Other than bringup/launch times, plenty of leeway was given to do the things that we all want to do: go to school with kids, eat dinner at home with family, go the the gym, etc. 3) Doing what you want - I was firm enough with my manager that when I said I was going to do something, I meant it. So, when I wanted to learn something new, I was able to go do it.
Svantaggi
1) Squeaky wheel syndrome - I was squeaky, so I got more grease than those around me, but they don't give you ANYTHING that you don't demand. They really should reward people for their effort, not for their complaining. 2) Management sucks - I was there for 7 or 8 rounds of layoffs and I kept watching the talent walk out the door while the managers and PMs filled their ranks with "architects" and fellows.