I agree on pair programming, as a tech lead, pair programming is my single best tool to get some understanding of my team member capabilities.
"Talks a lot about progress"... this is a mixed bag. In most cases you are right. But in some cases.. I have worked with people who obsess about quality of what they produce (and I am the same) who will spend a lot of time polishing things after they are nominally done. It is not that they don't deliver, they need some help defining what done is.
"Says shit like I don't write tests". I don't write tests. There are good reasons that are out of scope of this discussion. When somebody says shit like "I don't write tests" I want to hear a follow up explanation on why is it. Because if you do not write tests you have to be doing other things.
"You repeat same comments in loops because thy aren't taking feedback". Guess what, a lot of good programmers are bad in some other respects. Just because they aren't taking feedback doesn't mean they are bad. I stress to people it is not enough to be good at programming, development is about building things and programming is just one skill. Development is a team sport that requires multiple people to work together to build something.