Pros
Benefits are really awesome, they pay for your health insurance and give you FSA money. Overall there are smart engineers here and many opportunities to gain experience. Junior level and mid-level back-end engineers would benefit most, but expect to outgrow your job and your team quickly. Engineering management is enthusiastic and wants engineers to be successful - you do have the opportunity to propose and implement your own projects. You get a lot of freedom to implement your own solutions. Product is actually really nice and willing to give you more time to do things right. Very diverse work environment, people are treated fairly and respectfully regardless of gender or ethnic background.
Cons
Engineering management lacks real tech experience. The department is very frantic and scattered without a solid long term vision. Poor handling of politics between teams, very immature environment, lots of junior high name-calling behind backs happening at management levels. Teams are not effectively managed, under-performing developers are not put on performance review plans or otherwise dealt with, and over-performing developers get rewarded with additional work the under-performing developers can't do. Teams don't work well together. Some teams are micromanaged to require detailed specifications in order to code anything, other teams work in silos and don't communicate with teams their code overlaps with. Finally, very limited opportunities for engineer advancement, very few truly "senior" engineers.