Hard work and performance is rewarded. Incredibly talented teammates who are passionate and committed about delivering high quality software
Cons
There are politics at play -- you will need to demonstrate consistent performance and a strong work ethic to the leadership team if you want to be put on interesting projects.
Decent pay, 401k, good WLB, remote work, awesome coworkers, opportunities to learn and grow.
Cons
Got hired for a particular technology that I specialize in and got put on a project that is for something entirely unrelated. What you work on is pretty much out of your control and depends on what is needed at the time. Ambiguous metrics for bonus attainment/raises.