Pros
There are multiple learning resources and good camaraderie between peers, almost as if one were in college. In some teams, genuine care is shown. Although not perfect, there is at least actual effort.
Cons
Lack of proper management, especially at the senior level. Mid- to junior-level engineers are left to fend for themselves in stressful situations (e.g., EORs ignoring engineers’ concerns until the deadline, resulting in the engineer being reprimanded by higher management). Engineers are overworked, their efforts are undervalued (bosses typically get all the credit when good things happen, while engineers suffer the consequences when things go south), and their concerns fall on deaf ears, typically being gaslit by being told either “we are family” or “there is no other choice in the matter.” Work stress and burnout are considered a “failure in time management” on the part of the employee. It is also worth noting that an unwritten rule in one of the teams is that overtime is mandatory (including weekends) and refusal to do so is met with silent prejudice. Band-aid solutions include micromanagement, such as requiring engineers to submit projected weekly activities, which are often criticized by management and usually differ from what actually happens—primarily because management focuses on client demands without proper consideration of whether the team is capable of delivering, often going beyond the client’s original requests as well. Fresh graduates/Assistant Engineers are overworked as well, with a phrase conveniently masking this issue as a “growth experience” for the engineer. Growth-wise, there is a lack of learning opportunities due to reliance on outdated norms and, once again, overbearing workloads.