Where can I find something like a “prerequisite tree” for Force.com features?
A “prerequisite tree” is a tool that allows you to track your own learning and development. It allows for branching out along one line of development and points out what topics you should also learn, or you can set these up yourself.
While learning Spanish I came across a great tool that accomplished what I describe above. This tool is called DuoLingo.com, and it looks (basically) like this:
I am not looking for the game-like or social aspect that DuoLingo provides (although this might appeal to Salesforce), but I have benefitted greatly from its teaching style. As you can see, DuoLingo provides a ‘tree’ style approach to learning, showing that if you want to learn X, you should learn A, B and C first. It even goes as far as to lock certain topics from being started until you have completed its prerequisites (however it does allow you to instantly complete a topic by passing a topic-specific quiz).
Imagine that instead of learning numbers in Spanish, I could find “Creating a Visual Force Page with a Custom Controller,” then work backwards to make sure I understand all of the concepts that I would need to know leading up to this point. Or maybe I can search for a feature described in plain English, eg. “Update a Field in a Many-to-Many Relationship”, the tree can guide me to the right path that I would need to eventually be able to write the triggers necessary to do this.
Based on log-in information, you can track what you know so far, only having to unlock each topic once (because no one wants to take the ‘Creating Your First Field in Force.com’ quiz every time you start a new advanced topic), and this can even lead to the discovery of features that you may not have been aware of by unlocking them upon completing what had been a seemingly unrelated exercise.
There has not been a topic in Force.com that I have not been able to teach myself, but wrapping my head around the meta-teaching, or the organization of the topics I need to know, has been the single biggest inhibitor for me. I want to learn about REST API, but I have no idea where to start (I’m not sure I even really know what it does). I know that there is a workbook for REST API, but there are too many concepts in the workbook that are unfamiliar to me, and I eventually gave up in trying to work backwards to learn the necessary concepts to even approach the REST workbook. Sometimes I’ll even find myself with a slow day at the office thinking, “what can I learn next?” but not knowing where to turn. A ‘skill tree’ would help with this as well.
I know that the Dev Evangelist team is interested in helping new Devs get off the ground, and I truly believe that this would be the single most helpful way of doing this outside of the initial creation of the dev workbooks. Whether it is interactive (ie. Click on the VisualForce topic and get taken to an online/interactive HTML lesson and quiz b/c you have not passed this prerequisite yet), or whether it is static and simply points you to a paper/lecture/workbook on the prerequisite topic is not important (although the first option would be way cooler), simply helping beginners to wrap their heads around everything that is out there and approach it in an ordered fashion would be a massive step towards building an even bigger army of independent developers that really understand and love Force.com.