Pros
interesting work, various domains : video , networking, wireless design and verification.
nice interface with the customers, learning new technologies. develop skill not only in RTL design also in PCB, and others.
nice environmental work.
Cons
as a contractor there are periods of time when the engineer must work on customer site, sometimes can be 2-4 weeks