Pros
Most managers/coworkers are extremely friendly and helpful, and are frequently responsible for mentoring new hires or junior developers You can really feel that those in charge genuinely want to help their employees; benefits are excellent, accepting and friendly culture is constantly reinforced/encouraged, community events (at least in NYC) are consistent and open to all employees, cross-organization learning sessions are common. Salary is fairly competitive, especially for locations outside of NYC (not to say that NYC salaries are low though) Excellent work/life balance, and the company is constantly improving its agile methodology/workflow to ensure working late on the job is a thing of the past
Cons
Career growth can be limited within a team, especially larger ones - you may need to apply to positions in other organizations for promotions. If you want to stay in your team, you need to constantly push your boss for raises/promotions as they aren't likely to come to you naturally (which isn't necessarily uncommon across various companies)