Pros
Great learning opportunity New projects are always done with the latest technology Friendly colleagues (mostly)
Kontras
The company does not follow best practice when it comes to programming. The company does not make the projects centred around what the customers' want, but instead, it's about what the management wants. This makes it very difficult to balance customer requirements, management requirements and still meet the deadlines. Very frequent changes in architecture of new projects. There is no sufficient planning or impact analysis. Management does not always hire developers with relevant experience. The management hires people with PhDs that are worlds away from software development. And the only reason for hiring is having a PhD. This makes it difficult sometimes to work with colleagues who have no experience but hired at a senior position. A lot of the time, employees need to work overtime in order to meet short deadlines. But they are not compensated in the form of OT pay. Furthermore, OT compensation is offered in the form of replacement leave, and you can only get it if you ask for approval to work overtime. Once you do that, you are thought of as "Not a team player" or so to speak. As in you are a calculative person, and you would only work as little as possible. Customer support for night hours and weekends is done company wide, even if you are not working on a project that requires night hours and weekend customer support. You are still forced to partake in the customer support roaster. Moreover, you are expected to be at par in your knowledge and experience about that system with the people whose sole job is production support for that system.