Pros
Friendly co-workers and bosses. Easy to approach and joke around with.
Frequent team building and meet ups.
Cons
Most of the time they give employees unrealistic timeline where they must complete a project within a few weeks even if the project is for a 3 month period when correctly estimated.
No training at all, they want employee to learn by themselves outside of work hours.
Low salary and they expect you to work like a very season senior developer.
Project managers always say yes to client without consulation to developers, if the developer says it cannot be done, they force you to do it. If the project is delayed, all blame is placed to the developer.
Messy project methodology.
Too many projects at the same time. You are expected to finish a large scale project within their timeline, and then maintain a previous one and then start with another new one and all projects insist that they are needed to prioritized.
No coding standard which makes project inheritance or collaboration hard and they expect you to immediately understand the code within one reading.