A skill-tree of programming skills, intended to aid developers at all skill levels in unlocking their full potential.
To learn programming is an inherently non-linear journey. Some start with a formal education, learning the theory and the mathematics of computer science before being released into the wild. Others start in bootcamps learning all the practical skills without really learning the theory behind any of it. Even more start at home on their own with only an idea for a project and the motivation to see it through, learning in patchy scraps from online.
In all three cases (and any other personal journeys besides), I find the common problem to be that there's nobody telling you what you don't know yet, and therefore it is hard to fill in certain gaps in your knowledge, as you don't even know there is a gap.
If all goes well, this skill tree should be able to act as that somebody to tell you what you're missing. Having learned a specific skill, being able to find your way to understanding the theory behind it, or the next practical application of that skill, or the next advancement in the same line of thought should make it that much easier to ensure that there are no gaps in your understanding, as well as potentially leading you to a next subject of interest, which may have easily been overlooked otherwise.