In the past few weeks I have witnessed a bad behavior from a coworker of mine. He is a Mid-Junior developer and I'm a senior developer.
I will try to give you some examples, being as unbiased as possible:
recently we were given some deadlines, I completed all of them except one one small thing because I wanted to discuss that with my manager. He did less than half the things assigned to him. When questioned by the boss he immediately pointed out that I did not complete my deadlines too.
When a bug is found and we are still trying to understand what caused it, he always immediately announces that it's my fault and I did something wrong. This may or may not be the case, but when he claims that it is completely without any proof. I asked why he said that in some occasions and his answers were along the line "you worked on that last, didn't you??". Maybe true, maybe false, but still...
he arrived at the company after me (I hired him) and when there is some problem with our software he always tries to claim immediately as a possible reason that it's because of the technologies (programming languages, etc) I chose for the project. This is often obviously untrue, choosing a different set of technologies may have given us different disadvantages.
When we split up the job and set the deadlines he always claims that I choose the super-easy tasks and he got the difficult ones. In my opinion, it is almost the opposite and to prove the point I casually offered him several times the chance to switch the task but he has always refused.
I had to leave work earlier 2 days in a row because of personal reason. The second day while I was packing my stuff he almost shout to the whole office that I was slacking off again. Just for the sake of information, I do a lot of overtime.
In some occasions he claimed some fake statistics. For instances we were with some coworkers and he said "hey I took a look the other day and despite been arrived here just a few months ago, I added and removed the same amount of line you added and removed in 2 years". We had no access to the web so I just answered that it was not a really important measure but that anyway it was quite unlikely in my opinion. I checked that in the afternoon and it was totally false.
I'm not sure if the examples give you enough depth of knowledge here, but in generally when talking about anything, he generally has this behavior and claims that if I did something it was just super-easy, just luck, unimportant or it's going to break soon anyway.
Now sometimes does these things when I'm present and I generally try to answer in a firm and polite tone that he is wrong. In other occasions I heard him doing this when I was not present and unable to answer in any way.
I am fairly well respected at work, but after a few occasions I'm starting to think that some people believe him. I fear that this thing may become an issue in the future.
What is the proper reaction here? I tried to answer these things point by point when they happen, but it looks like half of his job is bad-mouthing me and trying to be always alert about what he is saying is starting to become difficult and tiring for me. Nothing he is saying by itself is so bad to warrant any strong action like talking with HR I think.
Please, advice!
EDIT: I add three details:
I'm not a direct manager to this person
He doesn't have this behavior with other coworkers
He gets along very well with our boss.