The Odin Project is My Favorite Resource for Learning to Code

2023-06-26
The Odin Project Logo

What is The Odin Project?

The Odin Project is a web development learning community. Similar to FreeCodeCamp or Codecademy, but with a unique approach. Instead of promising that things will be easy, you are told upfront that things will be difficult and given mechanisms to stay on track to complete a path.

Rather than being just a resource, it's a pathway you're encouraged to follow. This platform frequently comes to mind when anyone asks me, "What's the best way to get into [programming-related thing]?" It meticulously builds you from the ground up. You are taught to teach yourself.

An Ultra-Linear Path

Skipping around isn't happening because there's only one path at the beginning. By the time you finish the first section you'll be certain if you want to get into web development at this point. You either happily plow through the content or you're feeling as if you were sent to the mines to learn HTML and CSS.

This guided approach is why I recommend the content to others. You learn concepts and fundamentals that should not be skipped. If the path looks right to you then jump in. If it doesn't, then you're probably better off with another resource, but don't give up just yet. This one is worth landing on.

The Odin Project Paths

TOP only covers web development using HTML, CSS, Ruby, JavaScript, and React. If you're looking for Python or PHP you'll have to look elsewhere. However, the fundamentals path is 100% worth looking at for anyone who is interested in learning to program.

Like, Basic Basic

Unlike other resources, your first meal is an introduction course that prepares you for succeeding in your career. Delivered as deceptively simple articles. It's something I recommend everyone who's learning to program read. There are nuggets of wisdom in there that will temper your expectations and bolster your confidence. Especially Motivation and Mindset

After the pep talk, you're taught to set up your environment and taught the basics of the internet of the internet. Some of the material in the beginning is so basic that it might be tempting to skip over. That would be detrimental to a beginner. Trust me when I say that "ancient" article on the .this keyword is invaluable and will save you a lot of time in the future.

Community

Discord Logo
Join The Odin Project's Discord server

The baby programmer must learn to walk before they can run. Let's be real. Before you can even walk, you have to learn to crawl and cry for help.

You can't make it out of the intro without knowing all of your lifelines and all of the socials. You'll find a TOP community on most social media platforms, with a very active Discord community. Other learners of all stages are always people asking questions and getting answers. There are also people who are just there to hang out and chat. The journey can be long and boring at times.

Projects

Projects are huge in TOP. Completing one is like carving your name on that big tree in your hometown. Right after setting up your text editor, you're guided through the basics of Git. If you follow along diligently, you'll be taught how to make pull requests to TOP's GitHub repo to have your project included on the project page. You'll also learn how to deploy your project to GitHub Pages.

There are also some very creative people out there who have made some very impressive projects. Don't let that jacked Hello World submission intimidate you. That'll be you someday fam. It's not a competition anyway. There is a lot to learn from reading other people's code. You'll be able to see how other people solved the same problems you did.

The Odin Project projects

The Odin Project is Difficult

They're not shy about it. You're told upfront that it's going to be hard. It quickly becomes clear that everything is important. There are a lot of concepts that you've never heard of that you'll need to learn. Things like Object-Oriented programming or the DOM. Thankfully, you're provided with plenty of context to help you understand the concepts, but that presents its own problem.

Discord Logo

From: "Why Learning to Code is So Damn Hard" By Erik Trautman

One article can branch off into 5-10 articles/videos/etc if you're not careful. Some might be 20 years old, but appear to be the secrets of the universe. You could find yourself tumbling down the rabbit hole, reading about some obscure JavaScript feature that was deprecated a decade ago if you continually click links instead of just reading the linked article in the path.

Rewards

The payoff from sticking to the path comes in the form of preparation. You'll know the fundamentals of building a website with just the foundations path. There's a lot of knowledge packed in there, and anyone who makes it to the end should feel confident that they can at least fix legacy code.

Originally, TOP only had a Ruby and Ruby on Rails path for advancement. However, as React and Node gained popularity an advanced JavaScript path was introduced. Maturing your JavaScript skills is a must for aspiring web developers. Developers will not stop making JavaScript frameworks. It's a fact of life.

You can jump straight into the job search after completing one of the advanced paths. You'll have a small portfolio of projects and a solid grasp of the fundamentals. Your readiness will depend entirely on how much effort you put into the studies and projects.

Conclusion

I can't recall how I stumbled upon The Odin Project. I probably came across it on Reddit in the /r/learnprogramming subreddit as a recommendation. Regardless of how I found it, one thing is clear—it changed my life. It suited my learning style perfectly. The content is primarily a compilation of insightful articles interspersed with tasks.

I've outgrown the content, but I still recommend it to anyone who asks me how to get started. Without the fundamentals I learned from TOP, I wouldn't be where I am today.

The material is framed in a way that's understanding and encouraging, yet unyielding. It's a challenge that you're expected to overcome with help. You're not expected to know everything. You're expected to learn how to find the answers.

Resources