Hey guys. Do you recommend going through the Additional resources section of the lesson or just to skip that altogether?
They say it's not required, but I was wondering if its better to go through them anyways?
I skimmed them all to determine if I wanted to learn more about the topic. I think it is difficult to say you should or should not do them all. I think some of the additional resources actually made some of my projects easier to understand and had less to research on my own. Other additional resources were stuff I'd rather research if/when I need to know.
I always go through them.
I’ve started The Odin Project and completed the foundations portion. Afterwards I opted for the JavaScript path.
My question is will finishing the Odin Project be enough on its own to land me a Job?
Odin project is amazing, because the site Odin project will not teach you a bunch, but will give you a lot of resources to learn from and expand if you would like. Sometimes I open some video they posted to learn from and I find my self watching 3 more about the same topic, because I found it interesting or really important (these type of subjects - you should study for days).
Baisially, go by their path, learn from things they post, but dont limit yourself go learning just from one resource. Whish you good luck!
No. It teaches the basics and those basics need to be expanded on.
Im 85% through fundamentals, just starting the UI for Rock Paper Scissors. I started from almost nothing just 15 years of internet usage, installing, building and a few low level IT courses.
I have learned a lot but im not sure if im making the most out of it. Sometimes im very lost on assignments although im sure the syllabus has guided beforehand i likely didn’t thoroughly read and make sure i understand as it can be very dry. Perhaps this is a bad attitude?
So any tips to really get the absolute most out if it would be hugely welcome!
Hi! Pretty new to the subreddit, but been a lurker for a while, and I wanted to share my experience!
I just finished The Odin Project's Foundations course and during which, I had a lot of questions and learned a lot through the process. I'm hoping this post might help others going through the program or considering going through the program.
It took me a total of 73 hours over the course of 25 days to finish it. I only counted the time when I was actively in front of the computer researching or coding; bathroom breaks, lunch breaks, weekends etc. are not included.
Here's what I learned:
It's okay to struggle and not understand the material.
There were many times throughout the process I thought to myself "man I'm just stupid" or "my background is in ENGLISH teaching kids...I have no idea how to think like a computer/mathematically" or "the heck is a Fibonacci?!"
Take care of yourself physically and mentally. It's just as important as learning how to code.
console.log() is really your best friend in JS and (putting) borders (around elements) are your best friend in HTML/CSS (if you don't know what's wrong with your code, these two were invaluable to me to figure out if what I was changing was even the right thing!)
Comment things out! Sometimes I didn't know where the problem was so I would comment things out bit by bit and it helped tremendously!
The Odin Project(TOP) v. Free Code Camp(FCC) : Dabble in both!
There are things that TOP does better than FCC (giving more autonomy and making you really stretch your problem-solving skills, but as a beginner it can be really frustrating and discouraging because they outsource a lot of their material). Sometimes I'd be stuck on a problem or a concept and I couldn't figure out what it meant. TOP has a great Discord channel, but, in the early stages, I was too nervous to ask and just flopped around confused.
Equally, there are also things that FCC does better than TOP (giving clear direction and doing a great job scaffolding your learning, but it holds your hand a lot and, aside from the projects, you don't get to stretch your problem solving skills as much [at least for the first few projects, I've only gone halfway through the JS portion of FCC]). In some sections it would tell me to do something (looking at you grid and flex!) and I didn't quite understand what I was doing, yet I was passing the tests.
If you only have time to do one or the other, what I did was focus on TOP and, when I ran into an issue I didn't understand, I used FCC like a cookbook (what's the topic I need to understand, go there, and run a review where FCC might have explained it a little clearer). Ultimately, I haven't done the entirety of either, I haven't gotten a job, so I don't feel qualified to say which is better to get you job ready. Personally, I think both have different styles of teaching and neither is wrong!
Some Ways to Overcome the Struggle
Take a step back/take a break (one time I was stuck for a half hour on a problem, took a break, came back, and I found I was just missing a closing curly bracket!). When you're looking at the same thing again and again for hours on end, you might not see what's obvious.
Stop for the day (you may have hit your limit). There's an amazing video about how much time you should code a day that says the maximum amount of time should be roughly 4 hours a day. Of course you can do more or less, but the idea is that your brain can only handle so much. If you find yourself really stuck on a problem and your eyes start to glaze over and everything starts sounding like white noise, it might be time to call it for that day to give your brain time to absorb what you've learned and process it.
Go back and relearn. It's tempting to power through the course and tell yourself "job's done boss", but if you don't really understand the concepts, then what was the point? Although it seems counterproductive, reviewing concepts is one of the most important things to the learning process. A lot of people talk about the learning curve, grit, and growth mindset, but, equally as important, is the idea of the Forgetting Curve. In short:
Learners will rapidly lose their memory of learned knowledge in a matter of days or weeks unless the information is consciously reviewed. Some studies suggest that humans forget approx 50% of new information within an hour of learning it. That goes up to an average of 70% within 24 hours.
S**kip (yes skip!) that one portion and come back to it later (I usually try tackling it again after another lesson/segment is done). A few concepts didn't click with me right away, so I treated it the same way you treat a test (if you don't know the answer to one problem, don't waste time staring at it, skip it, answer the questions you know, and then come back). Every time I went back, I understood the concept better than the first time around! Why? As the lessons push through, you get to see concepts in action in a way that's different, or just explained differently, than the first time you saw it and it'll click. I spent hours trying to figure out what return actually meant. I didn't actually understand till a later lesson used it more casually and, for whatever reason, it clicked.
Find other resources on the same concept: StackOverflow, YouTube, Google, MDN, FreeCodeCamp, etc. Use all the free resources available to hear the same concept in different ways. If you don't understand, it might just be the way that it's taught.
Someone who is an expert in their field might know the material, but teaching and knowing are two different things. I know the common saying is "if you can teach it, you know it" and, while that's true, in my years as a teacher, I've found both: some of the smartest people were some of the worst teachers (how their minds worked was just so different that they didn't see why others didn't just "get it" like they did) and some of the best teachers I found were just winging their lessons!
How Do YOU Learn?
Everyone learns different (I'm sure you've heard this a million times), but it's more than just auditory, kinesthetic, and visual. Some sources will say there are 7 ways to learn, 9 ways to learn, 12 ways to learn. In reality, there are an infinite amount of variations in how someone learns.
Do you learn better with examples? When things are written down? Do you remember using mnemonic devices the way Michael Scott does? I had a friend who aced college because she said she had photographic memory when she highlighted her notes in different colors. Whatever works! Finding out how you learn best will help you overcome roadblocks and hurdles faster and get frustrated less.
Have a Strong Support System!
What got me through rough patches wasn't just motivation and grit; what got me through the rough patches was having a strong support system that got me through my low-lows and were there to celebrate my highs. My husband was there to walk me through my anxious moments and, when I didn't get it, helped to explain it to me or worked together with me (he has a little background in CS and can code in C++).
TOP has an amazing and vast Discord channel! If you don't have someone close to you or in your family that does it, I recommend jumping on that. There's this whole subreddit and a few other subreddits with amazing communities.
Study buddies work. Someone to keep you accountable and building good relations is always helpful!
Habit over Motivation
Motivation is the ignition to start the car, but habit is the fuel that will keep the car running. Taking weight loss as an example, when you first start out, you're pumped! You buy all the supplies you need, maybe a gym membership, you wake up early in the morning and pump out an hour a day. But as the days go on, life starts coming up, you start finding reasons (or valid reasons pop up) as to why you can't keep exercising. A friend calls you up and is having a birthday and you eat a whole cake because you've "been good" and it stops all the progress you made. Why does this happen?
Because motivation does not last. You want to build a good habit early on while the motivation is present and, when the motivation is gone, the habit is what will keep it going on. Tell yourself you'll practice/learn coding at a certain day or time of day and stick to it. Make it a part of your schedule. To build a good habit, you tell yourself that coding time is not flexible and, if you miss it, reschedule it like any other appointment. Like weight loss, build little habits over time. It takes time to build a habit. Speaking of weight loss...
Take Care of Yourself Physically and Mentally
You probably hear people say "exercise is the best for your mental state", and it's true! During this process, I had a lot of instances where I struggled a lot. Having quit my job, forced to move in with family, and just feeling like a failure, anytime I ran into a problem I couldn't solve or Google, it was hard not to start stressing about my future. Coupled with the fact that I ate terribly and was gaining weight (on top of COVID weight!), it didn't help me mentally.
Take the time to exercise even just a little a day. A 10 min stretch, a 15 min walk, anything! If you're not able to get out of the house for whatever reason, there are a lot of YouTube videos that will take no more than a few minutes of your day. Some can even be done at the desk!
Water! I didn't realize how dehydrated I was after sitting in front of the computer all day. Have a water bottle/glass of water next to you while you work. My headaches were pretty frequent when I first started because of the dehydration.
Blue Light was the worst part about long days of coding. You can turn on Night Light for most computers or get Blue Light glasses, but I highly recommend it. I had frequent migraines before turning on the Night Light and had to take full days off due to eyestrain several times.
I can't emphasize it enough but TAKE DAYS OFF. I know for some people it's not always possible, but it does wonders for your mental health and for learning! It gives your mind a break to think about what you learned, process it, and then come back fresh and new. I set aside the weekends so that I can make time for my family, friends, or just me time. As much as I know that I need to get a job ASAP, burning myself out won't do anyone any favors.
I often see a lot of posts saying they "gave up video games" or "had zero breaks because they can take a break once they get a job" and I'm not bashing that at all! If you have that mindset and you're able to do that, that's amazing! But I think it can set unrealistic expectations and places a lot of pressure on someone. If you can do it, great! If you can't and think you're going to quit because of the intense schedule, set boundaries for yourself so you don't. Just like with weight loss, everyone is different, everyone's goals and situations are different, find a break that works for you. Study time is study time, but play time is play time (
workstudy-life balance, don't feel guilty for having it).Just throwing it out there, but if you've had breakdowns or told yourself you couldn't do it, you should find a different job, you should try something else, you're too dumb, or anything derogatory like that, just know you're not alone. Been there, done that, and it'll probably still keep happening. But you're learning everyday and getting a little better everyday!
“If you can't fly then run, if you can't run then walk, if you can't walk then crawl, but whatever you do you have to keep moving forward.” ― Martin Luther King Jr.
I'm sure there's more I'm missing, but I wanted to share what I learned throughout the process. I'm by zero means an expert and I'm still learning myself. Would love to hear what anyone else learned/experienced going through TOP or FCC and would love to meet others going on the same journey!
Thank you for anyone who read this large blurb of text!
Hello folks,
I’ve been working through The Odin Project for the past couple months and have noticed that the Javascript sections are a bit lacking compared to the rest of the course. I just finished the factory function and IIFE section. While I understand them, it didn’t really click with me as much as I’d like. I’m thinking it’s time to look for some material to supplement the gaps with the JS content. After a bit of Googling I found the following three courses:
The Complete JavaScript Course 2022 by Jonas Schmedtmann
The Web Developer Bootcamp 2022 by Colt Steele (I know this isn’t just JS, but the JS section looks comprehensive)
Modern JavaScript From The Beginning by Brad Traversy
I’m curious if anyone has experience they could share on these or even other suggestions, both paid or free, video or written. My primary requirement is that it goes a bit more in depth than the typical variables, data types, loops, etc. topics. I wouldn’t say intermediate level, but past beginner topics.
Thank you in advance.
Have you tried the JavaScript section from FreeCodeCamp?
Also I'm not advocating it just bringing it to your attention but Colt Steele does have just a JavaScript course instead of having to do the whole web dev course that you have listed.
You seem to be further along than me in TOP but I’ll tell you what I’ve done anyway.
After failing miserably at TOP’s Rock, Paper, Scissors project, I decided to do Jonas Schmedtmann’s course you already mentioned. I really like it. I’ve completed 40% of it and am now working on TOP’s Calculator project and it is going much better. I plan on finishing it while doing the intermediate and advanced HTML/CSS sections of the TOP’s JavaScript path. I hope this helps.
I'm embracing a career change at 32. Luckily, there is a lot of downtime at my current job but not quite enough to pop open my laptop and continue my lessons with TOP.
Is there a series, user, youtube, video collection that sort of closely follows the same progression of TOP that I can watch at work that will supplement what I learn from TOP? I'm currently just setting up now and getting through WebDev 101.
To be clear, I don't want to replace anything in TOP, just looking for a video series to help me supplement my learning.
Thanks!
I am asking this question as a machine learning engineer with over four years of experience. I've been studying TOP for a few weeks now, and it's an excellent tool for thoroughly learning the fundamentals of web development principles, along with essential hard skills like HTML, CSS, JavaScript, React, and more. In my view, it's the best course available for anyone pursuing a full-stack web development path.
...BUT
Two major concerns that have been lingering in the back of my mind have finally surfaced, affecting my motivation:
-
First, the "too rapid" advancements in AI technology- both in academia and industry- make me wonder if, by the time I become proficient in full-stack web development, perhaps a year from now, AI will make me obsolete already. I don’t want to invest significant time in a field that may be dead in a few years. I see this as a strong possibility because, as someone directly involved in building these AI solutions, I know firsthand that they are designed to handle increasingly complex tasks.
-
Second, according to the 2024 Stack Overflow Developer Survey, there are already thousands of experienced full-stack developers in the market, and their median salary is not particularly high. I’m not looking to transition into another conventional white-collar position in web development; instead, I hope to use these skills to build a minimum viable product and pursue my solopreneur aspirations.
With these thoughts in mind, I have two questions:
-
Given the current landscape -where tons of AI-generated code are already lingering on the internet- do you think investing in web development skills will be worthwhile in the coming years?
(edit: Folks, I am already a developer. My question is not "Should I start coding despite AI?". I am looking for answers to something like this: "Is studying X, Y and Z to code a full-fledged website by using frameworks A, B and C logical, or will AI take care of A, B, C or even X, Y, Z in a couple of years?") -
Would it be wiser to focus on technologies like Webflow for building websites
(instead of X, Y and Z)? Webflow seems intent on adapting to the "AI era" and could offer tools that simplify the development process. The learning curve is also less steep compared to TOP.
Thank you for your insights!
To get started, some background: I am a CS student and decided to start The Odin Project since my major spends very little time on web development, and I wanted to learn HTML, CSS, and JavaScript. I have a fair amount of experience in other programming languages like Java, C#, C, C++, and a bit of Python for ML. Prior to The Odin Project, I also completed the HTML/CSS course (called “Responsive Web Design”) from FreeCodeCamp, although that was a year or two ago.
Since I feel like I have a reasonable amount of experience with teaching methods in my major and some experience with online courses, I would like to voice my opinion on the Foundations course of The Odin Project. Note that since I’m by no means a beginner, I cannot say how the course would feel to complete as a beginner, but I will try my best to keep this in mind.
Finally, do not take my criticism as fact. People learn in different ways, and it is good to have options available. What may work for you might not work for others. I hope my critique will help some people looking to start The Odin Project. Anyway, let’s begin.
The Foundations course is, at the time of writing, 43 lessons long. Spending 2–6 hours a day on them, I completed the course in roughly two weeks. The course is split into a few sections. The first few sections explain the course and goals, approaches to learning, the basics of computers and the internet, and finally setting up the software you need. Although I think there is quite a bit of value in these lessons, I don’t think they warrant taking up a third of the entire Foundations course. Also, I think they try to do too much. On one hand, they link articles explaining the difference between a laptop and a desktop, but on the other hand, they expect you to use a virtual machine to install an entirely new OS just three lessons later. I found it especially baffling that you were expected to install and use Git before writing a single line of code. In my opinion, beginners should first get a feel for what they’re getting into instead of being thrown article after article about fundamentals and being asked to install a multitude of programs.
After these sections, you move on to actual coding with HTML, followed by CSS and Flexbox, and finishing with JavaScript. While I think the general order and scope of these lessons are great, it feels like you have to battle through more and more articles just to get to the first few actual exercises. Linked articles within the same lesson often repeat themselves and don’t seem to add much value after the first one, other than some review and repetition. While a beginner might benefit from having a few different explanations for the same concept, does this really have to be part of the assignment, or could these be additional resources instead? Also, while the course seems to put great emphasis on practicing these concepts, other than a handful of articles with interactive elements, some knowledge checks, and a few dozen actual exercises, I don’t feel like they practice what they preach.
The articles also spend a lot of time on best practices like naming conventions, comments, Git commit messages, branching, and using developer tools like a debugger. In my opinion, for someone, especially a beginner, to see the value of these, they should first experience the problem they solve. In my major, I had numerous group projects where we shared .zip files of code on Teams with names like final-version-2 before finally learning about Git. After experiencing the frustration of dealing with multiple versions of zipped code, you can imagine that the learning curve of Git seemed like a worthy trade-off. Have beginners write a small program, come back to it after 20 lessons, and have them explain their work. That is the time to emphasize the importance of clear names. Show them a version of the program with good comments and naming conventions and demonstrate how much easier the assignment becomes.
On a similar note, I don’t think it’s a good idea to make people, especially beginners, install and use everything the course introduces. When going through all sorts of new systems and technologies, I think it’s important to minimize the number of things you learn at once. The Foundations course has you learning:
-
VS Code
-
HTML/CSS/JS
-
Git
-
Chrome DevTools
-
Unit testing
-
Linux
Now, I think using VS Code from the start is a good idea. Using an online IDE isn’t much easier and allows beginners to start learning how to use a professional IDE right away.
Obviously, HTML/CSS/JS is what people actually want to learn, so that should stay as well.
Git is great, and I think it allows for easier code sharing to solve problems. As long as you limit yourself to one branch and simple commits, it’s manageable. Also, GitHub Pages makes sharing projects easy, which I thought was great for inspiration. I think Git is definitely more of a luxury, and I don’t think they should have introduced branching in Foundations, but otherwise, it has its place.
However, are the others really needed from the start? The Chrome DevTools sections were quite lengthy, and only the calculator project had enough moving parts to justify including them. I think just covering simple console logs and how to use them would be enough. Leave the rest for later courses.
The unit tests are helpful, but I think they could easily be avoided by giving the user slightly longer exercise templates with some built-in logs. Also, I found it outrageous that the unit tests often included more criteria than were specified in the README.
Finally, the elephant in the room: Linux. While I understand the motivation for including it, I also think that if you limit yourself to VS Code, Live Server, and Git, the arguments for unifying the installation process don’t hold up all that well. The few bits and pieces of Linux that the Odin project teaches is too little to make it hold much value in the field. In my opinion, Linux should probably be added in the later pathways with just a few lessons on teaching command line basics, permissions and some scripting. Most other arguments often boil down to a general Windows vs. Linux debate, which I don’t think is relevant here.
To close on a positive note, I did think the projects were great, good fun, meaningful, and with tangible results. Being able to view community solutions was also fantastic. Together with the provided exercises, they were the highlight of the Foundations course for me.
On to the JavaScript path!
Basically the title. I feel like I’ve seen less and less mention of The Odin Project lately, and I was wondering if it’s still a recommended resource. Or, are there better projects that have taken its place?
I wish they marked them as necessary if that’s the case.
I know it isn't required but did you guys go through all of them, just curious
Currently on flexbox and the Additional Resources is taking a lot of time
Do you guys go through them anyways?
I often see that The Odin Project is a fantastic resource but shouldn't be your only resource in order to become job ready. My question is, at what point should I be looking elsewhere? As I have very limited time during the day, I don't want to take away from time I should be focusing on TOP. Currently about done with the foundations course.
For more theoretical stuff, teachyourselfcs.com For immediate interview prep leetcode and pramp. For keeping up with industry buzzwords, I like the YouTube channel Fireship and his “in 100 seconds” videos
I am currently in the Javascript section and have done a couple of outside Youtube tutorials along the way to keep things interesting. Learned a lot about CSS that didn't exist in the Foundations as well.
I just finished working my face off with the Odin Project. Finished fundamentals in 2-3 weeks (8 hours per day as fulltime job during vacation). The things I can make now and the knowledge I have now (it's a refresher, haven't coded in years) compared to 3 weeks ago is INSANE!
It's all laid out so well, it's free, the quality is high, it's easy to follow and understand. And also, it knows when it gives you more that you can chew, and it also has many times when it says 'It you don't quite get this year, read X article first'. So great.
I can recommend this to anyone learning programming. So happy!
https://www.theodinproject.com/
I do not understand how people are getting though this curriculum so quickly. I am struggling so much through the foundations section of the Odin Project. I'm on the Landing page/ Flexbox and my css looks terrible.
I've come to realize that I need to find other resources to supplement the Odin Project and it's been eating up a lot of my time because I've been learning a bunch of random/ some helpful/some confusing information. I've been on this Flexbox Landing page for 5 days. I tackle the project, but realize that I just don't have the knowledge yet. My foundation isn't set up yet.
Overall, it's a wonderful experience, but I just feel like I'm not using my time this wisely.
Earlier this year, I had this idea of wanting to learn web development so I researched the best courses to learn web development and I found that freecodecamp and the odin project is one of the best. I first started with freecodecamp but as I was doing it, I hated the way it holds your hand so I went on to the odin project. I have never came across something is difficult to learn as this. It is extremely difficult to finish the assignments and projects they give me. I even end up using Chatgpt or reading other people's submissions and I know it's wrong but it's just that it's incredibly difficult and I want to get better so badly.
Is there any better way I can complete the projects they give me and seek solutions to the problem I come across?
Hi, I want to ask to people who already finished this course how you dealt with the extreme long lessons and links. I'm ok with reading them and all that but sometimes it's really mentally draining and just long. Did you maybe skipped some and watched videos instead? They are really great to learn the problem is that I feel like I shouldn't take 1 hour to read one page and understand everything even with the help of Chat Gpt. The language and explanations in the docs sometimes overcomplicate things too much and other times there are details that you won't even need. Let me know, thanks.
Hey guys, I just finished TOP foundations in about 2 weeks after using this subreddit to decide what course to pursue. Here's my experience:
Background - I've taken one high school and two college classes in Java, all of which were over 5 years ago. Over the summer I did the first 10 chapters of How to Think Like a Computer Scientist to brush up on the basics and get a taste of Python. I came into TOP knowing what [loops, variables, lists, andObjects] were, but couldn't write more than a basic function to manipulate them.
Timeline - Set up was 10 hours, HTML+CSS took around 25 hours, and JavaScript took 35 (OOF), for a total of 70 hours. Facepalming after finding minor error crashing my projects was at least 10 of those.
Getting Started - Struggling with git and what not for 10 hours was somewhat discouraging but it definitely paid off. Learning the command line and how to push to/pull from GitHub has totally been worth it.
The Meat of It - For someone with a bit of experience with the basics, I thought foundations was right on the money. If I didn't already know things like what variable are, how to use return, and most importantly inheritance, I think the process of learning JS would've been rushed and incomplete. JavaScript IS weird, and it was nice to have a bit of perspective to be able to differentiate between writing code that was creating answers and code to push those answers to the web page.
-
Anyway, I found it helpful to take notes on things I was struggling to understand both for later reference while doing projects and for the extra emphasis.
-
Do all of the assignments. But not necessarily right away. I neglected to do the array cardio in Fundamentals 5 until after I had finished the calculator because my eyes kept glazing over. Coming back to it with a cup of coffee and clear mind made it way better. Don't be afraid to revisit a topic that's going over your head in a bad way (looking at you dev tools).
-
Persist - You can't lose if you don't quit. No seriously, flexbox isn't your middle school bully and it's not going to hurt you.
-
Join the Discord - You'll feel dumb when someone spots your error immediately, but they're gods, and someday we will be too.
2¢ - If I was a learner who's struggling with understanding JavaScript's role in the Frontend or the TOP JS section, I'd highly recommend learning the basics in another language for ≈20 hours. It's a small investment for the perspective you'll likely gain. Other than that, The Odin Project has showed me how much there is to learn while boosting my skill and confidence in my ability to do this 1000%.
I'm planning on starting the full stack JavaScript path tomorrow, and couldn't be more grateful for the perspectives provided in this subreddit!
TLDR: If you do TOP don't quit and be self aware while trying to learn.