Pros
I worked for many years at Knight and overall it was a great experience. Compensation and benefits are competitive and you get to work on interesting projects in a fast paced environment.
Cons
No career path for technologists not interested in management. Middle managers/team leads have no experience or interest in mentoring developers and helping them with career development. More often than not very inappropriate people are promoted into director titles.
Senior developers, as they leave the firm, are replaced by very junior ones and as a result many systems are built by inexperienced people and are now a support nightmare. At least 80% of the work is real-time production support, leaving little time for working on development tasks unless you dedicate your personal time to it. Expectation is that issues are investigated immediately as they arise which after awhile gets to you -- it is unnatural for a developer to constantly context switch like that.
Because so much work is production support there is very little opportunity to expand your technological skills. Technology has a tendency to stagnate and there is resistance to change. Training opportunities offered to technologists are a so basic a high school kid wouldn't take advantage of it.
I don't believe this is unique to Knight, but this is also not for everyone.