Pros
The clients that you work with, they have more respect for the programmers than the so called sales upper management. Make sure to make professional contacts with the clients, that where the opportunity is.
Cons
-Miscommunication between Upper Management. Bunch of Sales people who absolutely have no idea about how operations work, end up managing you and tends to be sickening. Their only job is to make money! They dont care about how operations work!
-Operations Managers and Programming directors basically are there since they have been sticking to this company for years. Even if you are better at programming then them, wont matter. There is no growth, archaic operations process which never wants to evolve.
-No work life balance whatsoever. Its a sweat shop basically! Make sure to have good relations with the sales people, even if you suck at your job, you will still have a job.
-No career opportunities in operations especially programming. Bug filled system that clearly needs better testing.
-Sales people dont have any respect for operations personnel. Their only job is to make sure the client is happy.