Learn Web Development For Free

I created this page to help friends that were recently impacted by a government shutdown and wondering how they could get into a different line of work.

I’ve been developing for the web for well over 20 years now, and have never been unable to find work. I always considered computer programming a trade that allows anyone (that is willing to put in some time and effort) to lead a nice, comfortable life.

I’d never recommend anything to you that I wouldn’t recommend to my friends or family members.

Always use free resources before you spend any money.

Launch School Open Book Shelf

https://launchschool.com/books/

Free Online Books that teach topics such as:

  • Introduction To The Command Line
  • Introduction To Git and GitHub
  • Introduction To Programming With Ruby
  • Object Oriented Programming With Ruby
  • Core Ruby Tools

and many others…its good stuff.

Learn Enough Society

https://www.learnenough.com/courses

A collection of materials created by Machael Hartl (the developer of the Rails Tutorial).

Technical sophistication is the goal. Go here and learn stuff. It’s awesome.

Developer Fundamentals (Learn Enough Society Website)

Start with the Developer Fundamentals track at Learn Enough. After knocking this one out, you can just keep pressing all the way through application development.

Getting through this material is a great first step before tackling the Rails Tutorial.

This is the place to start learning technical sophistication. Learn Enough Developer Fundamentals covers three essential tools for the aspiring computer magician: the Unix command line, text editors, and version control with Git. After this level, you will be in a position to collaborate with millions of developers around the world, even if you’re not (yet) a developer yourself.

Free Code Camp

https://www.freecodecamp.org/

I always recommend that people start with Free Code Camp to see if you are even interested in web development. Even if you don’t want to work through all of the modules, completing a few of them will get you prepped for taking classes on Coursera and EdX.

A big upside of Free Code Camp is that you don’t have to install anything on your computer to get started – and it’s free.

From the Free Code Camp site:

“Our mission: to help people learn to code for free. We accomplish this by creating thousands of videos, articles, and interactive coding lessons – all freely available to the public. We also have thousands of freeCodeCamp study groups around the world.”

I’ve used Free Code Camp over the years and it’s an incredible resource to learn coding and web development.

One really cool thing about Free Code Camp is that as you work through the lessons, you can eventually be partnered up with a non-profit to work on their site. This work is on a strictly volunteer basis (you aren’t paid), but you build up your skills in a real world setting, and get experience that is valuable to employers. You’re learning to code and building your portfolio and resume at the same time.

You only need a high speed internet connection to get started with Free Code Camp. Most everything is done in your browser.

Rails Tutorial

https://www.railstutorial.org/book

I’ve worked through the Rails Tutorial my Michael Hartl a few times over the years, I love it. It is kept up to date and teaches you so much more than just Ruby on Rails.

You can use the Cloud 9 IDE which is a cloud hosted dev environment. You will need a free AWS account for this, and signing up for AWS requires a credit card. Alternatively, you can install a Rails development environment on your local machine. There are references in the tutorial to get you up and running.

From the site:

“Welcome to Ruby on Rails Tutorial: Learn Web Development with Rails. The purpose of this book is to teach you how to develop custom web applications, and our tool of choice is the popular Ruby on Rails web framework. In addition to focusing on general principles of web development (rather than on Rails specifically), the Ruby on Rails Tutorial teaches the broader skill of technical sophistication (Box 1.1), which is a principal theme developed by the Learn Enough to Be Dangerous tutorials.1 In particular, the Learn Enough introductory sequence consists of a series of tutorials that are suitable as prerequisites to the Ruby on Rails Tutorial, starting with Learn Enough Command Line to Be Dangerous,2 which (unlike the present tutorial) is aimed at complete beginners.”

Google Developers

https://developers.google.com/web/

Web development info from Google.

MDN Web Docs

https://developer.mozilla.org/en-US/

The new home of the Mozilla Developer Network, rebranding or whatever. Both this and the Google Developer site are awesome.

Stack Overflow

https://stackoverflow.com/

Any time you have a question about anything related to development, regardless of platform or language, head to Stack Overflow and start searching.

12 Factor App

https://12factor.net/

The twelve-factor methodology can be applied to apps written in any programming language, and which use any combination of backing services (database, queue, memory cache, etc).

Make sure you read this, even if you don’t understand it all now.

Introduction to Web Development (Class)

University of California Davis (via Coursera)

https://www.coursera.org/learn/web-development

This course is designed to start you on a path toward future studies in web development and design, no matter how little experience or technical knowledge you currently have. The web is a very big place, and if you are the typical internet user, you probably visit several websites every day, whether for business, entertainment or education. But have you ever wondered how these websites actually work? How are they built? How do browsers, computers, and mobile devices interact with the web? What skills are necessary to build a website? With almost 1 billion websites now on the internet, the answers to these questions could be your first step toward a better understanding of the internet and developing a new set of internet skills.

By the end of this course you’ll be able to describe the structure and functionality of the world wide web, create dynamic web pages using a combination of HTML, CSS, and JavaScript, apply essential programming language concepts when creating HTML forms, select an appropriate web hosting service, and publish your webpages for the world to see. Finally, you’ll be able to develop a working model for creating your own personal or business websites in the future and be fully prepared to take the next step in a more advanced web development or design course or specialization.

Coursera

Introductory Web Development Courses on Coursera

EdX

Introductory Web Development Courses On EdX

Free Web Development Tools

The tools listed below are free for individuals/small teams, or free forever. If you see a problem, just let me know and I’ll make a note of it here for others.

Sublime Text

https://www.sublimetext.com/

A source code editor, and so much more. I’ve been using this for years.

JSFiddle

https://jsfiddle.net

An in-browser editor, code playground. Great for trying things out.

CodePen

https://codepen.io/

A fantastic site to learn about HTML, JavaScript, and CSS in your browser without having to install anything on your computer. A lot of things created by others that you can just browse through and see some cool examples.

From the CodePen site:

“CodePen is a social development environment. At its heart, it allows you to write code in the browser, and see the results of it as you build. A useful and liberating tool for developers of any skill, and particularly empowering for people learning to code. We focus primarily on front-end languages like HTML, CSS, JavaScript, and preprocessing syntaxes that turn into those things.”

GitHub

https://github.com

GitHub is a source code repository/development platform that you use to host code, do code reviews, collaborate with your team, etc.

GitHub now offers private repositories with the free tier, so I’m back with them.

BitBucket

https://bitbucket.org

BitBucket is another Git source code repository that I love, and has many (if not all) of the same features at GitHub. Great integration with other tools as well.

Trello

https://trello.com

It’s just a handy tool that starts off looking like “just another list app” that I end up using all the time.

I use Trello for a ton of things: requirements management, product definition, lists, sharing info with teams on product development, capturing ideas, etc.