Pros
The associates I work with are awesome. Great engineers, genuinely helpful, smart, and nice people. Most of them are musicians which doesn’t hurt either! It’s easy to talk about pros and cons of the job with each other, and the environment is one in which employees and managers can largely have open discussions about how things can improve.
Cons
As the software organization grows, “process” can get in the way, frequently to the detriment of team productivity. Sometimes individual team members shoulder more of the load (often due to their own dedication to the job and company, which is awesome to see, but can lead to burnout). There also needs to be more of a push to raise salaries across the board within software development if the company want to retain the talent it currently has.