This is based on my empirical studies on processes of learning, and as such I do not claim them to be truths which would apply to each differing individual. What I have learned from teaching myself programs like After Effects, 3DS Max and it’s proprietary plugins like FumeFX and Krakatoa for fluid-simulations, there seems to be a two categories roughly at how the learning process evolves over time as the user achieves more experience.

First stage: guided learning

In the beginning with a new program or plug-in, when the interface is all new and no knowledge exist in the user’s mind in about the program’s usage, it is very restricted. Most programs have complicated user interfaces, and getting the learning started may take a long time and take a lot of energy. There is a good way to speed up the starting of learning, since for most programs there is very good free tutorials on the internet ranging from beginner to advanced. For starters, any usage is very restricted, mostly performing of actions learned from tutorials, which usually are simply procedures following a chain of commands to achieve a desired result with none to less variation in the outcome. At this stage the user does not have enough knowledge to divert actions too much from the learned path, or confusion on the other parameters and components may obliterate the final result. One very good way of progressing in the usage is to document procedures made, and make different saves of same project file, in the case if desired outcome turns bad for some reason. With different project versions saved, the last good stage can be easily restored, and also used for future reference. One should experience and fail. Experimenting without getting anything favourable done or failing is important for getting the grasp of the inner logic of the software. This experimenting is important in building the knowledge of the program to the stage where the usage becomes intuitive.

Second stage: intuitive learning

When enough experience has been gained, the user’s mind compiles the experiences into an schematic of the software, and then the inner logic and the relations between all the different parameters and components are realized. This is where the real learning starts, when user experiences with different parameters while achieving meaningful results, building new methods of doing things and using the program to higher potential.