Knowledge, Expertise, Sense of Accomplishment, ...
When are you the proudest: when you have built something? or when you have figured something out?
I definitely belong to the latter category. Having won the first prize in the Chinese Mathematics Olympiad years and years ago for having figured out a few elementary problems, I experienced the thrill of victory.
But merely figuring out something accomplishes nothing. And society rewards those who build. In a sense building is the natural extension of knowing. Consider these:
- I know how to learn to build a shelf.
- I know how to build a shelf.
- I can build a shelf.
- I built a shelf.
- I built many shelves.
- I build the best shelves fastest, at the minimum cost.
However, the quest for knowledge can progress in a different dimension:
- I just figured out how to program in C.
- I'll figure out C++ next.
- I'll figure out Java next.
- I'll figure out C# next.
- I'll figure out XAML next.
- ..., ad infinity
The danger, to the figure-outer, is that there will always be the next shiny new thing. And, ironically, behind that, there is a bunch of builders!
We figure-outers definitely need to find a balance between exploring new territories and cultivate the territories already explored.
Eric Raymond opened his book The Art of UNIX Programming with this:
There is a vast difference between knowledge and expertise. Knowledge lets you deduce the right thing to do; expertise makes the right thing a reflex, hardly requiring conscious thought at all.
It would be wise to attain expertise, not merely knowledge.