Pros
CTS has a great work culture, provides great training and opportunities, is transparent about the health of the company, and truly cares about the advancement and success of their employees.
I have worked there for 1 year, and I feel like I have learned so much more in that year than I would have at many other jobs. The company is full of very intelligent people that have had years of experience, not only in writing code, but in finding business solutions for their customers, negotiating deals, designing great architecture, and serving their clients. They put a huge emphasis on the "3 Cs" - Customer, Co-worker, and Community. Our branch engages in at least 1 company fun event (putt-putt, going to a movie, throwing a party) and 1 community service event every month.
They offer a wide range of internal training, as well as regular "Lunch and Learns", where an employee presents a new technology or process to anyone who wants to learn and eat free pizza.
Employees have a voice and are cared for, with the goal of a 25 to 1 worker to HR ratio.
Management has regular reviews with employees and asks them questions like "What kind of technologies do you want to work with?" and actually pushes for you to be involved with those technologies on a project.
Promotion tracks are very clear, and if you work on projects and finish the training and certification without issues, you are basically guaranteed advancement.
I enjoy going to work every day, the job is enjoyable and I love the people I work with. Great company culture isn't something an organization can buy, but CTS seems to have found a magic formula!
Cons
During my interview, I was told that employees rarely travel and only in special circumstances. On my first project, we were asked to travel 80% for 2 months, then about 40% for another 3 months. We are not travelling regularly now, but I was disappointed that this expectation was not clearly expressed. It seems that this project was a special circumstance, though; most employees do not travel regularly.