Pros
There is no salary cap that forces a jump from engineering to management. Management makes effective use of communications (email, chat, phone, video-conference) to ensure that remotees are plugged into whats going on. Most development groups allow remote employees Upper management seems to be managing for the long haul as opposed to targeting the next earning call. Even though we're pushing 6000 employees, we haven't quite lost the feel of a startup. It's not quite as loose and crazy as it was in 2000 but it's not shirt-and-tie corporate America either. No "that's not your job" culture. People tend to jump in an fix something rather than trying to push it off on someone else.
Cons
Still see a reluctance to hire US engineers, probably due to salary/benefits issues. That being said, if someone is well-known in their field, space can be made.