A novice developer:
Starts solving a problem before fully understanding what is wanted and/or what a good route for
solution will be.
Focuses only on a known problem set that he or she has seen before and tries to match the problem with one in the set.
Chooses one procedure without exploring alternatives,
Emphasizes speed of solution, unaware of blunders.
Does not follow an organized plan of attack: jumps about and mixes problem-solving strategies.
Is unaware of missing data, concepts and laws .
Exhibits bad judgment, makes unsound assumptions
Gives up solving the problem because he or she does not have skills to branch away from a dead-end strategy.
Unable to make approximations or makes bad ones,
Cannot conceive of disagreeing
Slavishly follows instructions; proaceds “by the book.”
Does not know what to make of qualitative data.
Expert developer :
Reviews the entire plan. mentally explores alternative strategies, and clearly understands what result is to be obtained.
Concentrates on similarities to and differences from known problems; uses generic principles rather than problem matching.
Examines several procedures serially or in parallel.
Emphasizes care and accuracy in the solution.
Goes through the problem-solving process step by step. checking, reevaluating. and recycling from dead ends to another valid path.
Knows what principles might be involved and where to get missing data.
Carefully evaluates the necessary assumplions.
Aware that a dead end may exist for a strategy and has planned alternative strategies if a dead end is reached.
Makes appropriate approximations
Disagrees with other experts.
Breaks rules and makes exceptions.
Able to deal with qualitative data.
Good management of time‘