I may have been born a skeptic. I've been questioning things I was told for as long as I can remember. I'm sure many of my teachers were happy to see me advance out of their classroom because of that. In many situations that doesn't make you popular, however it can serve you well in an engineering career.
On occasion I've needed to be skeptical of things colleagues tell me.
Such misinformation was most prevalent when I was a field engineer (aka
FE) 40+ years ago. If you're not familiar with that title, it's
basically a mechanic for computers. In my first job in the computer industry, I worked on mainframes
and minicomputers. For part of that time I was a specialist which meant
I got called in on difficult problems after other engineers had tried and failed to fix. I started these visits
by asking questions of the FEs onsite only to sometimes have them tell me that of
course they had checked the things I was asking about. I learned which engineers I could trust to admit they hadn't checked something which seemed a logical troubleshooting step. The challenge
with engineers I didn't know well or with those I knew were too proud to admit they had missed something was to suggest that we check something together which they had assured me they had done
already without embarrassing them too much.
These days my skepticism allows me to discover the discrepancies inherent in technical documentation. I don't recall ever seeing a chip datasheet which didn't have a few errors (or instances of wishful thinking on the part of the documentation team). Accepting the idea that the documentation can be wrong allows one to move beyond seemingly impossible situations such as a device register which occasionally isn't as persistent as the manufacturer's docs suggest. Software documentation is frequently more error prone than hardware documentation. I don't think I've ever seen an API document without a few mistakes.
Comments in code is another area it's dangerous to trust blindly. Engineers will often add extensive comments in code when a function is first created. Subsequent revisions may not see those comments updated to reflect changes in logic.
That makes the world of engineering seem somewhat bleak. How do we combat it? For my part, I try to report errors I discover. That doesn't always work. I've reported errors in compilers my company has had to pay healthy amounts of money to license only to be told that the compiler is EOF (end of life) and that no errors would be addressed. I couldn't even convince the vendor to add my discovery to the list of known bugs. The thing which keeps me trying is occasionally someone at a vendor will be appreciative of having a bug reported.
No comments:
Post a Comment