Courses and WebDev Material

Quick list of some of my favorites...

I hope someone will get some use out of this, because a lot of self-taught developers aren't sure where to start, or what path to take. Personally, I don't feel as though there is a singular "correct" path for developers. It ultimately depends on what your longterm goals are, and where your interests lie. I'll go over some of the more traditional routes (at least, from my perspective), and give some suggestions on courses and other materials that I have found to be useful.

Web Development Stacks

When referring to a "stack" in web development, we are speaking to the tools (markup text like HTML, and languages such as CSS and JavaScript) that are used to create web applications. Depending on the type of web apps you are looking to build will dictate what languages you will inevitably learn. A few of the more common stacks include:

  • Front End

    • Responsible for setup, styling, and the interaction that visitors have with the website. Basically, everything the visitor sees on your website.
  • Back End

    • Responsible for the server-side, deal with data, scripting and overall website architecture. A couple examples include logging in to a website, or purchasing items from an online store.
  • Full Stack

    • Responsible for both the client- and server-side, so these developers are utilizing a "full stack" of languages and frameworks that make up a website.

While there are a number of languages at a developers disposal, it is up to the developer to research and find the languages that best suits the needs of the project. HTML, CSS and Javascript are a solid foundations to begin with, especially for front end developers, whereas languages such as Python, PHP, and JavaScript are all used in back end. Many people are unsure of where to begin, so a great starting point has been FreeCodeCamp.

Free Web Development Resources

While not an exhaustive list of resources, these were some of the sites that I was drawn to for various reasons. Each have their limitations, but overall, these will help you get your feet wet in the world of web development. After that, it's up to you to decide where you want to go and what you want to build!

As a quick suggestion (and one that has been shouted around the interwebs since the beginning of time), once you learn a concept, don't learn anything new until you've built something using those concepts. It is incredibly helpful in terms of helping you retain that information. I have learned the hard way, by barreling through my full stack Udemy course, only to realize that halfway through, I had forgotten every basic principle that I had learned up to that point. So, now I have to go back and re-learn all of this over again. Don't make that mistake. It sucks. Enough with the "whoa is me" stuff. Here's the goods:

  • Free Code Camp - already mentioned above, but worth mentioning again. Updated regularly, and loads of courses from responsive web design, to Python, to Machine Learning.
  • Scrimba - One of my favorites, because it's interactive. Videos help explain the concepts, but then you also get a virtual sandbox to try out the concepts that were just taught in the videos. A pro membership is also available that provides a great frontend developer course (which I'm currently taking!), as well as access to their Discord group - a ton of great people willing to help.
  • Code Academy - Lots of free resources that are continually updated, and they also have paid tiers that give you access to a ton of other structured courses and offer certifications upon completion.

  • Udemy - A ton of coding courses, most of which cost anywhere from a few dollars, to $100+. You can filter your search results, however, to see free courses that they offer. They may not be as in depth as their paid courses, but it at least gives you a starting point if you are new to web development.

  • Codewars - Codewars offers cool coding challenges in their martial arts-themed site. As you progess through the challenges successfully, you earn higher rankings. They have just about every coding language you can think of, and when it comes down to it, learning to code is all about actually coding. Don't get stuck in tutorials, or watching YouTube videos.

Building Your Coding Skills

While it can be helpful to go through YouTube videos or tutorials to help gain insight into coding concepts, it's up to you to actually put those concepts into practice. Build stuff. Build anything. It doesn't have to be ground-breaking or change the world. It just has to allow you to mess around with the skills that you're currently learning. It does help to build something that you're interested in to help keep you motivated to finish the project. I've started a bunch of projects that I never finished because I never really had an interest to begin with. I guess that's part of the reason I wanted to start a blog - to help others avoid some of the mistakes that I've made along the way (even though I'm still new to all of this).

In any case, one of the best pieces of advice that I have seen, is "ABL": Always Be Learning (thanks, Danny Thompson!). There are so many different languages, so many different frameworks, that you have a nearly endless amount of tools at your disposal. I'm not saying you need to learn all of them, but at least learn what advantages those languages have, and how they might help you on your career path. For instance, learning MongoDB is probably not a good place to start for someone wanting to stick with frontend web development. But when you do find those languages that are a good fit for you, and the area you want to work in, dive in. And don't feel that just because you know the basics, you don't need anything else. Work on making yourself a better web developer every day. It doesn't have to be huge strides. Small improvements will add up over time, and it could get overwhelming to try to take on too much at once. Don't try to drink out of the fire hose. It's not worth it. Go code and keep after it, because it won't be too long before these new skills will change our lives for the better!