For a very long time, I've been a very anti-union, pro-pure-capitalism individual, but it is responses like yours that really make me think it might be time for professional unions for software engineers that defend the right of an engineer not to be fired if he's 1) capable and 2) professional, but happens to not share music tastes with his manager.
Just an anecdote -- I've known great engineers who slowly became angry, bitter, and defeated about their jobs, bosses and coworkers. They gradually turned sour, subtly poisoning the workplace over time. When confronted, they'd lash out with the defense of "professionalism," that they're more than capable employees who are contributing just as well as anyone. Attitude and enthusiasm nitpicks are irrelevant as long as you're writing code. In short, they deserved to keep the job and could hack it because they were still "professional."
The truth is, those people had given up and became toxic to everyone around them. It was time that they move on.
Anyhow, whenever I hear the defense of "professionalism" I become fairly suspicious of the circumstances.
I would contest that if they "slowly became angry, bitter, and defeated about their jobs, bosses and coworkers", they weren't the ones doing the poisoning...
Very valid point. In the case I witnessed it wasn't any particular person's fault but rather the longer-term consequence of bad "culture fit" allowed to simmer.
Actually, I think that saying "but I behave professionally" is equivalent to saying "I am a great lover" or "I am a very humble person" - making such a statement is an automatic disqualification for the quality you are claiming.
The point I am trying to make is that if someone says "he/she is capable and behaves professionally, but the culture fit is just not there", that's when I become fairly suspicious of the circumstances.
This is because you are a software engineer, and are currently enjoying a market where there are more employers looking to hire than hirable engineers. In other words, you have a choice.
I assume you're not a software engineer. Because if you were, then it would make it sound like you're anti-union and pro-pure-capitalism until it might actually affect YOU.
I am very much a software engineer, except that I exclusively work contract jobs where I automatically get fired each time the contract ends, and I don't, and don't intend to, participate in the traditional W2 employer/employee market, so the presence or absence of employee defense unions is irrelevant to me.
As a business owner, why should I be forced to continue to employ someone that I don't want?
It will just make the hiring process more strict. I know France has these sorts of rules in place and many companies didn't want to hire anyone without experience because it was very difficult to fire someone once you hired them.