Pros
- Solid pay. - Okay benefits (used to be better) and perks. Little stuff, like cell phone plan discounts, or really cheap personal shipping. - Work with smart people on cool stuff (depending on team). - Potentially broad impact.
Cons
- Terrible concept of management. (See Advice to Management below.) - Obnoxious review system. Supposedly a "meritocracy," but it's invariably a bunch of gossipy political BS. Through three or four different systems, this has been the one constant. - Lousy work/life balance. If your only interests are programming and more programming, you'll be fine. - At least as hyper-nerdy as you probably imagine. Don't expect many conversations about movies, music, current events, or really anything besides memory allocation or lambda variable capture considerations.