12th September 2023

The Skill Tree Learning Model

The Skill Tree Learning Model

Computational design is a field that greatly benefits from diversity. The ability to draw from a wide range of sources is a crucial skill in this field. It demands a lot creativity and that means connecting seemingly unrelated concepts, can help you unlock new solutions. Given that computational design problems are quite unique and require a lot of exploring and experimenting, rare connections can unlock innovative solutions.

However, there is a delicate balance between diversifying your learning and spreading yourself too thinly. Sometimes, a certain depth is necessary to lay the groundwork for diversification. Even if the priority is to embrace diversity, having a solid understanding of specific topics acts as a prerequisite to expanding your range even further.

For example, you don’t need to know how to code to use the Dynamo plugin in Revit and you can go pretty far with it but to fully unlock all the capabilities of Dynamo, you need to dive deeper (i.e. you need to learn to code).

This is the main concept behind the diversified learning model: to prioritize diversification while also recognizing the need to delve deeper when diversification reaches its limit. It reminds me of skill trees in games, where you have the freedom to unlock multiple skills, but to progress to the next level, there is often a core skill that must be mastered first.


Image Credit : IGN (Jedi Fallen Order Game Skill Tree)

To make this even more apparent, I have made a “skill-tree” for learning Grasshopper, which is one of computational design’s most popular tool.


Note: The skill tree that I made is just a glimpse of what you can do with Grasshopper. There are many more functionality that you can learn and add-on, like the world of BIM or meshing.

The idea is to encourage diversification and learn as many different things as possible. When you reach a point where you feel limited in your ability to diversify further, it may be time to delve deeper into a specific area that can provide you with more options (learning to code being a prominent example).

But to do this requires a conscious approach to wanting to learn new and different things. Going back to the video game example, if you are currently a level 3 Grasshopper user (whatever level 3 means for you) and you can effectively accomplish your work, there is no immediate need level up. But, if you want to expand your knowledge and improve your skills, it is worth ascending to a higher tier or expanding your “Level 3” knowledge.

That means this approach relies on self-motivation to go beyond what is necessary for your current work. Not to mention, the more proficient you are, the less likely you are to venture outside your comfort zone. This is actually known as the Dunning-Kruger effect. However, it is crucial to recognize that true growth and advancement comes from continually expanding your knowledge and skills.

Implementing the model

There are ways we can promote diversity in our learning without solely relying on work-related projects. These are some approaches I actively employ to diversify my learning in Computational Design, which I actually apply to other areas of life as well.

Make your own projects

One of the most impactful factors has been investing personal time into solving problems that pique my interest. This often involves designing and working on my own computational design projects, typically involving modeling or functional aspects in Grasshopper. However, it does require effort to identify problems that are genuinely intriguing and then transform them into personal projects. The good news is that the more you do it, the more projects you will have.

There is no hard and fast rule about how to make projects but I hope to write something about creating your own computational design projects soon.

Learn from others

Given the vastness of Computational Design, there is a wealth of solutions and interesting work done by others that we can learn from. When it comes to expanding our knowledge, there is arguably no better way than to learn from the work of others. It gives us new perspectives, insights and maybe even small hacks on how to use a program more effectively.

Here are a few resources that I think are worth exploring:

I have no affiliation with these links; they are merely suggestions based on my personal experience.

Dabble in a different field

In the spirit of diversity, there is a lot of value in immersing yourself in a completely different field (Software Development being the obvious example here). This has a dual benefit: it provides a break from computational design and exposes you to a new perspective of thinking. In fact, the further away you venture from computational design, the better might get at computational design.

One of the things that surprised me was how useful learning about UX/UI design was, because it taught me to communicate better. Specifically, it taught me about the importance of colors, place, and effective visual communication. This knowledge has been extremely helpful in explaining my work to clients and others outside the computational design space.

So, I would encourage you to try learning something completely new or if you are not feeling that adventurous, try learning something different but closer to the field of Computational Design, like learning how to script code or even software development.

Final Thoughts

The diversified learning model presents a powerful approach to learning in the field of computational design and more. The idea is to keep growing and continuously expand our knowledge through both diversity and depth. By prioritizing diversification while recognizing the need for depth in specific areas, we can broaden our perspectives, deepen our understanding, and get better at solving complex problems.

Implementing this model does require effort, time and a willingness to step outside our comfort zones. Creating your own projects, learning from others, and exploring new fields are all things that demand self-motivation and dedication but the rewards gained are invaluable.

Thanks for reading