Good programmers are competent with their tools.
They know the basic features well, and they have some knowledge of lesser-used options. With this knowledge, they can develop competent code in satisfactory quantity. Great programmers, however, make a point of knowing their tools intimately. They know many features, including the obscure ones, they know how to wield the tools to handle unusual situations, and just as important, they can bend the tools to do what they need. As a result, they generate better code more quickly.