Remove a path #28551
Replies: 1 comment
-
Your suggestion seems to be based on the idea that our Ruby on Rails path and the JavaScript path are mutually exclusive. They only differ by 3 courses, otherwise they are the same. They both contain Intermediate HTML/CSS, Advanced HTML/CSS, JavaScript, React, Databases, and Getting Hired. The JavaScript path has a Node course and the Ruby on Rails path has a Ruby course and a Rails course. So these 3 courses are the only areas where people on either course can not help each other. Removing one of the paths is an extreme solution to help learners choose between Node and Ruby on Rails. This is not an option because of a number of consequences. The spinner in the "Choose Your Path Forward" lesson only comes into play if a learner is still undecided after considering the entire lesson. One of the reasons we added the spinner is to reduce analysis paralysis. Since we will not be removing one of the paths, I will be closing this discussion. However, we are always open to additional changes to the "Choose Your Path Forward" lesson to help learners navigate this decision. |
Beta Was this translation helpful? Give feedback.
-
Proposal
Remove the JavaScript or the Ruby path completely. Doesn't matter which one, for reasons I will get into soon.
Justifications
I have a few reasons I want to talk about why I think this will be beneficial to The Odin Project (TOP):
Aligns with TOP's values
TOP is a curriculum for learning programming fundamentals. It's specifically famous for not focusing on teaching specific skills or technologies. Instead, it teaches the core ideas that learners can then use to learn anything else they want.
There is a reason why the course focuses on covering less rather than more. We are not covering stuff like tailwindcss, next.js, typescript or others despite many requests. Because after a learner completes the course, they will be in a position to learn anything they want themselves.
If TOP was started today, there would likely not be a second path. In fact, having two tracks both teaching different technologies goes against what TOP's main premise is. Technologies don't matter nearly as much as the fundamental skills and core concepts you learn. Once you have them, you can pick up anything.
Remove analysis paralysis
A lot of people who complete the Foundations path don't know which path they should pick. We make a point about it not mattering, even placing a spinner in there that will randomly choose if they don't know what they should choose.
Having this analysis paralysis thing defeats one of the main points of TOP. Learning web development can be chaotic, and people learning it can be stuck in tutorial hell. There are so many new JavaScript frameworks every month, so many different ways of approaching the same problems. Should I use vue, svelte or react? Remix, astro or next.js? Etc.
One of the biggest benefits of TOP in my opinion is that is makes these choices for you. You just have to trust the process and follow along. Having the learner have to make such a major decision in whether they are going to learn Node or Ruby defeats the point.
Reduces maintenance load
Maintaining a single path will require significantly less resources than maintaining two whole paths. This will allow more time to be spent on polishing the single path that remains.
As an example, the recent Node course updates have had no impact on the Ruby path. In the future, maybe the Ruby course will also receive some grand updates, but that would mean the Node path wouldn't receive those updates. Imagine if the effort for two large updates split across two paths was instead aimed towards a single path.
Removes the implication that TOP will receive an extra path
Lots of people may come to the above conclusion. I wouldn't be surprised if there are many people who don't start TOP because it doesn't cover X technology. If TOP has two paths, then that gives off the implication that TOP is just like any other course and there to teach you a technology.
If TOP had a single path however, then it would highlight that the course's point isn't about teaching you how to do a specific thing a specific way.
Easier for learners to give and get help
Currently, the community is split into two big groups. Those who are doing the Ruby path and those that are doing the JavaScript path. This means that those doing the Ruby path are unable to get or give any help to those doing the JavaScript path and vice versa.
If TOP had a single course, then the community would be more united. The average person will relate more to the average problem.
How this can work
Deleting an entire path wouldn't mean that those currently enrolled in that path have to change. Here's how this can realistically work:
Make the announcement that a path is being removed. Remove it from the curriculum page. But the path will still be able to be accessed however, just "hidden". Only accessible if you directly go to that URL. Any mentions of the other path will be removed from the curriculum.
The path will no longer be maintained from that point on. Any PR for it will be rejected unless absolutely is a blocker to progression for those that still are enrolled. Official support e.g. in discord channels will still be available for those that are enrolled. Over the years the amount of people doing the path will gradually decrease.
Beta Was this translation helpful? Give feedback.
All reactions