**Management is generally absent**: As I mentioned in the Pros section, management is generally absent from the day-to-day operations (especially for software). As a result, they might not recognise your work, or understand its importance.
**Poor salary and benefits**: The salaries are not competitive at all, especially for developers on the more junior side, and it is quite difficult to get a raise (there are no performance reviews or anything of that sort). There are no extra benefits at all. Hybrid/Remote work is not considered the default, however you might get a chance if you manage to persuade management.
**Disorganization**: As mentioned before, this place can be a mess. There is little long-term planning, and at times some odd decisions have been taken in regards to software. Knowledge and information sharing between teams (and especially between the two offices) is abysmal. This obviously ends up causing problems.
**Not set roles**: Even though most people have a role, it is quite likely that you'll end up doing some completely different stuff than you've expected. A front-end developer might have to deploy software or create CI/CD pipelines, and a data analyst might end up writing the backend for an unrelated software themselves. It didn't bother me personally, but if it bothers you, you'll have a difficult time.