Although this problem needs a solution, a union is not that solution. Unions are a relic of a bygone era. The core premise of a union is that employes are all the same and can be swapped in and out of work like parts in a machine (once they are trained). This leads to collective bargaining which takes back some of the power that big employers have. However it also removes individuality from the worker. If I am smarter, stronger, or more skilled than my coworkers, I want to be able to elevate myself based on my merits. A union interferes with that. You pay a union, and the union acts only in its own best interest, not in your individual best interest.
That's an incredibly selfish attitude that puts the individual interest above the interest of the collective. The irony is that collective bargaining is much more effective and is much stronger in the long run. Your self interest is great until such time that you reach a point when other, more skilled people take your place (which is inevitable, because our cognitive capabilities decline with age, not to mention that older people have more responsibilities and find it hard to work 80 hour weeks).
Even the most meritocratic of individuals can run into unforeseen and unfortunate circumstances (e.g., an accident that has you laid up, or family issues). I worked in a strictly up or out management consulting firm, and about a year ago, my pregnant wife had some issues. My son was born, prematurely, and I was in a rough place with my personal needs and professional responsibilities. My wife was hospitalized and my son was in the NICU, unable to breathe, and I was the only one who could take care of things. My employer was understanding -- for about 6 weeks -- after which things got rather unpleasant. So, I quit and joined another firm that is not only more prestigious but was also more understanding and accommodating of my needs. But I was fortunate -- I could very well have been unable to find a job, and been unemployed for a year because I wanted to take care of my family.
Union agreements ensure that in such cases, collective bargaining agreements protect everyone.
Modern skilled workers, especially in the IT and Engineering fields, are usually very specialized. This is not a good fit for a union. It would be ill advised to take a good thing and remove all motivation for creativity and the free flow of invigorating talent.
Not really. Most of what goes on in IT today is quite commoditized, and there are very few areas that are truly specialized. And it is only going to get worse as IT matures. You may think your task is highly specialized, but the truth is, there's probably someone in another part of the world willing to do it for a tenth of what you get paid. That is not specialization.
If you want real specialization, you perhaps see it in chip design, algorithmic optimization, biotech etc. You know, all those guys with PhDs who specialize in a subject?
A better solution is to simply prevent large corporations from getting away with their bullshit. No "gentleman's agreements" to prevent poaching. Stop accepting lies regarding layoffs and market performance. Reward employers for using home-grown talent rather than rewarding them with tax loopholes for moving overseas.
And how do you propose we do that? The share market is the ultimate arbiter, and the people who are rewarding the companies and the executives are the shareholders who are in for short term profit (it's the extension of the same short term myopic outlook of looking out for oneself rather than the collective).
I find that most Americans have a poor understanding of unions almost entirely rooted in propaganda, and it gets repeated again and again as gospel. The truth is, unions are immensely helpful to the labor force, especially in a service economy such as ours. Everyone thinks their skill is specialized, until it gets outsourced and commoditized.
You are not special. And despite what you may think, unions can help you negotiate agreements that would be impossible for you to go at alone.