Small company environment, everybody knows everybody. They take the time to train you and expect great things, but will treat you with grace for when you make mistakes. There's always help available.
Cons
Sometimes communication for big projects is slow and departments bleed into each other without much separation (like between development and client care), but from what I understand, this is typical of growing companies. My role was a blend of several areas.