Pros
Very flexible hours
Managers are competent and they're well trained to handle things properly
Upper management appreciate good working attitude and it mostly comes with a small rewards which increase the motivation
Good team work
Salaries are fair compared to other PME
Cons
So far I haven't notice something negative honestly, it has the same cons as any other workplace
it's just sometimes some people are rewarded with titles and you'd notice it in their fancy email signature ...but in reality they don't even know how to write a single piece of code .
Career opportunities are not clearly defined, but I don't see it as a negative thing because I know who I am and I know what are my skills, but if you're that kind of person who don't even know his career goals, don't expect them to find the best job and offer it to you