01.12.2022
There will be a short and a long version. The short is for those who only think of becoming a web developer and the long version is for those who want to start first thing tomorrow in the morning.
If you're here there is no need to tell you why to do it.
- In my opinion the easiest way is to learn front-end development because it's the most visual and friendly way to do it.
- It takes about 4 months of 1-1.5 hours/day of studying without breaks or phone or etc to get an internship(if there are any available in that period), or 6-8 months to get a junior job. You have to study at least 5 days/week or your brain will forget what you learned in the past week.
- All you need is basic english, any 400 euros+ laptop(the bigger the screen the better), a monitor(optional), freeCodeCamp.org and some Udemy courses(list in long version).
- My feeling is that at least 90% of those who start never finish. It's not a hard thing to do. Most people lack discipline. I would say that this journey is more a discipline test than a study program.
For me it took 9 months do to it all the way to job level and a little bit beyond, it was the easiest thing to study and the hardest test of discipline and patience I've ever had. Zero help, zero guidance, with no one to talk to about it, and a lot of "barking at the wrong tree". Because I remember the feeling, I wrote this.
- Budget: about 60 euros.
- You'll learn here much much more than any on site, 5 months, 4 hours/week, programing school that costs 500-2000 euros. They move so fast and they teach so bad that 90% of students get out the same way they got in, knowing nothing. What they do in those schools is that a programmer with some years of experience at the job and maybe 0 experience teaching keeps a lecture about something and then tells you to learn 2-3 hours/day at home. And they are right! If you learn 2-3 hours/day at home for 5 months you will for sure become a web developer. But why pay huge amounts of money when you can do it for 60 euros and be lectured by the best in the world ?
- My advice, is to start learning with this guide, give it 3-4 months and THEN go for clarifications at those schools if you really really want to. They are ok if you already know the information and you want to fix it in your head, but they are not efficient in teaching from scratch.
- And their diploma has 0 value. It's only about what you know.
- This is just my opinion, at the end of the day it's your time and money. You do as you wish with it!
Let's start with false myths:
What is web development you ask ?
- Web development means making websites or web applications. Facebook is a website, also a simple blog can be a website. This is the biggest market in the world in programming and this is what you will learn.
- I don't know why but collage students in Romania don't learn a lot about web development. And that's why this is the best spot for you. In the interview they can be as prepared as you, or even less prepared. They do know a lot of things well though. But web development it's not one of them.
Before you jump into learning, you first must understand what are you going to learn, and what are you going to do for the rest of your life if you make it. So watch all of this:
- This videos take so much space here but I think they're worth it. Let's continue.
Useful dictionary:
My personal advice for you:
- It's just like learning french or english. You must write the words and the signs, speak them, understand them, make sentences and only at the end be able to make an essay. You will most likely never be fluent, and that's ok. You just need to make sens when you use it.
- At first the words and signs look weird and you move really slow so it's important for you to practice so you must do whatever they do in their videos. After awhile you will understand everything they do and be able to only re-watch videos on speed to remember something. You must be able to explain outloud a concept that you've learned and don't sound stupid when you do it. They speak in english so you can try to explain things in your native language (assuming that's not english) so you make sure you're not only repeating what they said like a robot.
- For me it took 4-5 months until I became so familiar with all of the syntax and the specific words that everything felt natural and "logic". I still remember that after 3 months I was desperate because nothing made any sense and I thought that I was never going to understand it. For me quiting was not an option because I was willing to put in whatever it took but that feeling made me later understand why so many people just give up after some time.
- 5 hours of learning in a day is worse than 45 minutes of learning everyday for 5 days. Our brain can fully concentrate in a day for about 2 hours. The rest is at 30-50% or autopilot. This was an important lesson I learned from Cal Newport's Deep Work. Even more than that, the human brain is very adaptable. But for it to adapt to a new way of thinking it needs constant exercise. In everything you do in life, if you want to get better in the fasted way possible, you must insert it into your daily routine.
- You must learn for at least 5 days a week. But if for some reason you have a very busy week and don't really feel like it, just make sure that you give your brain the daily dose. Just watch a 10 minute video on youtube. It's important to never break the habit. I used Steve Griffith videos on youtube for this. The ideal day must be at least 40-60 minutes (the higher the better) of net time of learning. Do whatever you like. Long sessions with long brakes or short ones with short breaks.
- If you get blocked, figure it out. An important attribute of a programmer is the ability to find an answer. Even if you don't figure it out, the simple exercise of trying is preparing you for your job. Learn how to search on google or youtube, how to find keywords in a page using ctrl + f, how to formulate the question. You must learn how to learn. The art of figuring it out includes searching online or asking a friend. It doesn't matter what it takes, just figure it out.
Be organised!! This is a skill that takes you to another level in life. I have all my life saved in Notion. From learning notes, to monthly spendings, to daily check lists. It's a free and awesome app for all kind of notes. Watch this to learn how to use it. 100% worth it. And also subscribe to Ali. His channel in great.
- A lot of talking and not a single thing to learn. Ok let's start the program:
1. Make and account on FreeCodeCamp and start at "Learn HTML". It's free. Stop after "Learn Basic CSS".
2. Your first Udemy course is The Complete Web Developer in 2023: Zero to Mastery. Start from lesson 1 and stop after "Career Of A Web developer"
3. Your next course is Build Responsive Real-World Websites with HTML and CSS. Stop after "Layouts: Floats, Flexbox, and CSS Grid Fundamentals". This is the minimum. If you want to go deeper(and I recommend you to spare two more weeks and do it) then stop after "Omnifood Project – Responsive Web Design" but you can skip the "Web Design Rules and Framework".
4. Back to FreeCodeCamp, start with Basic Javascript, stop after ES6. You don't need FreeCodeCamp after this but if you liked it a lot there are more things to learn there, maybe take a look.
5. And now we bring out the big guns. The Complete JavaScript Course 2023: From Zero to Expert!. Do all of it. This is going to be hard. This is the core of what you'll work with for the rest of your life. It's the most complete course there is. A masterpiece. And the instructor is one of the best in the world. After this one, you're ready for an internship or if you're lucky, a job. But I don't recommend a job at this point. You still need to build that base of knowledge. But online courses don't put food on the table so do as you wish.
You can skip: “Numbers, Dates, Intl and Timers”, ”Advanced DOM and Events”
Skip everything else at your expense. I can't guarantee you that you'll understand what comes next if you skip other parts of this.
I know it's a lot of hours but this course is really the only hard challenge to overcome in order to become a junior web developer.
6. Return to The Complete Web Developer in 2023: Zero to Mastery and continue. Stop after "FINAL PROJECT: SmartBrain Front-End".
7. Next one on the list is The Coding Interview bootcamp: Algorithms + Data Structures. You can stop after "Runtime Complexity in Practice - Fibonacci". This will test your javascript logical thinking. It's the most enjoyable course in this list. Fun and easy. The algorithms you see here are used all day at work and can be asked at the interview.
8. Start with Modern React with Redux [2023 Update]. Stephen Grider is one of the best for theory understanding. Do all of it. Some of the videos require multiple views. I recommend you don't skip a lesson without understanding it because nothing will make any sense shortly in this way. The course has been fully remade in the last part in 2022 and it's a masterpiece. It's about 30 hours but the content is incredible. He covers a lot of high end and modern topics.
9. Complete React Developer in 2023 (w/ Redux, Hooks, GraphQL). You can start at "Capstone Project: Intro + Setup". This course is hands down the one that will make you not only a junior developer, but a really really good junior developer and will build a base that will help you even when you have 2 years of experience. It has a lot of important concepts in it but it's hard, that's why it's at the end. This one made me realise I was just an unmade puzzle and put all the pieces in my head together. I think I watched it 3 times and everytime I learned something new. The reason why I made you do the Grider one first is because this course is not for absolute beginners in React.js.
This is it. You made it. You are now a great web developer. But I'm sorry to say that for at least the next 5 years you still have to learn things. If you stop learning you will forever stay a junior or best case scenario a mid developer. It would be a shame if you came this far only to miss greatness. Good luck on your journey!!
Disclaimer: All the resources I gave you above I tested on me on my journey. I did all of those + a lot more in about 9 months. After that, I made a path that I wish somebody gave me at the beginning because I wasted at least 3 months with poor resources. I invested about 30 hours in making this path make sense and be the fastest, cheapest and most perfect path there is out there.
After every technology learned (css, javascript, react), or even after every big chapter in any technology, I strongly suggest you to search on google or youtube for interview questions. Only when doing interview questions the information gets remembered perfectly. It will show you your weaknesses and where you need to improve yourself. It will also prepare you for your interview but if you finish all of these courses that interview will be the easiest thing in all of this process. I'll leave some resources here :
- Top 50 HTML Interview Questions and Answers in 2023
- Top 50 CSS Interview Questions You Should Prepare For In 2023
- Top 50 JavaScript Interview Questions You Must Prepare in 2023
- Top 50 React Interview Questions You Must Prepare in 2023
- Javascript Questions
- Front-End Interviews from FrontEndMasters
- ZeroToMastery Resources
Because I finished medical school and I have a passion for how the human body works, I'll give you here some tips on how to learn everything better and how to memorise everything much better. The information it's from the greatest Andrew Huberman, the most influential figure in the health community in 2022. I suggest you read all his newsletters articles because they are short and life changing. You won't be the same after those. Also start listening to his podcasts. Using the information he provides it's like living life with cheat codes.
- Here is the best resource you'll find out there for how to learn better: NEUROPLASTICITY SUPER-PROTOCOL
- But you can't learn well without a good night's sleep: Toolkit for Sleep
- The most important thing for learning after sleep is working out, here's how you do it 1 hour a day for the best results: Foundational Fitness Protocol
- If you struggle with the habbit of staying that 1-2 hours a day of learning programming: Build or Break Habits Using Science-Based Tools
- If you don't feel motivated enough to keep learning how to code: Tools to Manage Dopamine and Improve Motivation & Drive
- If you don't know how to make your workspace be more productive and you find yourself lose focus: 5 Science-Based Steps to Improve Your Workspace
I'm going to also leave here what I think are the best things to learn AFTER you get hired for you to become a better developer:
- Advanced CSS and Sass: Flexbox, Grid, Animations and More! : Only what you don't already know
- Clean Code : The quality of the code is something that will take years to develop. Here is some help
- React and Typescript: Build a Portfolio Project: Typescript is becoming a standard so it's best to know it
- Implement High Fidelity Designs with Material-UI and ReactJS: Material UI it's a great tool to build fast front-end components
- JavaScript: The Advanced Concepts (2021) : This will give you a great recap of all that you forgot and dive even deeper into javascript. Great great course
- Learning to Learn [Efficient Learning]: Zero to Mastery : Not web related but very well done
- Complete Web & Mobile Designer in 2021: UI/UX, Figma, +more : This is extra extra, maybe do it after 1 year of working or more but it will make you understand how a user wants a website to be delivered.
Now let's start the full stack journey of a web developer. I only recommend starting this after 1 year of working. After you learn this you will be able to make a website front to back:
- Node.js, Express, MongoDB & More: The Complete Bootcamp 2021 : The best course on Node.js for beginners
- MERN Stack React Node Ecommerce from Scratch to Deployment : Combine everything together
- SQL and PostgreSQL: The Complete Developer's Guide : Because the previous ones used a relational database(MongoDB), this course is a must for a full stack developer because it's about SQL databases, the second cool kid at the block
- The Complete Junior to Senior Web Developer Roadmap (2021) : It's hard to become a senior developer. Some never do. But here is a roadmap of what you need to pay attention to in the following years.
Never stop learning. Take one day at a time. Do what you do with passion. Focus only on the present and live your life. At the end of the day, nothing else matters