Replies: 8 comments 14 replies
-
I've converted this to a discussion because this is the type of change that'd need a bit more of a deep dive before we can commit to introducing it in the curriculum. Some things I'm interested in:
|
Beta Was this translation helpful? Give feedback.
-
Thank you for hearing me out of the subject!
Link to the Survey
|
Beta Was this translation helpful? Give feedback.
-
I came across this discussion while browsing through the curriculum's issues and would like to comment on it too. Well, first of all, I am still studying the JS path (at 92%) so my opinion may not be well-formed yet. With that in mind, I remember reading that survey too and some things felt pretty interesting. Speaking of TypeScript, I feel like there was a massive wave of hype around it 1 or 2 years ago, which even a beginner like myself could feel. Most people mentioned that it is a superior version of JavaScript — JavaScript with types and then some. Nevertheless, my excitement for TypeScript was not as strong. You know, with most newer tools to appreciate them, it takes a deeper understanding of how much of the new they actually bring to the table. But having React ahead of me, I think I will develop a better opinion. I genuinely think that adding a proper lesson on TypeScript could be very beneficial, especially with an assignment to go back and refactor some of the students' previous projects. @Dillonpw Do you personally get to work with TypeScript? If you have more experience with it, may I also ask you why it is mentioned in the React course and not in the JavaScript one? |
Beta Was this translation helpful? Give feedback.
-
I think a typescript course would be good. But a single lesson? I don't think that would be enough. |
Beta Was this translation helpful? Give feedback.
-
I'm of the mind that a TypeScript course that comes after the vanilla JS course is definitely necessary. Similarly to the first lesson in the React course, you could warn users that they should complete the JS course first before moving on to the TS course. Preferably the TS course would be before the React and Node course, so that students could integrate TS into their React and Node projects. This would probably require some refactoring of the React and Node lessons in general, but I think the benefits are well worth it. TS is quickly becoming the industry standard if it hasn't already. A number of job listings are requiring it, and it is becoming less of an optional thing rather than a "nice to know". People who aren't looking to learn to get a job can just skip it anyways if they prefer vanilla JS. However I think that if you're looking to start a career, TS is becoming necessary. |
Beta Was this translation helpful? Give feedback.
-
Alternative suggestion:
The only thing the lesson will touch on about typescript will be how to set types for react components. TypeScript has many features and none of them have to be used, for now the learner can just use basic TypeScript. That will be all that could be taught in TOP about TypeScript. Just having the learner have it installed and use it for type checking the react components prop types. |
Beta Was this translation helpful? Give feedback.
-
I am currently somewhat strongly of the opinion that TypeScript is not particularly vital to add into the curriculum at this point. Certainly not in its current form, for the reasons @JoshDevHub mentioned about handling the two different pathways. If TS was to be added to the curriculum, I would think it better between React and Node, and only within the Node pathway. On top of that, it can't just be a "touch on a few things". It will either go through features and concepts in a lot more detail, or not at all - TS is only as powerful as you make it. Do note that a big thing to consider as well is that the inclusion of new content, especially in the form of a new section/course, is a huge undertaking that involves a lot of time and coordination from the whole team and any external contributors. Thus even if something does end up on the team's radar, it may well not be something that gets touched for some time due to ongoing work on other areas that need to be completed first. Even then, I do not feel it is something the curriculum needs to teach for the following reasons:
TS is a superset of JS. The stronger you are with JS, the stronger you'll be with TS. TS is powerful as heck, but only if you make it so. From what people who have interviewed (whether they've gotten job offers or not), and those in the field have said from whom I've spoken to, many agree that someone qualified to be offered an entry level position absolutely can learn TS or any other part of the job's tech stack on the job. Otherwise, many people would not have been able to get their first jobs working in languages and/or frameworks completely different from the ones they learnt in. My view is strictly on the side of "is it vital that the curriculum teaches this at this point in time?", not about how I feel TS is as a whole (I love TS and have had great success learning it independently and incrementally). I do not believe that as of now, the curriculum needs to include TS. There are many things that will be useful in a professional environment that TOP intentionally does not go into because it does not need to - they are absolutely things that by the time they become relevant, a person ought to be more than capable of looking into those things themselves. Stuff like additional frameworks, completely different languages, graphQL, cross-platform development etc. I would definitely like to hear further opinions from those on the team who have more experience in the professional side, particularly those who themselves are involved in the recruitment process and so have a better understanding of the market, employers' perspectives and thus what is and isn't so vital. |
Beta Was this translation helpful? Give feedback.
-
I would like to just chime in here and say thank you to everyone who has voiced an opinion on this topic. I'm glad I was able to open the discussion and hear what both users/students and active contributors/maintainers have to say. It seems we all agree that TypeScript can be an important tool in a professional setting, but we are still trying to come to a conclusion on whether or not it is vital to the curriculum. It appears we all agree that a TypeScript lesson is not enough, and that a course could be too much, but we are unsure how to progress. If the goal of the curriculum is to provide only the most essential tools to break into web development, then the curriculum already covers what is needed for someone to go from no experience to a full-stack developer and choose how to advance from that point, though as we've surely noticed there is constant change in this field and new technologies are always being developed. If the decision is made to move forward with a TS course at some point in the future, I imagine this discussion would be a good place to look for individuals interested in contributing to the curriculum with TS lessons. Once again, thank you all for being so vocal and thorough in your opinions and reasoning |
Beta Was this translation helpful? Give feedback.
-
Checks
Describe your suggestion
Unless there's something under construction already, it could be worth while to build a stand alone lesson for TypeScript instead of just the mention in the prop types lesson in the React course. We could offer some original content and examples for it along with the links already in the existing lesson. New devs are likely going to use or at least read TypeScript code in the real world and the lesson where its mentioned now doesn't do this intentionally, but somewhat downplays just how broadly adopted typescript is.
Path
Node / JS
Lesson Url
https://www.theodinproject.com/lessons/node-path-react-new-type-checking-with-proptypes
(Optional) Discord Name
dillonpw
(Optional) Additional Comments
No response
Beta Was this translation helpful? Give feedback.
All reactions