Pros
- High salary for fresh graduates The starting pay for fresh graduates is higher than average - Talented and friendly colleagues (depends on the team) The office is full of young people. There are some who are really talented and most of co-workers are nice and friendly. - Flexible working hours (depends on the team) The working hours are pretty flexible if deliverables are not due and you do not have meetings to attend. However, there is no option to work remotely. - Possibility of transferring to Japan It is possible to request for a transfer to Japan after you stay for a certain period of time in the company. It's an opportunity for those who wants to experience the Japanese culture. - Excellent sales team The sales team in Japan is top notch. They are actually able to sell software based on nothing but paper. In fact, they are the ones that are lifting the entire company.
Cons
- 50 shades of managers Clueless, racist, incompetent, pushers, know-it-alls, pretenders, and the list goes on. Just name a trait and you have a very high probability of finding a manager like that. - Out of touch top management The top management is completely out of touch with the situation on the ground and the actual status of the product. Because of this, they are making decisions which becomes a hindance or has no impact value. - Politics among managers When you try to request help from other teams, the other team managers always find some way to avoid it instead of trying to find a solution. There is no smooth collaboration between team managers. In the end, nothing gets done and delays keep piling on. - Spreadsheets for everything They love to use spreadsheets for all purposes, instead of using proper tools. This applies even for diagram drawing. Can you imagine how troublesome it is to create complex diagrams in excel? - Misallocation of resources PhD holders do screen mockups; Master's holders do trivial work; Arts graduates write code; Developers write essays and draw UI instead of coding. There isn't a proper allocation based on skills and interest. - No experts with experience The tech architecture leads are wannabes who has no real experience with production software. Their decisions are supported with weak evidence at best. There is no real tech lead who has the know-how and expertise to lead the way. - Reinventing the wheel They love to reinvent the wheel instead of using something that has been battle-tested. Instead of paying a small cost to use commercial software, they pay even more money to reinvent it in-house, which ends up being subpar. Some excellent libraries and frameworks are even open source so it costs nothing to use . They recreate everything in-house, claiming that what is in the market cannot achieve what they want. The outcome is a bloated piece of mess that constantly breaks every step of the way. In addition, the upper management forces these frameworks to be used, which totally hinders productivity. - Dubious development cycle Their "sprints" have all the negatives of agile and waterfall, but none of the benefits. - Resistance to change Even with all the above cons, the higher management refuses to admit their mistake and change their strategy. Instead, they pat themselves on the back and say all is dandy. The bottom level can so clearly see the inherent flaws and there are so many calls for change but it doesn't happen. - No structured training There is no process where people can pick up skills in a natural manner. Because you don't learn much, your skills remain stagnant.