Have worked at a few different places around the world. Many different factors influence work culture, not usually specific to the region, but specific to the state of the local economy.
Lack of available engineering workforce in a market usually means poor engineering work, lots of incompetent staff, and employees getting treated really well, all supported by high prices.
Lack of available work in a market usually leads to unemployment for incompetent engineers (sadly unemployment for juniors and young folks too), poor treatment of staff, but great engineering work (at low prices to boot).
Companies with tough management struggle to find or retain staff during the good times, but thrive in tough times. Companies with easy going management attract staff in good times and thrive inefficiently, but are out-gunned when times get tight.
Call me twisted but my technical development was greatest at the places that have tough (abusive?) management. Companies that strive for engineering excellence end up pushing employees out of their comfort zones, leading to long hours, firing of incompetent staff, and stress/competition among staff, which over the course of a couple years leads to great development, but can come at the expense of other things in your life, potentially.