Pros
They pay their wages on time. Flexible schedule.
Cons
You may be hired to perform a specific role, but you may be forced to do a different job. An extremely disorganized company. They hire people with a determined expertise, but put them into random jobs, without worrying whether the employee will suit the job. They take any project from a huge range of technologies, even if they do not have people trained to do them. The company has many project managers who do not know simple management structures, serving only as messengers or intermediaries between the client and the technical side. Especially for software developers, there is no concern about the quality of the code, what generates bad products and that does not cooperate for a good training and work experience for the developers.