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!
So, long story short, I have been learning to code through the Odin Project since 2022. The course was an absolute godsend. All the contents provided were very detailed and helpful for you to learn how to write code.
BUT, I do think there’s a belief among many of TOP leaners out there that studying the Odin Project is all it takes to become an entry level full stack developer. Now, I don’t think this is false, you can definitely get a job as a full stack, if you are still in 2020-2022. The situation now is different. Computer Science is becoming some sort of a trend, where literally everyone is trying to jump on the dev train, thinking this is the career to make banks. Of course, I understand the arguments that not everyone learning CS, can be a good developer. Heck, even some CS students can’t even write code. However, with more and more people joining the field, there will be even more people who can’t write code with a cs degree, along with people who CAN write software code AND have a degree. I only managed to land an internship last year. But that was because I took another bachelor course in uni, fast tracked to 3 trimesters per year.
TLDR, I think TOP(or any other self-taught programming platform) is still a great material to learn web programming (html, css javascript and react). But, solely relying on TOP will not give you a high chance of landing a software development/web development anymore. If going to university is not viable, I would recommend looking into learning some more stuffs after completing TOP, such as DSA, more strongly-typed languages such as C#, Java, etc.
What do you guys think? Would love to have some more opinions regarding this.
Videos
soo im interested in full stack web dev . Do u guys still recomend it or are there any better alternatives? And i have some knowledge on html and css from some reputed youtube but that proved to inefficient .
Edit: I have a sold grip on python along with oop if it helps
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.
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/
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?
Im 18 and want to learn how to program. I have learned basics of python but I don't feel like I'm really learning anything and feel kinda lost on what to do.
I recently came across a post about a guy praising the odin project and how it got it into programming so i was thinking of giving it a go but I don't want to be a web developer so is it still worth it or should i stick with python and find a path there and if its the latter then how do it.
I am seeing TOP being suggested more than any other website here for someone who wants to learn web development, build a portfolio and land a job.
However, other courses/bootcamps (free or paid) do almost the same job. They learn HTML/CSS and JS as well as frameworks and databases.
So my question is; what makes TOP different from other resources? Is it really worth the time to dive into this? If no, what would be your best bet?
The question you're asking seems to be similar to when beginners ask which language they should learn. And the answer is similar: it doesn't really matter. Just pick one and stick to it. The hardest thing about learning all of this is putting in the time and grinding it out.
Research is good. But by this evening your research should be complete and if you haven't already, just pick any of these courses and start as soon as possible. Personally I love TOP and it's insanely difficult to go through. I'll also be recommending it to other folks who ask me for advice. Sorry for not directly answering your question, but it's more important to just start.
I tried TOP a couple months ago, but then I got trapped in the paralysis by analysis, so I started changing from one resource to another and basically wasted my time. I returned to TOP since December and I'm about to start the React section. After trying a number of resources, I can say that TOP is great because the curriculum is not randomly selected. You do need to know that stuff before moving forward. The only thing TOP lacks is practice in the Foundations section. I mean, the practice projects are great, but some of us are not designers, so I complemented TOP with projects from Frontendmentor.io to practice how to turn real designs into webpages, because is hard to learn frontend stuff without good designs to practice. It seems to be paying its dividends for me. I got an interview for a frontend position next week, at least the projects are catching recruiters eyes.
I just wanted to ask any of you who have completed or in the midst of completing The Odin Project and would you recommend it as someone who just wanted to solidify their learning.
Essentially I feel like my foundational knowledge, esp Javascript is weak and I try to do projects but just get stumped because I don't know enough to proceed. So wanting to scale back and start from the beginning. Hearing lots of good things about TOP but would you recommend it?
Thanks x
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!
If it isn't worth trying, are there any alternatives?
Yeah Im almost done with the foundations course and Ive actually enjoyed it. Its not easy and there's a bit of a hands-off approach to projects, but you will never learn from someone holding your hand while doing projects so its a great way to learn programming. Go for it, but be mentally prepared for the challenge and the massive time commitment required to finish it
I just finished their Foundations course yesterday after starting it in August and picking away at it a couple of hours most evenings. I had dabbled with programming in the past (Python), but never really stuck with it previously. I'm now starting the Ruby course to continue with The Odin Project. I found the foundations course to be a very solid course.
A concept is introduced, they give you a lot of reading up front, and then you start to work on exercises before moving towards larger projects. There were definitely evenings where I felt totally lost, but I attribute that to the process of trying to learn a new skill, and not a reflection of the overall course.
Their installation instructions are thorough, they introduce a lot of great concepts that you don't always see in other courses (for example, they force you to learn about git and HTML accessibility standards).
On many of the larger projects, they give you some pointers and then it's really up to you to do the code and read read read / google google google until you figure things out. That's where the real learning comes from anyway, so you'll never feel like you're just copying code examples from a book.
Can I build a cool website from scratch? Not quite, but I can put together pieces of one and I'm learning something new all the time. Am I fluent in JavaScript? Nope, not even close. Have I started to build things, make connections, and tackle some difficult programming challenges that have forced me to look at problems in a new way? Absolutely.
You have nothing to lose!
* * This is a post made by a highly frustrated person. Such surprise! **
I tried a few sources before TOP sucha as: Freecodecamp, codecademy and learncpp. I didint like them because (at least at that time) they didnt explain much about what programming is like. They would just jump right to coding into some type of terminal in their page. TOP seemed better in that aspect because it actually taught the background behing all those weird codes and taught by using our own terminal on our pc.
But, as I keep following the course (I am on the javascript foundations now), it keeps getting more and more frustrating. One link to a source is a VERY long article that often talks about things I dont know and has even more links to other big articles. I feel like there is always a obstacle in my learning process even before any projects.
Should I just give up and pay for a normal course? I am stubborn because I have a genuine interest in programming and would love to learn but the frustration is killing me everyday.
Im 18 and want to learn how to program. I have learned basics of python but I don't feel like I'm really learning anything and feel kinda lost on what to do.
I recently came across a post about a guy praising the odin project and how it got it into programming so i was thinking of giving it a go but I don't want to be a web developer so is it still worth it or should i stick with python and find a path there and if its the latter then how do it.
Basically the title... Wanna know is it worth my time.
hi everyone, complete noob here! Sorry I donno where ask this but I hope I get my answer here. I have been learning Python for 2 months now(self taught), but then I explored about frontend development and the ODIN PROJECT, I am kinda interested in it now. Now I have 2 option to choose 1. Resume learning python and backend development 2. switch to THE ODIN PROJECT. What should I do? Also is it still worth if i start now and lastly how much time its gonno take (with your experience, approximate)?
As I'm on the last section of the Full Stack JavaScript path I'm feeling underwhelmed. It doesn't feel like I truly learned that much about programming or problem-solving. I think it's more accurate to say I've learned "website carpentry", as in I've learned to make modern style sites via looking through documentation. A lot of people would cheer at this and say "hey, that's dev nowadays!" but I'm unconvinced that this is something to be happy about.
I had a friend who's been in the industry for years take a look at my code. By his admission, while my stuff technically works it doesn't look good and has tons of newbie mistakes and bad habits that a proper Comp Sci course would've stamped out early. But in Odin you're just given a manual and a task. It's great for learning the "what", but it neglects the "how/why" too much. They have supplemental resources on almost every page, but seem to wag their finger at spending much time on them.
When they say Odin's enough to get a job, I've realized what that means. It's enough to function in a hypothetical idealized entry level dev job. An easy one, in an uncompetitive location, where you'd be feel lost and uncomfortable for the first 6-12 months. It's nowhere near enough to slot in as a true junior at a realistic company. It's nowhere near enough to impress a hiring manager on its own merits, no one is going to look at your final project in Odin and hire you off that.
So after 15 months of doing Odin what I'm left with is the ability to make sites and very little insight into how it really all works. I know next to nothing about CS concepts and struggle immensely to solve even easy algorithm style question. I'm wishing I just did a smattering of CS MOOCs instead or something.