I know many people leave because of pay reasons, and maybe a union could address that.
But I also find my self largely wanting to leave out of a desire for a new challenge, learn something new. It would be way to easy to stay stagnant at a company and than find yourself forced to deal with new technology in a new role, that for everyone else is old technology (and there is a limit to how much you can realistically do that for side projects). Not that it does not happen anyways.
I don't see any way a Union could (or should) address this.
I don't know how often unions actually impact what the business does instead of how it operates, but here's an example: "Audi's unions demand electric model for main German plant" [0]
> Mosch, who sits on parent VW’s supervisory board, asked top management to provide specific information as to how the growing shift to electric cars and digital services will affect employment at Audi, which has 88,000 workers globally.
Having worked at places where management was deaf to employee concerns about the direction of the business, and seen the consequences of bad management fall upon those employees, I can clearly some sort of leverage would be good for engineers. Perhaps that could involve forcing a company to invest in new technology, thus allowing you to grow as an engineer- and perhaps making your job more secure by making the business more competitive.
Because after 2-3 years you can move for (on the very low end) a $10-20 grand pay increase without much pain at all. A raise you'd be unlikely to get at your original job. I am unsure of how a union could address that problem. It's a sellers market for software developers.
What I'm hearing you say is "Employers are not providing raises commensurate with employee experience and value, leading to churn and a lack of mutual investment".
My understanding is that some leave to get out of shitty working conditions, and many others leave because switching jobs every 2-3 years is the most reliable way to increase your salary.
Pretty easy to see how unions could address both of those issues. This might not work in favor of aggressively job-hopping careerists, but would probably work for everyone else in the International Brotherhood of Codeslingers.
But I also find my self largely wanting to leave out of a desire for a new challenge, learn something new. It would be way to easy to stay stagnant at a company and than find yourself forced to deal with new technology in a new role, that for everyone else is old technology (and there is a limit to how much you can realistically do that for side projects). Not that it does not happen anyways.
I don't see any way a Union could (or should) address this.