I would suggest that software is not a good domain to start this project in because it is by nature able to be replicated in various forms. (Ctrl-c, CTRL-V for one).
If you consider other areas; for example—refining a piece of wood. In fact in any other domain where working with a rare natural formation that has value due to its form; (Rare minerals or crystals; Ceramics where once fired you must start again if it doesn’t work, pure substances where once contaminated will need to be purified again, )
even simpler models of a perfection process are possible—peeling an egg perfectly, shelling a nut.
Its a matter of putting extra value on a perfect finish product. Where a premium diamond is worth a lot more than a 99% pure one.
Side note: the advantage of software is that it is easily scaleable to teach many people at once.
Software may not be the best domain, but it has a key advantage over the other suggestions you are making: it’s easy to produce novel challenges that are quite different from the previous challenges.
In a domain such as peeling an egg, it’s true that peeling an individual egg has to be done correctly first time, but one egg is much like another, so the skill transfers easily. On the other hand one complex programming challenge may be quite different from another, so the knowledge from having solved one doesn’t transfer so much. This should I think help make sure that the skill that does transfer is something closer to a general skill of knowing how to be careful enough to get it right first time.
There are lots of factors involved in peeling a perfect egg, most seem to matter before you hand it to a person to peel it.
The most applicable areas where “get it right the first time” seems to apply are areas with a high cost of failure (this priceless gem will never be the same again, If I care enough about the presentation of this dish I will have to boil another egg).
This also relates well to deliberate practice where a technique to make practicing a skill harder is to be less tolerant of errors. A novel challenge is good, but in most real-world novel situations with high-cost-failures the situation is not easy to replicate.
Another area that comes to mind with high cost of failure and “get it right” model would be hostage negotiations.
I would suggest that software is not a good domain to start this project in because it is by nature able to be replicated in various forms. (Ctrl-c, CTRL-V for one).
If you consider other areas; for example—refining a piece of wood. In fact in any other domain where working with a rare natural formation that has value due to its form; (Rare minerals or crystals; Ceramics where once fired you must start again if it doesn’t work, pure substances where once contaminated will need to be purified again, )
even simpler models of a perfection process are possible—peeling an egg perfectly, shelling a nut.
Its a matter of putting extra value on a perfect finish product. Where a premium diamond is worth a lot more than a 99% pure one.
Side note: the advantage of software is that it is easily scaleable to teach many people at once.
Software may not be the best domain, but it has a key advantage over the other suggestions you are making: it’s easy to produce novel challenges that are quite different from the previous challenges.
In a domain such as peeling an egg, it’s true that peeling an individual egg has to be done correctly first time, but one egg is much like another, so the skill transfers easily. On the other hand one complex programming challenge may be quite different from another, so the knowledge from having solved one doesn’t transfer so much. This should I think help make sure that the skill that does transfer is something closer to a general skill of knowing how to be careful enough to get it right first time.
There are lots of factors involved in peeling a perfect egg, most seem to matter before you hand it to a person to peel it.
The most applicable areas where “get it right the first time” seems to apply are areas with a high cost of failure (this priceless gem will never be the same again, If I care enough about the presentation of this dish I will have to boil another egg).
This also relates well to deliberate practice where a technique to make practicing a skill harder is to be less tolerant of errors. A novel challenge is good, but in most real-world novel situations with high-cost-failures the situation is not easy to replicate.
Another area that comes to mind with high cost of failure and “get it right” model would be hostage negotiations.