Unfortunately, the good community is mostly forged by a communal frustration with overwork, underpay, being asked for thankless long hours and no matter what gets done, you will always be 'behind schedule' due to a 2+ year long queue of contract work for frustrated clients.
Every 'Win' is discarded quickly to move 'onto the next fire'. Too much focus on the 'talk' and not the 'walk' of being 'good modern software engineers' (i.e. intent to do test driven development, intent to modernize systems, but moves glacially and requests to have time allocated for additional or new processes are resisted and just another process to follow that will be abandoned in two months)
Management loves patting themselves on the back about profits while actively being frustrated with being behind due to lack of developers and being stingy with compensation.
Instead of training new developers or providing opportunity for growth, there is a 'throw them to the wolves' mentality. Even when requests for even an onboarding session take months to set up.
Constantly went above and beyond, working directly with clients as an Engineer to diagnose their issues, more often than not turning out to be a misunderstanding of specifications between the client and the sales person they worked with being the source of the problem. Being the 'point of contact' for months for an escalated client, despite repeated requests for interference and asking customer service to work directly with said client.
Promises of QA on products that never receive them, leading to additional QA on my end while they didn't want to allocate time for the additional QA.
Leads to lots of unexpected hours that go unappreciated, or headaches down the line when it turns out that a manger's decision to forego QA led to some obscure edge case in the installer or another specific to Assetworks process problem that was never documented because 'they were too busy')
An insane frequency of internal database service downtime