-Late pay. If you depend on this money don't work here. Worked here for more than a year and I've only been paid on time twice. 5-10 days late pay. Some colleagues are paid even later -Disorganized. This is a big con. Half of the time no one knows what they're doing. Very little planning goes into implementing features which means you will have to go back to them and change them over and over again. Whenever you're assigned a ticket there will be a duplicate ticket assigned to you asking for the same thing over and over again. Why? because PM's don't have a clue what they're asking for. Is it their fault? No! It's the fact that there is no documentation or the documentation is outdated and very badly written. Even the more senior members of management and development find that they are assigned a ticket for a feature that's already been developed, they try to start it and then they notice it's already been done years ago. The functionality is just hidden among a bunch of complexity. - Unit tests are a rarity since half the team don't know how to implement them. - No code reviews. It is very likely you will see insanely large functions, some nonsensical code or even hard coded functionality. -You won't be able to run the apps locally which means you will spend a lot of time running things on a remote testing environment which is always busy. -Management has no bearings on time. i.e. you will be messaged at 8 pm about something trivial that can wait until the morning. If you do overtime you will not be rewarded so please if you end up here don't do it. -No progression. You will not get a raise here. peformance reviews? forget it. No matter how much over time you put in, how hard you work, how much you improve, how much you sacrifice for the business there will be no reward. -You will always be playing catch-up