Why learn Web Development?
The main reason I would suggest starting with Web Development over something like video game development or desktop application development is because it's easier. At least, that's my opinion. Web development doesn't require a ton of specialized tools to get started. Also, it's what I know, so I'm sure there is a lot of personal bias in that suggestion.
The basic structure of the syllabus is to learn the following in order:
- Basic HTML and CSS
- Node School
- Source Control Detour
- Command Line Detour
- Full Stack Development on AWS
Basic HTML and CSS
Before you can do Web Development you need to know the basics of HTML and CSS. I would suggest doing at least one, but preferably both of the following courses:
The next step is to familiarize yourself with NodeSchool. I highly recommend going to a NodeSchool event in your area. You could do it yourself, but the event is a great experience. I will probably write up a separate "getting started with NodeSchool" post because looking at the instructions I could see how they might be daunting to a complete newbie. When you get Node.js, NPM, and Nodeschool all installed start with the some modules.
- Nodeschool js-best-practices module
Source Control Detour
Once you start developing you're going to want to store your code someplace safe. It's time to spend a little time learning git.
- Sign up for GitHub
- Also sign up for Bitbucket
- Play around with both Github and bitbucket and see which you like better, but keep both accounts, they are free.
- Code Academy git course
- Nodeschool git-it module.
- Start storing all your code in git and get in the habit of practicing good source-control practices.
Command Line Detour
At this point I suggest you take a quick detour to learn your command line utilities a little better. This is completely optional, but I think it's worth it. Hopefully you're already on a Unix based system of some sort. If you're developing on Windows there is a new (as of 2016) bash "Windows Subsystem for Linux" that you might want to try. I have not tried it. I would recommend learning the basics of VI and Bash through the following courses:
- The first level of VIM Adventures. Don't pay for the next levels unless you really want to.
- Open VIM tutorial
- The Nodeschool learnyoubash module
- Code Academy React 101
- Code Academy React 102
- The Nodeschool learnyoureact module
- The Nodeschool thinking-in-react module
Now you have a solid understanding of the Front-End. Let's switch to the Back-end and learn Node.js, NPM, and related technologies.
- Familiarize yourself with Node Version Manager
- NodeSchool learnyounode module
- NodeSchool how-to-npm module
- Coursera Full Stack Course
At this point you know a lot, and I would suggest taking deeper dives into some of the NodeSchool modules.
- Finish the NodeSchool core modules
- NodeSchool bug-clinic module
- NodeSchool promise-it-wont-hurt module
- NodeSchool async-you module
- NodeSchool lololodash module
- NodeSchool test-anything module
Full Stack Development on AWS
Once you've done all this, it'll be time to start putting these sites you're able to build into the wild. At this point it'll be time to learn all about web hosting and I suggest learning Amazon Web Services and how to host your front-end site on S3, communicating to Node via API Gateway and Lambda. I don't know of any tutorials on how to do all that, so maybe I'll write one up. By the time you get that point in the syllabus maybe I'll have it done.
If anyone actually goes through this course I'd love to have your feedback. Let me know how it goes!
I have a newsletter...
Many of my posts end up in Digital Ambit's monthly newsletter. It is the best way to keep up with what Dagny and I are doing in the business world. I appreciate your support and will only send you things we think are valuable.