The Best Resources for Learning Web Development Online

a desk with a computer monitor showing html 5

There has never been a better time for learning web development online. The number of free resources for doing so is incredible. In fact, the sheer amount of material and sources available has become a problem in itself. Where should you go? What should you learn? What order should you learn it in? What are the best resources out there? This article will get you pointed in the right direction but first, we need to understand a couple of key concepts.

Web development can be broadly divided into two topics: front-end development and back-end development. Front-end development consists of the code that runs on the client device. IE, the computer, tablet, or smartphone that your users are physically sitting in front of. The core technologies of front-end development are HTML, CSS, and JavaScript but, that being said, front-end development can get pretty sophisticated and many projects will bring in additional technologies like Bootstrap, jQuery, Angular, React and more. It should be noted that most of these additional technologies are based on JavaScript. This is because JavaScript is the only programming language that browsers can currently understand (HTML and CSS are not full-fledged programming languages.)

Back-End development is working with the code that runs on your server and also anything to do with the database your application’s data is stored on. While JavaScript can run on the server as well (via Node.js) servers are not limited to any one particular language. Servers can and do run C#, Java, Python, Ruby and other languages and these languages usually interact with some sort of framework that speeds server-side development. Databases are usually based on SQL, though document databases like Mongo are also in use.

Learning the Front End

Thankfully, there is an excellent resource for learning front-end development in Free Code Camp. Free Code Camp has a large library of introductory exercises supported by video resources and an active community. All you have to do to get started is create a free account and jump in. The Free Code Camp curriculum is deep. Expect to spend four to six months earning your front-end certificate there.

Where to go if you get stuck

When you first start coding you’re going to get stuck a lot. Don’t worry, it happens to everyone. Some good places to look for answers are the Mozilla Developers Network, W3 Schools, and Stack Overflow. Free Code Camp also has an active forum for newer developers.

YouTube also has a surprising amount of video resources available for developers, including this playlist.

Learning the Back End

You can go a lot of different directions learning the back end. Here we’ll look at three separate paths: one for Node.js, one for Ruby on Rails, and one for C# and .Net development.

Note, you don’t need to learn all three! Rather, you should choose one and get good at it before moving on to any others. All of these languages and frameworks perform many of the same functions. Which one should you pick? That’s hard to say. Node.js is the hot, new language but there is more demand for Rails developers in many areas. C# and .Net have the most demand overall and many enterprise level applications run on that framework. Also, different people might be drawn to different frameworks based on personal preference. If you’re having a hard time deciding, do some research in your local area and see what employers are hiring for. Learn that.

Learning Node

If you want to go with the hot new paradigm, try Node.js. Node.js is a framework that uses JavaScript on the server. This wasn’t possible for many years.

Node has a modular ecosystem and so many, well, modules are required to make it work as a web server. One common combination is to use Node.js, Express.js, MongoDB, and Angular.js together in what is called the MEAN stack.

Where to learn it

You can actually just stick with Free Code Camp, which continues on past the front-end certificate and into a Node-based curriculum.

Learning Ruby on Rails

Ruby is a very expressive and readable language with a loyal following. Rails is a framework that allows Ruby to be used on the server. Rails is based on an idea called “convention over configuration” Convention over configuration means you learn the Rails way of doing things and do your best to conform to that standard. The benefit of this is that Rails is easier to learn and make functional than a more free-form system. There are pros and cons to this approach but a lot of people think it is a big strength of Rails development.

Where to learn it:

The Odin Project is a great site for learning professional-level RoR skills. There is some overlap with Free Code Camp material at TOP but it shouldn’t be hard to navigate around.

Learning C# and .Net

C# is a compiled programming language developed and supported by Microsoft. It is open-source and free to use. The .Net framework is a robust, mature and powerful framework similarly developed and supported by Microsoft. It has also been made open-source.

C# and .Net are true enterprise grade development solutions and are used by many large organizations. They aren’t the popular choices for start-ups these days but the total number of jobs available in .Net is higher than either Node or Rails in many areas.

Where to learn it:

You’ll need the Visual Studio IDE to do any serious .Net development.

Then you’ll want to learn C#. Try this tutorial to get started.

Next, learn the basics of .Net MVC

After that, learn Entity Framework, the framework that is used to talk to databases in .Net.

Learning Databases

Although you’ll learn plenty about databases while studying any of the back-end links above, it never hurts to go a little deeper into such an important topic.

Learning SQL

SQL is the language behind most relational databases. If you’re not sure which database language to learn, learn this one. Codecademy has a series of SQL tutorials. There are many flavors of SQL including MySQL and PostreSQL but the core syntax of these flavors is similar.

Learning Mongo

MongoDB is the most popular of the document or no-SQL database languages. It is most commonly used with Node.js. You can learn all about it at the Mongo University.

Going Deeper

As with any kind of technical skill, there is always more to learn in web development. Here is a link to a course from Google that goes into making fast, modern, web apps using best practices and a few common tools. It uses Node.js but could probably be adapted to any back-end language and framework.

Coding Bootcamps

Coding Bootcamps are on the rise as an alternative to a formal university education in computer science. They are quicker and cheaper than a college education but aren’t as in-depth.

So should you choose a coding camp over a traditional degree program? Not necessarily. If you’re college-aged and have an opportunity to attend a good university or state college you probably should do that. However, if you’re in different circumstances, coding boot camps could be a valid choice.

Hack Reactor is usually considered one of the best coding camps in the world. They have an admittance test that can be pretty tough, but they do have a free prep course for this exam. This prep course would be something you’d do after earning the FCC front-end certificate or getting a good foundation in JavaScript elsewhere.

Other boot camps should be researched before joining as there are good ones (Flatiron, Hackbright, Coding Dojo, several others) and not-so-good ones that I won’t name here. You can start your research at Course Report.

One last thing to remember

Something to keep in mind as you begin is that coding is hard. Learning to code can be very hard, regardless of what classes you take or what resources you use. The most important trait of a self-taught developer is persistence. Expect to be stuck. Use the online resources available to you, and try to get involved with a community of other learners. Those in the San Luis Obispo area should look into our group, CodeSLO. There are other groups in other cities. If you don’t find one, start one.

Good luck and happy coding!

 

Sharing is caring...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on Reddit

Leave a Reply

Your email address will not be published. Required fields are marked *