This particular AntiPattern occurs when:
- Someone invests a lot of time in a system which we'll call A (an OS, programming language, library, tool, etc) and becomes an expert in A.
- S/he is introduced to a different system of the same type, B. B may be billed as "better" than A; whether it is or not (assuming "better" may be determined) is of no consequence.
- After some initial training, etc. in B, person finds that s/he is not as productive in B as s/he was in A.
- Person concludes that A is therefore better (more elegant, simpler, whatever) than B.
This confusion occurs at the subconscious level; it (usually) is not malicious or intentional. It can be somewhat rational; the amount of time invested in
A to acquire expertise is (partially) wasted if someone needs to invest additional time to acquire similar skill in
B.
This is a common cause of NotInventedHere, particular if A is an in-house creation and B is not. Also a common cause of GoldenHammer.
Am I right in thinking that a more verbose page title might be "confusing (expertise with a tool) with (relative superiority of that tool)"?
There are complex interactions between
- tool superiority and the shape of the LearningCurve (how steep at the start? how steep at the end? how high does it reach?)
- LearningCurve and ease of use (OnMySSide)
- ease of use and expertise
- potential user expertise and tool superiority
which I think could be usefully discussed. At least, if we can avoid the ShellVsIde and WizardsVsRollYourOwn? wars.
CategoryAntiPattern