You can view the video version of this post here👈
The Odin Project is a free programming course that teaches full stack web development from the ground up. It’s immensely popular on r/learnprogramming, where it’s generally recommended as the starting point for a beginner’s journey into software development.
This is a two-part post covering my thoughts on the first part of the curriculum, titled Foundations. The second part will cover the full stack section of the course.
We will be focusing on the first half of the curriculum called “Foundations”.
There are three things I’m going to be sharing today.
- my impressions regarding the course and its content.
- Any gaps that I found in the course’s material
- Is it worth it from a sr dev’s perspective?
Let’s jump right in.
What I Liked
First things first, all the technology is covered in the foundation section are relevant today in 2022. I use my cli, git, Github, VSCode, and CSS primitives like flex box and flex grid on a daily basis.
They also cover some more underrated topics very early in the course. Things like chrome dev tools, atomic commits, and more advanced javascript patterns like default params and arrow functions. Getting you familiar with these less prominent features sooner rather than later will make your life much easier as a student of full stack web development.
Tired of getting stuck in code issues? Chrome Dev Tools will help.
The most important of these are the chrome dev tools. They help you debug, modify, and tweak CSS styles all within the browser. If I’m being honest, a large chunk of my time building front ends is in the chrome dev tools. It makes me happy to see the Odin project mentioned these early in the curriculum.
The last thing I loved about the Foundation section was how some lessons send you off to read documentation, blog posts and articles. I love this because it closely mirrors how software development works in the real world. Software developers spend a good amount of their time browsing documentation, reading blogs (and dare I say it), consulting Stack Overflow.
The curriculum takes a similar approach here. Instead of giving you a complete resource, it asks you to consult various disparate sources and synthesize this information into knowledge and eventually code. This is essentially how software is built. I found this to be a very clever way to recreate this aspect of software development, which might go over many beginners heads.
What I didn’t like
Next up, I’m gonna be talking about some of the things I didn’t love about the Foundation section of the Odin project.
I only had one issue with the curriculum, and that’s that it doesn’t talk about data structures and algorithms. My guess is that at the end of the day, they want you to learn how to build web apps as quickly as possible.
This book is a great primer on DSA. We will talk more about it later.
That’s perfectly fine. But eventually you will need to learn data structures and algorithms at some point. Most jobs require you to pass a technical interview which test your knowledge of data structures and algorithms. While I’m personally not a fan of it, this is sadly the status quo in the industry, and it’s something we all have to deal with.
What are the Gaps?
So now that we’ve covered my first impressions of the course, we’re going to move on to some of the gaps.
I was pleasantly surprised to find very few gaps in the course. Foundations has all of the web dev fundamentals covered. If I was forced to pick a gap, I think the obvious ones are the lack of data structure and algorithms content.
A decent resource here is a book called “Cracking the Coding Interview“. It gives you a very quick rundown of various data structures and algorithms and how to use them effectively in coding interviews and the real world.
The foundations also lack advanced content regarding the CLI, Git and CSS frameworks like Tailwind CSS, Sass, or Chakra.
I think this is intentional in order to avoid overwhelming you. But if you’re ready for it, I think taking a deeper look at some of these technologies is a good idea.
For the CLI, I recommend checking out something called Oh My Zsh. It’s something that I use every day in my terminal and it provides really cool features like plug-ins, themes, and even auto completions for git, rails, and much more.
There are a ton of Git GUI options in the link below.
As far as git is concerned, I was surprised to see them show you just the cli and not any git GUIs. A git GUI is simply an application that lets you use git through a visual interface instead of the CLI.
I’m a big fan of the CLI, but if you’ve ever come across a painful merge conflict, you’ll know that fixing it in a git GUI is much easier than the command line. I highly recommend you check them out if git is giving you a headache.
As for CSS frameworks, I’m a big fan of Tailwind CSS. While, I don’t think it’s necessary for beginners to take a look at just yet, if you’re ready to level up your CSS, I recommend you check it out.
The TLDR is that Tailwind is a bunch of pre-defined CSS classes. To use them, you just add them to the style attributes of your html tags. It’s like legos for CSS.
Trust me, once you start using it, CSS becomes much more delightful to use. Just make sure you have your CSS fundamentals down before you start reaching for a tool like this.
Is it Worth it?
It’s now time to answer the big question…Is the Odin project foundations worth it?
The answer is a very strong YES, absolutely. It’s free, which is honestly incredible. I studied computer science at a four year university and didn’t learn most of these things in college. I learned most of these things on my own, at internships and jobs.
Seeing this all be presented in a nice little package is pretty awesome. And what is even better is that the material is constantly being updated, since the course is open source. Seeing arrow functions and default parameters be presented in the javascript sections was really encouraging. It shows that the maintainers are keeping the content updated with the latest standards.
What’s cool about the course too is that it has a pretty vibrant discord community. I see a lot of people encouraging each other and motivating each other to stick to it. If you’re curious about web development and would like to give it a try, I highly encourage you check TOP out.
In a follow up post, I will be discussing the second half of the course, which is the full stack track. I hope to see you again soon
The post Sr Dev’s Thoughts on The Odin Project (Part 1) first appeared on 💻 Web Dev With Seb.
Top comments (0)