Great programmers learn how to program their tools, not just use them.