Pros
I would say the "Work from home" but nowadays this is very usual in software development companies. Then I would only mention the work flexibility. But then again, when you work with Project deliverables, you get the flexibility you need as long as you deliver what's required. so... Payment. But then this one is actually a cons I am mentioning in the "Cons" section... as they pay when they want if they want.
Cons
-They Pay 15-30 days or even more after you register your work hours (2 months in my case). At some point, I was not even sure I was actually going to get paid and no one communicated properly. -Processes are not near to be defined. With the payment issues Accounting says it's management's fault, Management says it's accounting, Project lead is worried but then no one supports him or communicate. In the end, the employee is not respected as a good job was done with great effort but not appropriate timely compensation when it was ethically deserved. -If you leave the company, they will not pay you the last hours of those 15 days (fortnight). -You get multiple company management styles depending on who you talk to. so "too many chiefs and not so many Indians" -As an engineer, you want to go in, do your work, deliver and continue. But Project Managers do not look good as they don't communicate the actual status of the projects (when project is on hold) and cannot be transparent (not sure if management holds them) but you are not allowed to do your actual work due to factors that should not be affecting a serious professional company. (Relying on one single person to fix an issue, not allowing team members to book hours or continue to work on their assignments until that single person fix an issue, not communicate, etc) -Senior developers/leads with genius ideas really good. But no fundamentals in systems engineering or architectural understanding of an application of a whole system. (API security is basic when transactions include money). -Negative immature environment promoted by lead. (Gossips, unprofessionalism, un-objectiveness )