Not really, if you know what to do but don't know how to do it you are
just as useless as if you don't know what to do but do know how to do it.
I disagree. I probably didn't explain myself properly. I'm thinking of
programmers who know all the language tricks but nevertheless end up coding
impressively complicated "square wheels", i.e., solutions that seem to work
but are not really a good fit at all. We had quite a few such engineers at
Hughes. Many of them went on to managerial positions.
The problem is, a square wheel does work, and if the end user has never seen
a round wheel, he can often be convinced that a particular square wheel is
really a marvelous product.
About a year ago I proposed an Access application to replace a system of
Excel workbooks to my boss. At that time I knew little about Access,
although I do have a programming background and a Master's in Computer
Science. I knew what to do, but didn't yet know how to do it.
So I got an Access textbook, pulled code from examples in the text and -
admittedly with more than a little help from this group - eventually
completed a fully secured, split, multiuser app which included my own auto
FE updater applet and also an Install applet. No square wheel, I do solemnly
swear.
During the design phase I was constantly rebutting my boss' attempts to
meddle. She is something of an Excel guru and considered herself well
qualified to lead the Access design effort. She refers to herself as a
"numbers girl". Some of her design ideas all but gave me nosebleeds.
Left to her own devices, she would have created a square wheel, not because
she didn't know how to work with Access, but because she doesn't understand
what comprises good design. So I basically said yes to everything she
suggested/ordered and then did it my own way.
A loose analogy: an English teacher who knows everything there is to know
about conjugating verbs and such, and yet somehow his novel turns out to be
trash.