Keep Your Head Down

This is not necessarily a design pattern, but more along the lines of a SuccessAtWork? pattern. I've heard it expressed a couple of ways...to be humble, to be courteous, to realize that no man is indispensable, but basically what it entails is to keep your head down. In short, to avoid righteousness, and to avoid criticizing others. There is no glory in being superior to other people, there is only glory in being better than your prior self.

One surprisingly good way to remain humble is to challenge yourself with projects that exceed your current abilities. You may not always be successful, but after you will evolve an attitude where you are extremely careful in what you develop, since your new skills are somewhat shaky. I've always found that software developed by diligent and humble newcomers is easier to maintain in the long run than software developed by cocky know-it-alls. The newcomers, being unsure of themselves, use a more transparent coding style, and document so that they themselves might return later and comprehend their creations.


I not only disagree but I couldn't disagree more! -- tl

Why? -- not fp

Do you think a successful programmer must be arrogant to avoid getting entangled in trivial stuff? -- FridemarPache

I think a productive person in any area needs some mechanism to prevent her time and energy being scattered about on low-priority activities. Arrogance is a mechanism that I have seen work; I think there are methods which are more flexible and preserve future options better. I have found that management support (obviously not always available or applicable) works well, and deflects blame from the person being protected.

However, I think I disagree with the initial thrust of this topic. While as a general thing I think humility is valuable, I am much less convinced about reticence and inexperience. Challenging yourself is useful too, but I think it is hubris to think that you will always manage to rise to the challenge, much less produce a superior product. That is what I thought I was reading above; perhaps I misunderstood the intent.-- MatthewWilbert

I can imagine no correlation between the humility of a novice, the cockiness of know-it-alls and the quality of code. I'll bet any study done on the matter finds that the worst code is written by the least experienced people. Generally speaking I have found that the novice spends more time writing convoluted code to produce inferior solutions than somebody with more experience. I will refer readers to my article "Programming Bloops and Blunders" at http://www.leylan.com/app.asp?pg=bloops -- tl


So did you recognize any of the behaviors? I see them everywhere I work and in every language. -- tl

I recognized the behaviors, but had a slightly different (although not worlds apart) take on them than you did. Don't have the awakeness to go into them tonight, but I'll say more if it turns out I have anything useful to say.


Keeping your head down is a recipe for having everything dropped on your shoulders.


Interesting. I read the title as more of a warning, as might be shouted by a sergeant to his platoon as they dash out into the trenches.

Concur. This is the traditional use of the idiom common in the USA and other parts. Perhaps Yerp just has a different history with this phrase.


See: BadStuffWeLearnInSchool

Contrast: NoGutsNoGlory

CategoryIdiom


EditText of this page (last edited June 6, 2004) or FindPage with title or text search