You know a technology inside and out. Anything you need or want to accomplish with the technology presents no issue. The only thing missing is your ability to describe the technology you use in industry standard wording. What do you do?
The textbooks and instruction you receive in technology was very effective in equipping you with the knowledge necessary to perform. In the beginning, you could easily recite every theory, best practice, and process involved in the technology platforms you use. Nothing about the technology escaped your grasp in terms of describing what it is and how it operates.
Fluent Use of Technology
Eventually, you apply the technology on a regular basis and can build solutions at a level resembling instinct. Creating a solution of type XYZ using process and tools of type ABC comes easy as breathing. You don’t think twice. As Brian Bi says on Quora, you have reached unconscious competence. Congratulations, you now apply technology with expertise.
Proficiency Erodes Recall
The time comes when you have to explain the technologies you use. Oddly enough, you grew to take so much for granted, converged enough distinct concepts you once knew in a literate way that the definitions fade as muscle memory grows. Basically, you no longer describe technology the way it is stated in books but in the terms of your conventional experience.
It seems that the more you exercise technology and forget what worked versus what did not, your recall shifts from rote recollection of facts to a descriptive experience of their application. Does it matter? You apparently know how to put the technology into practice. Especially if you post your work on GitHub or blogs or distribute apps. The use of the right words do matter for clarity in certain conversations. There is a solution.
Maintaining Verbal Fluency
If you are like me, you may feel that time is limited enough as it is to revisit old material. However, that is the solution to maintaining verbal fluency at the right level. Periodically, you have to go back to basics because even advanced literature can pull you away from the basic terms. Stated another way, you have to read the same literature time and again.
An expert in Java Technology practiced in JBoss revisits the most basic text on Java Technology. Someone who is highly adept at building end-to-end solutions revisiting the basic texts on computer architecture. Perhaps someone highly knowledgeable of advanced component architecture going back to the fundamentals of object-oriented programming and design patterns. It is not that these individuals misunderstand these things, they simply may have outgrown the ability to describe them as those terms appear in a book. This happens due to lessened use of the terminology in daily practice.
Putting it into Practice
I thought about this recently when I decided a week ago to read through Andrew Troelsen’s Pro C# 5.0 and the .NET 4.5 Framework. I have read an estimated 15 or more books on .NET … 14+ years ago stopping around 2009. Once upon a time, I expressed an encyclopedic knowledge of the topic of .NET technology. It began with books available in the year 2000 whose exact titles are unclear. While I can do .NET instinctively today, I noticed the words one normally would use to describe certain aspects of the technology can prove elusive. The source is lack of use in conversation. Reading over the Andrew Troelsen’s work is quickly closing the verbal gaps. One problem is avoiding the urge to skip past things you know you know how to do but should read again anyway since you know you are rusty in reciting those things.
Who Else Does This?
Apparently Alexander Stepanov does this as revealed in an interview on Slashdot. In that interview, he mentioned that he does read the same book again. I do not know if he does that for the reasons I am stating. Perhaps I need to read the interview again, but he does read the same books. Maybe others do this and it comes down to prioritizing what knowledge you are going to emphasize.