I have been working on the Odin project for over two months. It took me about 1.5 months to finish its foundation part. I am a non-tech student and I started my exploration into Computer Science during the pandemic. Since I didn’t want to spend any money on learning (and maybe you don’t have to!). I concluded that the two free and great resources for learning web development were The freeCodeCamp and The Odin Project.
freeCodeCamp!
I first started with the freeCodeCamp and as I was progressing I felt that I keep forgetting elements and tags, I used to make notes and try to memorise the HTML tags and attributes, but it turned out you don’t have to.
STOP DOING THAT IF YOU ARE STILL DOING IT! Because in the real world, you can always look them up whenever you need them.
the FCC wasn’t for me as it didn’t feel like much hands-on experience as you have to code in that small block of an area its UI gives - no offence, that feature has its use and I am a fan of FCC myself - but I wanted to create new files every time I start as I hope the world of the devs are. I wanted to grind.
Quincy Larson (founder) recently published a whole book for free in freeCodeCamp, How to Learn to Code & Get a Developer Job in 2023 [Full Book].
Don't forget to check out his valuable weekly newsletter too.
The Odin Project
So I started looking for the other option: The Odin Project.
The Odin Project is another open-source project which is focused entirely on Full-Stack web development. It is quite long - takes about 6-8 months to complete and has two paths: the JavaScript way and the Ruby way. And there is a vibrant community of it in discord and other social networks where people come together to study, share their stories and help each other.
Topics covered: The Odin Project foundation
It kickstarts with the introduction to the course.
-How this course works and introduction to web development
-Mindset and motivation and how to ask for help
-How to work with the community
And teaches you about some prerequisites
-Computer Basics
-How does the web work?
-Text editors and Command Line basics
-Setting up Git
Focuses some more on Git
-Introduction to Git
-Git Basics
HTML Foundations
-Elements and tags
-HTML boilerplate
-Working with tags
-Lists
-Links and images
-Commit messages
CSS Foundation
-Inspecting HTML and CSS
-The Box model
-Block and Inline
Flexbox
-Introduction to Flexbox
-Growing and shrinking
-Axes
-Alignment
JavaScript Basics
-Fundamentals part 1 & part 2
-JavaScript developer tools
-Fundamentals part 3
-Problem-solving
-Understanding errors
-Clean code
-Installing Node.js
-Fundamentals part 4
-DOM manipulation and events
-Fundamentals part 5
And it ends with
-Choose your path forward
It asks you to choose your path - whether you want to learn JavaScript or Ruby
Projects you get to work on!
A Recipes page
A Landing page
A Rock Paper Scissors game
Etch-a-sketch (a form of painting tool)
A Calculator
THE COOL THINGS you get to learn
The COOL THING (or 'hard' for some people) about it is that it gives a lot of material to read as an assignment. You are sure to be reading a lot of documentation - it can be overwhelming for a beginner, but I dealt with it by taking breaks, watching videos and then coming back again. After a good amount of modules, you kinda end up enjoying reading documentation and appreciating the beauty of it too. You feel like a superhuman who can learn stuff just by reading documentation.
It encourages you to use push projects in GitHub using CLI (command-line interface) and build them in Linux or macOS. Which is something we’ll be doing a lot in future. It gives you the knowledge and prepares you to start from scratch.
It introduces you to tools that make your life as a developer easier. Cheatsheets, roadmaps, and tools like Emmet - make development faster.
The most important thing I learned from the Odin Project is the strength to be consistent. That it’s not a sprint but a marathon and maintaining your pace is important as you can easily burn out and quit. Taking breaks, and celebrating small wins are important to be inspired and to be consistent.
Where am I right now?
I am working my way to the Intermediate HTML and CSS part of it. Designing forms, learning about SVGs and positioning in CSS. And I am starting to write blogs, connect with people and learn about Open-Source.
And remember -
To be great, do good things repeatedly.
Would you like to suggest some corrections to this blog? Or maybe share some good resources for learning? Connect with me on Twitter or LinkedIn!
See you ahead in the future :)