Incompetent People Really Have No Clue is an old article but is just as relevant today as it was 7 years ago.
My wife is a public high school science teacher and she will periodically ask the students to submit what they think that their grade is. Her findings match those of the article: poorer performing students tend to believe they are earning a grade significantly higher than is the case. This results in the odd implication that one cannot expect these students to contribute more effort to achieving a higher grade since they already believe that they’re done what is necessary to achieve that higher grade. Without constant vigilance, one-on-one instruction, and continual family support to effectively force the student to exert the necessary effort to achieve the higher grade, the student will never know where the various rungs of the ladder lie and therefore will never know what subject mastery means.
I too have witnessed the same phenomenon working with developers over the years. Developers that produce code with the most logical errors that requires the majority of effort to maintain tend to be those that believe highly in their abilities. I have taken a few of these developers by the hand and walked them through a few full life-cycles of development demonstrating what is necessary to produce quality code (and to see the implications of poor quality code). Most of my efforts were greeted with incredulous responses and outright denial of the effort involved but there has been an individual or two that has gained more understanding and used that experience to take their craft to a new level.