Weak Programmers Rely On Bad Documentation

One may claim that WeakProgrammersRelyOnBadDocumentation. This is often true. One may claim that this is because they do not have or cannot find better documentation. This is questionable.

Original claim:

It's not hard to get confused over dynamic typing because of the horrid writing about it out there. -t

{Here is what I have seen. WeakProgrammersRelyOnBadDocumentation for two reasons. First, they aren't good enough to be able to tell good documentation from bad. (WeakProgrammersWriteBadDocumentation? too, but that's another story). So they use something like the first document they can find. Second, when carrying out a really bad practice and caught in it, they will sometimes seek out some supporting documentation for their behavior. Nevermind the large amount of contrary documentation, nor the fact that "would I expect somebody to use my library this way" kind of reasoning would immediately show the error of this behavior. We had one programmer who believed that he could change the sort key in objects inserted into a SortedList object (he implemented IComparable in such a way that compare results could change based on other calls) and kept arguing the code should work. Seemed to think it was listening for the PropertyChanged event on every object in the collection or something.}

{You think that's bad? How about this? I encountered a fairly good programmer having trouble understanding that library component X does not handle the split-mind problem when the documentation implied that it did despite the fact that a little bit of reasoning would reveal that it is not placed in an appropriate place that would permit it do so (wrong side of the network pipe). The split-mind resolutions are inflexible. See CrashOnlySoftware. A weak programmer would certainly have believed the document as written.}

Almost every programmer probably at one time or another has a really bad idea about something specific. Sometimes this is called a "brain fart". Humans are imperfect, even the most skilled and experienced. I don't think much should be made about one case of brain farting. Related: NarrowStaffSelectionFactors


[Phantom claim that WeakProgrammers? are weak because they rely on bad documentation]

{I seriously doubt it. The class of weak programmers is probably not homogeneous enough to make such a sweeping generalization about (other than those that are directly a result of being weak programmers).}

My experience of weak programmers -- and weak students who become weak programmers -- is that they avoid documentation, tending to code by experimentation at best, and haphazardly at worst. Good programmers read frequently and widely, and the best of them read critically to select the strongest references.

As I mentioned before, this is an over-simplification. People learn better from different kinds of presentation techniques. There are many ways to skin a mental cat. Some hate all documentation and use trial and error, some like and remember well "typical" documentation (such as the Unleashed series), but don't like academic-oriented documentation. A smaller group is fine with academic-oriented documentation. The latter group is roughly about 10% of the programmers I encounter in the field. That's honestly what it looks like in my shoes as best I can describe it. A dedicated "software shop" my be different, but I've only briefly contracted at such. The academic proportion seems to be very roughly 30% in those, probably because "business knack", domain experience, and people skills are favored less in proportion, which magnifies the hiring focus on technical and academic skills. (I tend to not prefer dedicated shops because I prefer being more of a generalist, including business analysis (feasibility) and UI design, which would be a dedicated specialty in a dedicated shop.) -t


JanuaryFourteen


EditText of this page (last edited January 10, 2014) or FindPage with title or text search