I'm just about to start. I have some very basic HTML and CSS knowledge from building my own hobby websites in the past, but that's it, no actual programming knowledge.
I'm 38, work a full time job that takes up most of my time, and energy - And I also have three kids (one of them a baby). I can devote upto 2 hours to the course most days if I do nothing else in my free time, and a few more hours on my days off. Other days, I'll have very little time at all.
From reading experience from people who have completed the course, they seem to have spent many hours a day over the period of weeks to months, almost like a bootcamp style.
Obviously, people learn at different paces, but I'm just trying to get a rough sense of how long it could potentially take, and if someone in a similar situation has finished, and had success with the course? Thanks
Videos
Since this question has been asked a lot, just for fun, I thought I'd ask our favourite bot, ChatGPT-3.5. Note: ChatGPT3.5 uses datasets from up to and including 2021 to answer questions, so newer web dev technologies that are taught in TOP today may not have existed back then, so the time to complete TOP might have been significantly less in 2021 and earlier. Don't take the answer too seriously, it's just for fun!
Question: How long does does it take to complete the The Odin Project?
Answer: The Odin Project is a self-paced online curriculum for learning web development, and the time it takes to complete it can vary depending on several factors. These factors include your prior experience, the amount of time you can dedicate to learning each day or week, your learning style, and the complexity of the projects you choose to undertake.
On average, many learners have reported completing The Odin Project's core curriculum in around 3-6 months. However, it's important to note that this estimate can vary significantly. Some learners may complete it in a shorter time frame with more intensive study, while others may take longer if they prefer a slower pace or have other commitments.
The Odin Project offers a comprehensive learning path, covering various topics such as HTML, CSS, JavaScript, Ruby, Ruby on Rails, databases, and more. Additionally, it encourages hands-on project building, which can take additional time depending on the complexity and scope of the projects you choose to tackle.
To make the most of your learning experience with The Odin Project, it's recommended to allocate dedicated study time, practice regularly, and engage with the community forums and resources available. Actively working on projects, seeking help when needed, and experimenting with what you've learned can also enhance your understanding and progress.
Remember that everyone's learning journey is unique, and the most important thing is to focus on understanding the concepts and building practical skills. Don't rush through the material just to complete it quickly. Take your time, ask questions, and enjoy the process of learning web development.
As the title says! Rough estimates are fine. Trying to plan my life here.Thank you!
I've seen a lot of people say it takes x months, but I think it would be more helpful to gather info on the amount of hours it can take for myself and others who are interested in the program since day to day free time and responsibilities can vary so much from person to person.
I'm making this post because I saw many people ask the same question..."How long will the Odin project take?". So I decided to time myself while going through the course. As said in the title I haven't finished the entire course but I do plan to time myself all the way.
Disclaimer: I'm not a complete beginner to programming. I'm doing a degree in ECE so we have to do stuff with micro-controllers. So I know a bit of c/c++ and assembly.
So here's how long each section of the foundations took me:
Introduction: 1hr 30
Installations: 7hrs
Git Basics: 1hr
Html Foundations: 4:hrs
Css Foundations: 6:hrs
Flexbox: 10hrs
JavaScript Basics: 43hrs
The BackEnd: 1hr 30
Total: 74hrs
Those times include the projects. Also I didn't go through the additional resources sections.
And here's how long each project took:
Recipes project: 2hrs
Landing page: 2hrs 30
Rock paper scissors : 3hrs
Etch a sketch: 3hrs 30
Calculator: 11hrs
As it regards to projects. I could have easily spent another 10-20 hours making them prettier and getting all the extra credits ..which I'lll probably do later. You might end up spending way more time on the design aspects.
So I started on May 10 and finished foundations today. Worked on it 19 days during that time. So on average about 4hrs a day. Hopefully this helps anyone who may have been wondering how long this might take them.
My thoughts? I'm really liking the project focused method and lack of hand holding. What's next for me? I'm going to go through the ruby track because it has a data structures and algorithms section ...and a javascript section . After that I'm going through full stack open but would be later in the year if all goes well.
Edit: Rock paper scissors actually took 3 hours. It seems I had the Revisiting rock paper scissors section recorded as a Dom manipulation session. Here's how I checked. Again Apologies
Hello I'm planning to start TOP I plan to do the foundations and Ruby on rails course, I can dedicate 2 hrs everyday. Based on my proficiency as a beginner coder how long will it take for me to comple the course
Is 1.5 years a reasonable time to complete everything? You could also convert it to hours if you wish.
Also that would be Including the new React section. I’ve been at it for about 9 months. I have just completed the To Do List in the javascript section which took me 10 days. I feel like i’m kind of slow despite sinking 3-4 hours a day into it, but that is just my pace.
I’m not comparing myself to anyone, just curious on a timeframe I can expect to be done at current rate. Thanks!
This is a long read (if anyone reads it at all). I just wanted to share my journey thus far.
Preface: I completed "Foundations" in just over 7 months.
I'd like to tell myself 7 months isn't bad, considering I work full time, but that isn't a good excuse. I see posts on here about the average completion time for Foundations being around 2 months, with some doing it in as little as 2 weeks... I certainly put in the effort to learn programming. Not only that, but I did it 5 days a week, as if I were in school, putting in hours before work, as well as time in the evening. It's depressing when I realize it took me almost 4x longer than the average person to complete the course. I don't like to compare myself to others, but it's hard not to in this case.
I'm not going to lie and say I haven't learned anything. That would be complete BS. But the last few months, it's like I am going backwards. When I encounter "complex" problems, they almost always make me blank out. When I can't break things down, I result to trial and error, hoping something will just work. It's embarrassing.
There were hiccups in the course, but it wasn't until Fundamentals 4 Test Driven Development where I actually got stuck. I spent over a week on exercises "removeFromArray" and "sumAll". I got absolutely nowhere with these, so I decided to find something to supplement my learning.
I took an 8-hour free JavaScript course on YouTube by Scrimba.com. Although I enjoyed the course, looking back, I learned almost nothing; It was very handy-holdy. I only retained a few things from it, mostly basic methods to interact with the DOM.
After that course, I returned to TOP TDD exercises, "confident" I could complete them. Well, I failed once again after another week of grinding... I decided to move ahead to the DOM section, revisiting Rock Paper Scissors, and then the Etch-a-Sketch project.
I spent a week and a half on the Etch-a-Sketch project and completed it + the extra credit task without help. That said, I am not proud of it. It was a lot of trial and error and very hacky methods to get some stuff to work.
Lacking in confidence and knowing that the next section, Fundamentals 5, contains more TDD exercises, I bought a JavaScript course from Udemy. I told myself I would ONLY do the fundamentals and solve any exercises / tasks they threw at me. Going through each lesson, I almost always implemented my own solution before the teacher gave the full breakdown or any hints. In the end, I did solve all the exercises on my own. After completing this course, I decided to change gears, before returning to TOP. I decided I would build 2 projects from scratch.
The first was another rock paper scissors game. This came out a lot better than the first one I built for TOP. I made the game playable with both a GUI and the console on the same webpage. I was happy with the results, but it took me a week to complete, which seems way too long for a basic project / second time doing it.
The second project I built was a blackjack game, which is not part of TOP curriculum and completely foreign to me. I completed it, but it's really a half-assed version of the game. I didn't realize there were so many rules and variations to Blackjack. My version is basically 1 player vs the computer. I couldn't figure out how to implement more players, so I stopped. My game works, but it's not really Blackjack. I have not returned to this project since finishing it.
Before returning to TOP, I did some "mini" projects, which I don't know if they were really any help to my learning. I just did them to stay motivated. I practiced conditionals, arrays, objects, functions, and rendering things to the DOM. I built some conversion calculators and did some things with images. Nothing to write home about.
Finally, I returned to TOP and once again I was not able to solve those Fundamentals 4 TDD exercises. Now I am really disheartened. After taking 2 courses, doing 2 projects, and practice on my own, I am right back where I left off: Stuck.
I pushed on to Fundamentals 5. I think I solved every task on the MDN article and all but one on JavaScript.info. I also solved all the array exercises from Wes Bos' JavaScript30 videos, but 2 of my solutions had parts that were not entirely correct. The JavaScript30 exercises took me multiple days to complete.
After the articles and exercises, I started Fundamentals 5 TDD exercises. It took 2 days to solve the first 2, calculator and palindromes. That was putting in 5+ hours each session.
I then got stuck on Fibonacci for 4 days. Absolutely embarrassing. Apparently this is a super basic algorithm exercise. After reading posts online, people said if you can't solve this, you aren't cut out to be a programmer. Great. I never could solve it, so I went on to finish the last 2 exercises, which took another 2 days to complete.
I then moved on to build the final project of the course, the calculator. It took me 11 days to complete this. It started out OK, but then I got stuck on Task 5 and began to question the operator function I created earlier. I spent 4 days trying to solve this and it was all just trial and error. I was just throwing things at the wall, hoping they would stick. In the end, I was able to get it working and solve all the extra credit tasks, but it's a mess. I made no use of objects or advanced array methods, because I couldn't figure out how to implement them. My calculator contained GIANT if/elseif/else conditional statements that really don't make sense. I was able to refactor them into a single function at the end, but it's still awful. This is easily the worst project I have made.
So, 7 months into my programming journey, I'm at a crossroads. I don't want to give up, especially after putting all this time in, but I feel I need to step back and look at the big picture. It's clear I have a poor understanding of the fundamentals, even after taking 3 courses... I see no reason to continue on to the Ruby on Rails or Fullstack JS path, as they will introduce more advanced concepts that will make me hit a wall. I just don't know where to go from here. Do I try to build some projects on my own again? Do I push through TOP hoping it will work out? Or do I pack it in?
I never expected to struggle this much... I'd like to think I am pretty computer savvy, but I now know that computer savvy does not translate into being good at programming or logical thinking. When I read success stories on this subreddit, instead of them motivating me, it just makes me feel worse about myself. I know I wouldn't be job ready in a years time or more. I never set that goal for myself. I did think I would complete the foundations a lot quicker and already be working through one of the main paths. My slow progress is discouraging and it's getting harder to stay motivated.
TLDR: I can barely grasp the fundamentals after 7 months. I struggle with or cannot solve the most basic of algorithms. I often result to trial and error to solve problems. I am no better at HTML or CSS and I have no eye for design.
Working full-time and learning how to program in your spare time can be difficult to balance. When I started TOP, my goal was to code for 15 hours a week. Sometimes that meant 3 lessons and other weeks that mean 1 lesson, and other weeks that meant a partial piece of a project! I would not get down on yourself for how long it takes.
I choose TOP because I wanted to learn at my own pace and let TOP guide my path. Sometimes I veered off the path, but I learned to trust TOP's path. I loved how the lessons and projects increased in complexity. Before I found TOP, I was trying to figure it out of my own and ended up repeating the same material over and over. With TOP, I would use it as a roadmap, but wasn't afraid to use other material to help me understand a concept better. But then I would return to TOP, because I liked the progression.
This past week I celebrated a year at my first software engineer job and when I look back at the slow progress I made through TOP, none of that matters. I was able to learn new material and balance the rest of my life - like spending time with my husband, 3 kids, friends, etc. Comparing your timeline to others is not helpful at all.
As far as not having an eye for design - you don't need it. That is designers job - they hand you the design and you implement it.
As far as "often result to trial and error to solve problems", get comfortable with debugging and reading documentation. A lot of what I do at work is debugging to figure out what is happening & checking out documentation on the methods that are used and/or available to be used. What you are describing could be perfectly normal, but it just doesn't seem right to you because you expect it to be different. I often write pseudo code of what I want my code to do & then I write code and debug/read documentation to help produce the code that I need.
As far as not being good with HTML/CSS, maybe you'll really love backend work. At my job, I have hardly had to touch HTML/CSS because in the application that I am working on, there a lot of components that are already made that I can just re-use. I do not have to make much from scratch. Plus, I spend a lot of my time doing backend work, which I rather enjoy.
As far as the idea to continue TOP or make your own projects, I would encourage you to continue TOP. If you haven't already, I encourage you to join their Discord community, which I think is their secret sauce. I think I learned more by hanging around in their help channels, helping others when I could, but also reading about other people's issues that they were having and the answer to them. This really solidified the fundamentals for me. When I first started TOP, I would look at the solutions to help me solve something that I was stuck on. But this HURT me because as I progressed to the next step, I did not understand the foundations to help me understand how to implement the concepts to a new problem.
To sum up... good luck on your journey whatever you decide. I started learning to program in 2016 and got a job last year. To others this may seem crazy, but it worked for me. When I started I didn't think it would take me that long, but life happened and I just picked up where I left off and continued.
Even 7 months is not much time with coding. it seems like you entered tutorial hell as well. You've been making everything someone else has told you to make. The beauty of programming and what keeps me going is making something you are excited about. Think of something that you want to make make a plan write down everything you might need to do find documents videos and how to's on what you don't know. Then start making reference documentation and resources that you may need. Don't rely on them until you get stuck. You might never be able to build it because it's too complex or it might come out sloppy buggy and messy. But you built it yourself and that's something to be proud of. So the next time you build something you have those struggles under your belt and can remember why it was buggy what to do or not do next time. Iterate this and find your own way of learning on your own and over time you will end up a competent programmer. I also read others code on GitHub to understand differences in how I'm writing compared to others. It's not much different than understanding Grammer language and writing a book. The only different is there is always two readers of the words at once. Which one of them has an IQ of zero.
I can't find the answer anywhere. How long is the Foundations course? Also, how long is the subsequent course in either Ruby or Java?
I've been chipping away at TOP for over a year now and have finished 100% of foundations and 50% of the fullstack Javascript path. For context, I do atleast an hour a day (2 hrs on average) after work and will do around 12 hours during the weekend.
I think foundations is quite straightforward and the time taken to finish it will come down to how quickly you can grasp the fundamental concepts they teach and how much effort you're willing to put into projects. It took me 5 months to complete but I did a lot of extra steps like mock up page layouts on Figma and spending a lot of time styling CSS sheets.
As you get into the next path (fullstack JS or Ruby), you'll find the concepts get more difficult and projects harder. TOP does not necessarily go into detail about how to bring new and old concepts together to create and finish their projects. Figuring out stuff on your own can take a lot of time if you let it. I spent over a month trying to figure out how to create their note taking app and had to look up a tutorial in the end to figure out how to correctly bring everything together. When you hit a wall like I did, give the problem an honest try but don't be so stubborn to not seek an answer if you're not getting it after a week of trying. With that being said, I probably learnt the most from that struggle so you'll have to weigh up whether you prefer getting through the course faster or being able to take the time to explore and be resourceful on your own.
Also note that there is an eb and flow to their course structure where you end up reading a lot before finally getting to apply the knowledge. Don't get frustrated if you end up reading docs for a week straight, especially if you can't spare a lot of time to chip away at their curriculum.
They are as long as it takes you to understand the taught subjects.
Really, time is of no importance when learning.
You will need some time besides the course to research material, to practice, to bugfix, etc, which all together can and most likely will take more time than the actual courses.
As someone who seriously is to stubborn to quit. I got to the last second last project on foundations javascript. Everything went smooth. It was the part where you use event listeners to change the color of a box and a choice to input as many boxes as you want.
Either way this is like my 5th time quiting and retry programming. I kept quitting because at first I was self conscious of my IQ and how I had a criminal record. Then when I was at work and realized if I dont pursue higher education I'm closing doors. So I'm not taking that chance. I'm also 24. My goal is to be 38 and have deep rooted software engineering skills. Able to write 1000s of lines of code.
I felt like I learned a lot in the Javascript foundation sections. It was a bit tricky but I managed to get through and loved the jumps in difficulty.
I'm just wondering. What were you capable of after finishing either the ruby on rails or js section. Could you create a full functioning site like Amazon or reddit. Reddit bots? Even thr backend functionality of Amazon?
And how long? How many hrs per day? I was doing around 3 hrs a day before sleeping just to feel the neuroplasticity effect. I quit for around 3 weeks though so I'm going to redo everything.
Anytime I see these "How long did it take you to finish TOP?" posts - almost no one actually answers the question.
Hmm I think if you keep pushing you'll feel that you can accomplish more than you even would have think about before. You don't have to be too hard on yourself. It’s good to ask, googling, etc. I find very rewarding to learn new things and see how can I apply them later, like playing the piano or any skill really, it's progressive. But I think you have to have a kick for it, like you have to like what you're doing, otherwise I think it wouldn't worth it.
In any case, it would take you several months (4?, 5?, 6? it depends from person to person) of full dedication to be able to build complex apps, and longer if you are not full-time learning. Learning something always takes time, there's no other way around it.
Non-native English speaker here.
I am a 33 year old Bangladeshi male. I have an MBA but no STEM undergrad. I can build websites on Wordpress and now I am trying to learn web development.
I am going through the Odin Project. I work at a bank, with commute its 14 hour days five days a week. So I only get the weekends off, where I can spend 8 hours on this learning. I want to learn web dev at the fastest possible time, so that I can leave this job.
Now my question is: given that I can only spend 8 hours a week learning, approximately how long is it likely to take me to finish the Foundation and Specialization course respectively?
All online resources do not mention a specific number of hours, so I am asking here. I know its impossible for people here to predict it given you know nothing about me, but please make a rough guess at least.
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/
Hi there. (Mostly) noob here, I’ve been doing the Odin Project full JS stack since the first week of December, for 3-5 hours per week and I felt like sharing some thoughts and progress so far. I'm going to try and journal my progress every so often anyway as an aid to motivation, why not make it public?
The course itself seems to be written and structured well. This is the longest/most consistently I’ve stuck with any kind of online course which is partly on me having a hopefully better attitude to it and partly because the course has me feeling like I’m making little bits of progress consistently.
Other things to like about it: it links to external content often (good, not everything needs to be rewritten if it already has a solid tutorial); it’s sufficiently explicit about which bits of those external sources to read/watch and which not to, which exercises to follow along with etc; it reiterates the ‘we’ll do this topic in more detail later’ or ‘you don’t need a full understanding of this right now’ philosophy where appropriate; it’s a little soon to tell but does seem geared towards practical skills over pure theory/language learning (you spend a sufficiently long time before actually writing any code that it might be off-putting to some people. I really appreciated the early focus on git, I'm not as sure about setting up a Linux VM as the first task but it’s early days yet and that might prove invaluable going forward).
Progress (knowledge or skills that are new to me):
-
A very top-level eli5 understanding of how a website is created and how that's accessed later.
-
Set up a VM.
-
First exposure to Linux and Terminal basics.
-
Get Git and Github up and running for a single author.
-
Simple version control (commit changes, checkout to revert local changes).
-
Using Chrome dev tools: inspector and computed.
-
Create web pages locally and link them, use local stylesheets.
-
Basic HTML and CSS to the point I could create a web page and have it look not-terrible.
I've just finished the 'create a (nonfunctional) replica of the Google homepage' project now. The finished article is a web page that I built, and it's on the internet. That feels like an achievement.
That turned into a much bigger task than I first anticipated, I'd estimate it was 12+ hours of work for me. To be fair, part of the project brief is 'don't be a perfectionist' and I should probably have taken that on board more. On the other hand, I learned new things consistently while doing it, some of which I wouldn't have come across if I hadn't been digging in as deep as I could. Concepts like display, position and 'when something should be in a div' have been huge stumbling blocks for me in the little bit of web programming I've tried in the past, so I'm pleased with myself for breaking them down into small tasks in isolation and looking up resources. I wouldn't say I'm comfortable with those things yet, but I can use them and will know what I should be searching for the next time I build something and get stuck on those.
Invaluable lessons I should really remember:
-
You can't undo checking out a file from git. Be sure you really want to revert those changes before doing that.
-
Test it in isolation. Replicate it in codepen. When it works perfectly there, you can be pretty sure you've done something wrong in the live file, or that something you're not expecting to mess with it is messing with it.
-
Not working? Put a 2px solid red border round it. You understand how borders work, that'll make it pretty obvious if the problem is with the new rule you don't fully understand yet, or if you've targeted the wrong element or left a comment unclosed on the prior rule.
-
Still not working? You've not closed a comment or forgotten a colon or you don't know which side is left and which side is right.
-
Comment your progress at the top of the file. You'll be coming back to this in a day or two, make it easy to pick up.
Awesome progress so far! I felt like I was moving along pretty well with concepts and now that I’m in the JavaScript fundamentals, things are getting harder. I’m still loving it and doing the work but am wondering if I should go back and over some of the JS fundamentals before starting the Rock, Paper, Scissors project, just to reinforce the ideas a lot more in my brain?
Can’t wait to read more from your journey!
Thanks for the updates on your progress. I started The Odin Project just under 2 weeks ago. I work full time so I’ve only been managing roughly 2 hours each workday.
I got to the Google homepage project and realised quickly I hadn’t taken in as much information as I thought I had as I struggled to get going on it.
I’ve found so far for HTML/CSS that w3schools breaks everything down really well. It also helps that I recently bought a notepad and have been jotting down everything I need to know. That definitely helps with understanding concepts better and remembering them in the future. Once I’m more comfortable I’ll go back and tackle the Google project and look to progress again from there on TOD.
Are you looking at changing careers soon with your experience being self-taught?
The Odin Project (TOP) involves significant reading and projects. Rough online estimates suggest the Foundations + Full Stack JavaScript path takes about 1000 hours, a figure often supported by success stories I've read.
Most successful students report spending 3-8 hours daily, typically finishing within a year. Some even finish in a few months by studying 10-12 hours daily, which is unsustainable for most people. However, success stories from those studying less than 2 hours a day are rare.
Based on the 1000-hour estimate (I know that it's a really rough one), this slower pace implies completion would take several years. This makes me wonder: has anyone successfully finished TOP studying 2 hours, 1 hour, 30 minutes or less daily on average? If so, how long did it take?
I already know some of the basics (supersimpledev html/css/js youtube videos) and so I was wondering if 2 and a half years is enough to complete it if i do it for around 10-15 hours every week.
I am feeling EXTREMELY frustrated right now. I reached the rock paper scissor project and it has been the worst. I was not prepated at all to do it. Very important concepts that are needed to solve it were not taught in the previews lessons. I have been askng for help everyday and I am not even halway through it yet. I am asking here I see everybody here praising the course as being the best think in the world and I cant help but think that maybe I am the problem here.
Just want to know how much time to spend in between work and weekends?
A few days for set up and html. A lifetime for the CSS info.
But it’s really up to you. You can be “done” with any learning really quickly if you just skim and don’t put the time in to create projects.
However, taking it at a pace where you are focused, learning and retaining information is worth it if you’re in a position to be patient with it.
On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge.
If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options:
-
Limiting your involvement with Reddit, or
-
Temporarily refraining from using Reddit
-
Cancelling your subscription of Reddit Premium
as a way to voice your protest.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
Question in title.
I hope I don’t come across like a dick, but their own estimate is at 1000 hours (six months at 40 hours a week).
Slightly OT, Just curious, how far are you? I started not too long ago but keep getting sidetracked.
I’m trying to brush up on math so I can take Calculus and then start the CS program at WGU, but a little bummed all the math is taking my time from the actual programming learning/TOP right now...