Pros
- Cross-functional teams facilitate tremendous opportunity for developers -- you can focus on the platform you're strongest and also get great exposure to develop in other platforms. The culture both encourages and values that as a part of empowering everyone to contribute. It's a fantastic place to grow! - Top-down, management makes sure that, while the demands are high, the environment is welcoming and fun to the extent that its like being a part of a second family. Having seen the other end of the spectrum, I say this with authority: I wake up truly looking forward to coming to work. - Working with extremely bright and talented co-workers across the board makes for growth and improvement on a constant basis.
Cons
Sometimes time constraints combined with the requirement for quality work leads to a spike in hours. That said, the other advantages far outweigh the times relatively few times where I've needed to put in extra time to do what I love to do anyway.