Pros
Very open and supportive environment, people respect each other, lack of know-it-all types and I-know-best types, we use Agile Development and it seems to promote friendship with the people you work with, there is a nice mix of experience and less experienced engineers but the senior engineers are always willing to give time to the questions of he more junior people, there is a willingness to learn together. One great attitude is that when there is a problem, they say, "let's fix the problem" and everyone movers on. At some companies, the first question when there is a problem is, "who is to blame?". Also, it is easy to move around and work on different teams and projects.
Cons
It can take a long time to decide to move into new technologies. Benefits are average for the Valley. It would be nice to work from home more than one day a week. Really secure bike lockers would be nice but they say they are working on it.