Learning Ember: Ember Skill Tree

Great questions @gossi! A skill tree sounds like a great way to think about the progression of knowledge and provide more structure to how you learn building ember applications.

I think order matters for acquiring skills and moving from beginner to advanced in topic. I think there would be a lot of reordering of the above topics, or even alternative orderings depending on what most interests the learner. I think you could architect and develop stellar ember applications without ever knowing the internals of broccoli.js.

Initializers are good mention to mention as well @Thameus. As a barely related, shameless plug: the community favors removing implicit injections, so that could be emphasized less in any teaching approach. (See the pre RFC)

In my experience, I find grouping concepts together quite helpful. It can also relate to experience in other technologies. For example, 2 major concepts stand out to me:

  1. Thinking about state. To me this is the “cache invalidation” of the 2 hard things folklore. I think it is spot on that the Octane version of the guides dedicate an entire section to the topic.

  2. building software with dependencies and managing those dependencies

The better I’ve understood these concepts the easier it has been to think of an ember application as a coherent system and tease apart internals and advanced functionality. In any application, you need to deal with state. You’ll also need to manage with dependencies.

As a naive way to navigate the order, you could ask “why do I need to learn x and what does it matter for my roles when building my application?”

I think this relates to defining “learning goals” through “evidence based learning”. While successfully applied in University settings, I think using the idea of learning objectives could really focus a skill tree.