- Slow, not flexible, schedule - if you're a dev, you're an hourly worker, meaning that you must log time and show that you are doing something productive. What this translates into is that if you have a slow season and suddenly work becomes available, you are responsible for picking up tasks. However, there isn't a good system to indicate that tasks are available, meaning that you need to be constantly checking your kanban board for things to do. Management also has no problem pinging you at any point during normal working hours, meaning that you are functionally "on call" during the workday.
- Pay - compared to other software roles, you likely will not be compensated nearly as much; for example, an entry level role here will likely will be 25%-50% lower pay than, say, SF Bay Area or Silicon Valley entry-level SWE roles. This is also a common complaint internally, and management doesn't seem to be open to changing that anytime soon.
- Not a robust set of transferrable skills - depending on your development team, it can be very easy to become pigeonholed into one kind of task that may or may not have transferrable skills in the future were you ever to consider getting a new job. The tech stack used is also pretty old-school, so if you ever want to work for a more "modern" company in the future, you'll have to pick up more modern languages and frameworks on your own.