Programmers and engineers are underpaid in all industries in the rich countries.
Programming and engineering requires more knowledge, skills and intellectual horse power than most other jobs.
The reason for underpayment is that engineers across the world talk the same language: logic. So the rich world engineers are directly competing with poor world engineers who ask for much less pay.
A Master's degree 5 years experienced java programmer in India is paid 1/4 of the same profile in the USA. They use the same language, tools and methodologies, have similar productivity and are interchangeable.
A lawyer in the USA cannot be replaced by an Indian lawyer. You need to have specific knowledge of American law and an american degree in law.
So unless the salary gap between rich world programmers and poor world programmers does tighten, the rich world programmers and engineers will continue to be underpaid relative to the demanding nature of their job, because cheap international competition is holding salaries down.
same thing happens to manufacturing. manufacturing is onshoring again, but the wages are much lower at 14$ an hour. globalization and multinationals which are growing and growing means you are soon competing vs the cheap labor of the world. Better be at the top in a multinational then a worker bee.
could you elaborate on that a bit? why soul crushing?