Some background - I'm relatively new (been there a month) to a fairly large software company. This coworker has been at this company for 3 years, but is also relatively new to this team. Because this coworker is several years older and has been at the company longer he is one software dev grade above me. He is a pretty good programmer in many areas, but there are several areas where his knowledge is clearly lacking.
The problem comes from that he is extremely stubborn, to the point where I have never seen him concede a point to anyone, even when he is obviously wrong. When dealing with the software devs around his level, he'll argue to the point where dev decisions come down to coin tosses. When it comes to software devs one level below like me, he is outright dismissive and condescending. He has denied he's said things to win arguments, and made facile arguments. A very common one is about not increasing complexity, often when a change is required. For example he designed a table without adding any columns for relations, which resulted in me not being able to complete a task. I talked to him about it and he argued black and blue against the change. When I inevitably went to my boss explaining why I could not complete a task, my manager asked my coworker why the table was missing the relation and my coworker promptly said he'd fix it.
As you can probably tell he's really gotten under my skin. But on top of that he's made my job more difficult and even after he's proven wrong (like the example with my boss) continues to be stubborn.
My question is how to deal with someone like this at work? Such as what can be done if anything to get him to listen to others? Or instead should I just put my head down and record the ways the stubbornness is making my job more difficult?