Pros
The biggest pro (and also biggest con) is the fact that nearly everyone at CRA is either an engineer or a scientist. If you come from a place that was overburdened with management, you might appreciate having less of it around. If you enjoy a lot of freedom to self direct yourself (and can actually do it productively), you'll also do well here. Other pros include total health care coverage (you don't pay a dime towards it), a nice profit-sharing retirement plan of 15% (once you meet the tenure threshold), and as I was leaving, they were transitioning the company to an employee owned company, where stocks of the company are allotted to employees which reside in your retirement account. You accumulate these stocks and when you retire, you cash them out. They also provide snacks, though on a somewhat "limited" basis. (i.e. the snacks are usually gone by Friday and don't get restocked until Monday; contrast to Google, where they stock so many snacks, food and beverages that you couldn't possibly deplete them, even if you were being shady and taking stuff home.) The culture is also a bit "younger" than some other places. This results in a faster pace environment and newer technologies being adopted very quickly. CRA is very supportive in helping employees learn new things, attending conferences, buying books and other resources, etc.
Cons
The biggest pro is also the biggest con, as without management, you see the lack of team building and structure that would normally be in place. If you're the kind of person who thrives in structured environments, you may not do well at CRA. Another some-what con is the profit sharing retirement plan tenure requirement. It requires that you work there for 1 year before it becomes active, and then, the deposit is only made into your account at the end of your 2nd year. So that's basically two full years without any company contributions to your retirement account. If you can get past that, then the 15% is pretty nice (no employee contribution required).