There are three key factors to being or becoming a great programmer: awareness, understanding, and responsibility. I’ve talked a lot about the subject of understanding. Heck, I even named my most recent book Understanding Software. In particular, I’ve pointed out many times that the better you understand something, the better you will do it. However, there are two other factors that go along with understanding to make somebody into an excellent software developer. In brief, if you aren’...