Pros
The workplace and in-house people you work with are great. Free lunch every Wednesday and free breakfast every Thursday. Opportunity to buy into an employee ownership plan where TD matches a certain percentage of your contributions. Full-time people understand the many problems of the company and tirelessly try to address and fix them. Flexible hours, no one will say anything if you get your work done early and want to head out. Unlimited sick days.
Cons
About 60% of the people you work with are sub-par contractors. TD prioritizes spending their money on overpriced, unqualified contractors instead of its own engineers. TD would rather spend an ungodly amount on contractors that cannot even figure out how to write a simple array sort instead of providing proper development hardware for its in-house developers. The contractors hired to design, develop and lead the creation of an AngularJS application do not even posses basic knowledge of JavaScript, and this shows in the quality of the code base. They do not care about the quality of the product, only about meeting a deadline. Projects are left in shambles and it is up to the unappreciated full-time developer to pick up the many pieces. TD match to the employee ownership contributions take 2 years to vest. Sometimes branch managers come into the developers office and play horseshoes while everyone is trying to get work done. Difficult to advance your career. They pay low comparatively.