I am not an engineer, but I worked with engineers for two software companies in Japan.
There, the engineers were working like slaves. There were many reasons for working like this: The customer kept changing specifications; Communication between the customer and the engineers took too much time; Bugs were found; In the testing phase, the client changed their mind again; The initial planning was optimistic to begin with.
But I think the situation is the same in the U.S.
I saw engineers who came from India, the U.S., New Zealand, Australia, Germany, and South Africa. They worked hard for a year or so for good compensation. Then they finished their assignments, and returned to their home countries.