Pros
**Chill enviroment and coworkers**: Generally a relaxed enviroment, the team is quite skilled, and they generally are a pleasure to work with. **There is little pressure from management**: Generally management is somewhat absent. This allows you to work at your pace with little stress or pressure (however it has its drawbacks, which I will cover on the Cons section). There are few deadlines for anything. **Ability to learn**: For a developer that has passion to learn new stuff this is a good place to work. Knowledge is shared among the software team, so you can end learning a large variety of tools and frameworks.
Cons
**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.