From ProcessImprovementTools:
"So as not to twist the software engineering lexicon into anything uglier than it already is, can we please agree that a tool is something besides yourself, used between you and the problem to perform a task better than you could do it by hand? Might we please agree that a skill is an acquired aptitude for using a tool, or for direct manipulation in the absence of tools. In that simple sense, skills are never tools."
An illustration applicable to the improvement of Skills in the Improvement of Process was encountered in a Page called ShlemielThePainter.
Both of the participants in the story did not work smart. It took three days before the Boss could see that something was wrong, it should not have taken that long for the painter.
But you say: "The software process is not like painting process!" True, but to apply the sense stated above, skill should also include the ability to use the tools in hand in a new way on a new type of process, not encountered before.
This is truly what is different about the software process, the work to be done is continually changing and challenges the programmer to think in "new" ways about how his skill is applied using the tools he has, as well as the necessity to create "new" tools and "new" methods which apply to the "new" challenge. This is the inventive side of programming, where some programmers never go. It is a necessary side of programming.
Software is not just reused, and reapplied, it is also "invented", and "discovered".