I have a colleague who will never accept he made a mistake or that his idea is just wrong. He thinks he is "the next best thing". He is also arrogant in his way of talking to people around him in general.
The only person that he accepts listening to his ideas is the only guy in the group that has been hired before him. All the others are non factor in his mind. He knows a lot about the enterprise domain but everything he codes is very hard to maintain.
I have coped with it for a little more than a year but it just gets harder and harder to work with. We do not have a project manager or such a position we are just a team of developer working together on tasks given by upper management. I do not want to take that to the management as they will not do a thing about it and also because we are part of a trade union and they basically never fire anybody (not that I want him fired). I have tried to talk to him but it leads nowhere as he pretty much laughed at me.
I am no super genius but I feel confident saying I am a good programmer.
How would you handle this kind of situation?