Pros
Casual, flexible environment. No dress code for most staff (of course account and sales people wear business attire often, but that's the nature of their roles). In my department, I have the luxury of handling my own schedule. Which helps wonderfully with work life balance. The company encourages movement between departments, and if you are dedicated to being a part of the company, they will work with you to get you where you want to be. There are opportunities to relocate and work at other offices. Some employees work remotely and come to the office every so often. The people here are usually great and that helps the overall environment. A couple in my office are exceptional mentors and are one of the reasons why I'm still an employee here.
Cons
If you are uncomfortable in taking the reigns and proposing solutions, this may not be the place for you.Certain departments are more suited for seasoned professionals and TMP has been a little slow in realizing this. The heavier workloads tends to fall on the shoulders of the very capable, while many shift their work around or find every way to delegate to someone else. Some department heads are hands off and do not appoint or take seriously the training needs of their staff. Getting the right answer is like pulling teeth, often. They desire to be a software company, but some of the procedures and policies they incorporate need work as they do not seem to follow certain protocols I know to be required at other software development companies. It makes things very hard sometimes. Roles are quite ambiguous, often not solidly defined, so many of us wear many hats. Which works for people who are jacks of all trades, but annoying for someone who was hired for a specific job and expected to do that job. The salary isn't market and they are often reluctant to give raises until the person attempts to resign. Most people who leave move on to make more money and have less on their plates. Heavily revenue based company. Tenure seems to trump performance.