As programmers, we work in a field where it is hard to claim to be an expert. Technology constantly changes, and readjustment is a necessity. I read an interesting experiment on nautilus just the other day, here is how it goes.
For example, read the following sentence:
FINISHED FILES ARE THE RESULT
OF YEARS OF SCIENTIFIC STUDY
COMBINED WITH THE
EXPERIENCE OF YEARS.
Now please go back and count how many f’s appeared in that sentence. This is important. I’ll wait for you.
How many did you find? More than you can count on one hand? If not, then we have just confirmed that you are a terrific reader but a terrible counter. Try it again. Look harder. I’ll be patient.
Found all six yet? Don’t forget that “of” has an f in it.
See them all now? Most people who read this sentence fail to spot all six of the f’s on their first pass. Instead, most see only three. Why so few? This example has nothing to do with your beliefs and everything to do with your knowledge. Your expertise with English blinds you from seeing some of the letters. You know how to read so well that you can hear the sounds of the letters as you read over them. From your expert perspective, every time you see the word “of” you hear a v rather than an f and, therefore, miss it. This is why first graders are more likely to find all six in this task than fifth graders, and why young children are likely to do better on this than you did as well. Your expert ears are clouding your vision.
Being an expert can actually hinder you from seeing things as they are, because a lot of things operate in muscle memory instead of being carefully processed. The advantage is that you don't worry about the small details, which is an inconvenience also because you might overlook small details that are slightly different than what you expect.
When approaching a problem as an expert, don't assume everyone one is stupid because they can't solve the problem. Maybe you are overlooking some smaller details.