(As per the rules, can't have more than 5 links per post, so you'll have to search based on my mentions. sorry!)
Happy New Year Everyone!
Last week, I asked the community if you'd like to see a complete guide to becoming a full stack developer (see post here). There was enough interest so here it goes:
WHAT IS THIS GUIDE ABOUT?
The target of this guide is to provide you actionable information; that is, what course to do and in which order. No more wasting time searching for a course, downloading it only to find out it's a waste of time. There are so many instructors online pretending to teach you something but majority of these people don't have enough substance to back up their "teacher" claims. Their instruction is mediocre, their teaching style awful and some of them don't even know the topic themselves. Unfortunately this is much more prevalent in technical education, where anyone claiming to be a "pro in the industry" records a course regurgitating the documentation of a library, calling it the Best Course To Become X. No thank you!
WHO AM I?
Like I said in my previous post linked above, I went to a top 3 coding bootcamp program in the US and have been working as a full stack developer since early 2020. I am by no means an expert, but what you and I have in common is that I have spent countless hours learning through tutorials and one thing I hate the most is having to waste time searching for the best course for that topic. This post is my way of helping the community here so that you can get up & running fast and learn what's important and working in the industry.
WHAT TO EXPECT FROM THIS GUIDE?
Don't expect to magically become a web developer by just going through the courses mentioned here. Programming is much more than just writing lines of code in a text editor. It's solving problems via logical thinking (and much more, sure). Now say it after me: CODING IS SOLVING PROBLEMS VIA LOGICAL THINKING. If you don't get this part, then you are going to have a tough time. But what I even mean by that!!?
You see, people get stuck in something called "". The reason that happens to you? Well, I don't know. But it happens to me when I focus too much on what the instructor is doing, rather than doing it myself. To give you an example, when I was learning learning JavaScript through a Udemy course, I would watch the instructor and copy them, paying attention to the syntax (and not the logic) and the code worked. But when it came to doing a simple problem by myself, I would have no idea what to do. I soon realized that I already knew the syntax, what arrays did etc., but I wasn't using my own brain to come up with a solution. Time for a change then! I started paying attention to the problem itself and tried to solve it before looking at the solution. This forced my brain to think how I could solve it, write it in plain English and then actually solve it. Then I would go back and compare my solution with the instructors'. Yeah hard work, I know. It's meant to be.
First lesson for you, watch these talks:
These might not make sense right now, if you have just started your programming journey. But keep coming back to them later throughout your journey and you'll start to understand more and more. Now let's begin with the premise of this post.
STARTING OFF RIGHT:
Let's understand what web development actually is. A lot of people equate it to software development, that is, software for your windows/macos like microsoft word, or making games, or developing native iOS/Android apps etc. It most definitely is not (although the lines between those things have definitely been blurred thanks to the good ol' technology). In this guide we will focus on learning the development of websites, not software, not games, not apps, but websites, much like the one you are currently on. So, let's understand Web Development from a bird's eye POV. Go watch this excellent guide by Brad Traversy:
Before getting into actual courses: Always remember that you only learn something when you do things yourself, not by following the instructor line by line.
1. WEB DEVELOPMENT INTRODUCTION:
In my opinion, there is only one person online that has both the credentials and the know how to gently introduce us to web dev and by the end make us good at it, and that is Colt Steele. His course was completely redone in October 2020 and includes everything you need to know. The only thing that's missing is JavaScript frameworks or libraries (like React, Angular, etc.), but that is intentional. You see, depending on where you are, the companies hiring developers my use one technology over the other (for example, in my region, we have much more React jobs over Angular). So you get to pick and choose what you'd like to do. So here is the course:
Supplemental Practice projects: While not absolutely essential but highly recommended. The goal here is to get you to start building things on your own with minimal help from the instructor, but the instructor is there only if you need the help. Pick one and run with it:
That's it, You are officially a Full Stack Web Developer . Great Job! But we are not done just yet. It's time to learn a few more things.
2. THE COMMAND LINE & FRIENDS:
You have reached an important milestone. Congrats on your success so far! Now it's time to get out of the beginner mindset and start thinking like a professional developer. The activities laid out here won't take too long, but are absolutely necessary for your success in a workplace. Don't worry though, this part is not that hard. Let's get some quick wins, shall we!?
Now it's time for your to shine. Look up simple portfolio designs and code one for yourselves. Include in your portfolio all of the projects that you feel proud of and host it using Github Pages. An easy way to host on github pages is by navigating to your portfolio github repo -> settings -> scroll down to github pages section and select "master" branch under the source section and hit save.
Pro tip: You can post your portfolios on reddit (r/learnprogramming, r/learnjavascript and many others) and politely ask people for feedback.
Believe it or not, you are now ready to start applying for freelance jobs. So go ahead and try making websites for your mates, family and anyone around you. Better yet, go to your local businesses and ask if they need a website done. Do the work and add it to your portfolio.
That's it for now, I will post more information soon.
Edit: Fixed some typos
Happy New Year Everyone!
Last week, I asked the community if you'd like to see a complete guide to becoming a full stack developer (see post here). There was enough interest so here it goes:
WHAT IS THIS GUIDE ABOUT?
The target of this guide is to provide you actionable information; that is, what course to do and in which order. No more wasting time searching for a course, downloading it only to find out it's a waste of time. There are so many instructors online pretending to teach you something but majority of these people don't have enough substance to back up their "teacher" claims. Their instruction is mediocre, their teaching style awful and some of them don't even know the topic themselves. Unfortunately this is much more prevalent in technical education, where anyone claiming to be a "pro in the industry" records a course regurgitating the documentation of a library, calling it the Best Course To Become X. No thank you!
WHO AM I?
Like I said in my previous post linked above, I went to a top 3 coding bootcamp program in the US and have been working as a full stack developer since early 2020. I am by no means an expert, but what you and I have in common is that I have spent countless hours learning through tutorials and one thing I hate the most is having to waste time searching for the best course for that topic. This post is my way of helping the community here so that you can get up & running fast and learn what's important and working in the industry.
WHAT TO EXPECT FROM THIS GUIDE?
Don't expect to magically become a web developer by just going through the courses mentioned here. Programming is much more than just writing lines of code in a text editor. It's solving problems via logical thinking (and much more, sure). Now say it after me: CODING IS SOLVING PROBLEMS VIA LOGICAL THINKING. If you don't get this part, then you are going to have a tough time. But what I even mean by that!!?
You see, people get stuck in something called "". The reason that happens to you? Well, I don't know. But it happens to me when I focus too much on what the instructor is doing, rather than doing it myself. To give you an example, when I was learning learning JavaScript through a Udemy course, I would watch the instructor and copy them, paying attention to the syntax (and not the logic) and the code worked. But when it came to doing a simple problem by myself, I would have no idea what to do. I soon realized that I already knew the syntax, what arrays did etc., but I wasn't using my own brain to come up with a solution. Time for a change then! I started paying attention to the problem itself and tried to solve it before looking at the solution. This forced my brain to think how I could solve it, write it in plain English and then actually solve it. Then I would go back and compare my solution with the instructors'. Yeah hard work, I know. It's meant to be.
First lesson for you, watch these talks:
- The Art of Code - Dylan Beattie on Youtube channel NDC Conferences
- How To Think Like A Programmer on Youtube channel Coding Tech
These might not make sense right now, if you have just started your programming journey. But keep coming back to them later throughout your journey and you'll start to understand more and more. Now let's begin with the premise of this post.
STARTING OFF RIGHT:
Let's understand what web development actually is. A lot of people equate it to software development, that is, software for your windows/macos like microsoft word, or making games, or developing native iOS/Android apps etc. It most definitely is not (although the lines between those things have definitely been blurred thanks to the good ol' technology). In this guide we will focus on learning the development of websites, not software, not games, not apps, but websites, much like the one you are currently on. So, let's understand Web Development from a bird's eye POV. Go watch this excellent guide by Brad Traversy:
- Web Development In 2021 - A Practical Guide on Youtube channel Traversy Media
Before getting into actual courses: Always remember that you only learn something when you do things yourself, not by following the instructor line by line.
1. WEB DEVELOPMENT INTRODUCTION:
In my opinion, there is only one person online that has both the credentials and the know how to gently introduce us to web dev and by the end make us good at it, and that is Colt Steele. His course was completely redone in October 2020 and includes everything you need to know. The only thing that's missing is JavaScript frameworks or libraries (like React, Angular, etc.), but that is intentional. You see, depending on where you are, the companies hiring developers my use one technology over the other (for example, in my region, we have much more React jobs over Angular). So you get to pick and choose what you'd like to do. So here is the course:
- The Web Developer Bootcamp 2021 - Udemy | Tutflix Link
Supplemental Practice projects: While not absolutely essential but highly recommended. The goal here is to get you to start building things on your own with minimal help from the instructor, but the instructor is there only if you need the help. Pick one and run with it:
- JavaScript30.com (Free course, just signup on the website) - by WesBos
- 50 Projects In 50 Days - HTML, CSS & JavaScript - Udemy | Available on TutFlix
- 20 Web Projects With Vanilla JavaScript - Udemy | Tutflix Link N/A
- The Creative Javascript Course - developedbyed.com | Available on TutFlix
- 10 JavaScript Projects in 10 Hours - Coding Challenge - Youtube Channel: Florin Pop
- Build 15 JavaScript Projects - Vanilla JavaScript Course - Youtube Channel: freecodecamp.org
That's it, You are officially a Full Stack Web Developer . Great Job! But we are not done just yet. It's time to learn a few more things.
2. THE COMMAND LINE & FRIENDS:
You have reached an important milestone. Congrats on your success so far! Now it's time to get out of the beginner mindset and start thinking like a professional developer. The activities laid out here won't take too long, but are absolutely necessary for your success in a workplace. Don't worry though, this part is not that hard. Let's get some quick wins, shall we!?
- The All Elusive Terminal: Yes we leaned about the terminal and how to use it in the Colt Steele course, so this is just a refresher. Go watch this quick video Terminal Commands for Web Developers by Steve Griffith on Youtube..
- Git & Github: The prodigal son returns! Colt Steele's Learn Git In 15 Minutes on Youtube covers the amount of git and github you need to know at this time. Follow that video with Git Tutorial for Beginners - Git & GitHub Fundamentals In Depth on Youtube by Tech With Tim. From now on, whatever project you work on (whether your own or a tutorial project), consider using git to source control it. This is very important as it shows employers your history and how active you have been in development.
- How the web works: This may not seem important, but it really is. As a beginner applying for a junior position, you may be asked about these fundamental concepts. Check these videos out How The Web Works - The Big Picture by Academind on Youtube & HTTP Crash Course & Exploration by Traversy Media on Youtube.
Now it's time for your to shine. Look up simple portfolio designs and code one for yourselves. Include in your portfolio all of the projects that you feel proud of and host it using Github Pages. An easy way to host on github pages is by navigating to your portfolio github repo -> settings -> scroll down to github pages section and select "master" branch under the source section and hit save.
Pro tip: You can post your portfolios on reddit (r/learnprogramming, r/learnjavascript and many others) and politely ask people for feedback.
Believe it or not, you are now ready to start applying for freelance jobs. So go ahead and try making websites for your mates, family and anyone around you. Better yet, go to your local businesses and ask if they need a website done. Do the work and add it to your portfolio.
That's it for now, I will post more information soon.
Edit: Fixed some typos
Last edited: