function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion

My Biggest Challenge as a Beginning (and Self-Taught) Developer

I know this looks like a massive wall of text (mostly because it is), but there really is a point and an idea down there somewhere, I promise. I just wanted to takl about the single biggest factor that is inhibiting me from becoming a true programmer. (Note, my educational background is completely unrelated to programming, so I am self-taught and very limited in funds I can put towards this self-teaching).


I know this is somewhat random, but there has not been a topic in that I have not been able to teach myself once I got down to it, but wrapping my head around the meta-teaching, or the organization of the topics I need to know to accomplish a goal, has been the single biggest inhibitor for me.


My idea, or what I am looking for, is a sort of “prerequisite tree” for features. I am a self-taught developer, and in this capacity, I have learned things very much out of order from what I probably should have. However, I was often given tasks that needed to be accomplished, so I would set off on the task, figuring out along the way what I did not know, then backtrack and teach myself the missing topics. While backtracking, I would often find additional topics that I didn’t know well enough and would have to backtrack even further. With some of the advanced functionality that offers, this process can go on for a while. I am at a point where I am tired of learning based on tasks, and I would like to take a more pragmatic approach to my learning with respect to, however, starting from scratch would be a waste of time (because I am familiar with many, albeit randomly distributed, topics) and money.


I faced a similar challenge in another endeavor: learning Spanish. However, I came across a great (and free) tool that accomplished what I describe above. This tool is called, and it looks (basically) like this:


 DuoLingo Prerequisite Tree Example


While I am not looking for the game-like or social aspect that DuoLingo provides (although this might appeal to Salesforce), 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).


Learning in this style would fit perfectly. 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’ 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.


As I mentioned above, there has not been a topic in 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


Thanks for hearing me out, and feel free to contact me with any questions or thoughts that this may have stirred up.

David austinDavid austin
Sounds like nothing at Salesforce trailhead has improved in the 4 years since this was posted.  There are lots of modules, and trails, but the general approach is a shotgun ... get what you need.  Makes sense in a way, but for studying for the certifications where borad-based knowledge is required ... not so much.  I have yet to find a training module that simply provides a very VERY basic overview off all the major ways  Salesforce is used, and the various salesforce capabilities suited to each, shown in a tree or top-down graphical display.  Most people are visual thinkers ... and there are very few visuals (in fact none) that I've been able to find in the salesforce training / trailhead resources that describe those relationships.  At a minimum before anyone gets trained on anything they should have a map of the Salesforce offerings and know what piece (graphically) their training of interest fits within that map.  Nothing like that exists as far as I can tell.