It's okay to look down on others who aren't as smart as you. It's okay to get angry at someone for not meeting expectations. But one will never grow if you don't acknowledge their good points and understand the reason why they made these decisions at their perspective.
Trying to be perfect is not possible.
People who think they are so great, are people who are farthest from it.
Step back a little, and accept everything for what it is.