When we are faced with any weakness of ours, we usually think about it so much that it is totally blown out of proportion and it seems bigger than it actually is. This leads to negative thinking, which in turn doesn't let us work on improving ourselves. Some will then just remain the way they are, not being able to bring about progress or change.
What we need to do in order to win over our weakness is to change our focus. Instead of thinking about the weakness, we only need to think, "I am not where I want to be yet, but I am working towards it and I am slowly improving." Change will come with positive affirmations rather than complaints.