The people.
The culture.
The benefits.
The money.
The flexibility.
...
You will NEVER find someone here lecturing about political views :)
Cons
A healthy dose of context switching, a daily barrage of support tickets, juggling multiple projects, etc. Basically the same cons you will find at any average software development job. However, here the pros vastly outweigh the cons.