Pros
I enjoy working with the many different technologies every day. Since we manage so many different client environments it presents a new challenge every day. Everyday is different and I love this aspect. Instead of being confined to a single technology or vertical as I have been in the past with larger corporations you have a wide array of technologies that drastically expand your experience. My schedule is extremely flexible. I can take days off as needed even with short notice if my kid is sick but I can also work from home on those days and not have to use PTO.
Cons
Sometimes some of the communication between the teams feels that it isn't taking place. However, you pretty much know whats going on with the company as a whole. I know I cant say that there isn't anything bad but for me its usually little things here and there that are annoying but usually end up resolving themselves.