Learn current web development without proprietary software

From LibrePlanet
Revision as of 13:43, 6 October 2019 by Robertobeltran (talk | contribs) (Back-end Programming Language)
Jump to: navigation, search

This is a self-study guide for learning the current (and conventionally standard) web development technologies without compromising on freedom. It should help take the reader from no coding experience to being able to get work as quickly as possible and follow with recommendations on refining and progressing your skills as an intermediate.

The Basics

These are the fundamentals all web developers should know, regardless of specialization.

With just the fundamentals, you may be able to get a relatively lower-paying job or an internship, so it's worth starting your job hunt as soon as possible if only to familiarize yourself with the process, which stacks are in demand, and how much different kinds of work pay. You'll also need to be able to differentiate between bad job postings and reasonable ones.

HTML5

CSS3

Basic JavaScript Programming, Algorithms and Data Structures

Bash Basics

Bash is an acronym for "Bourne-Again Shell," a Unix shell and command language written by Brian Fox for the GNU Project as a libre software replacement for the proprietary Bourne Shell. The Free Software Foundation funded the development of Bash directly, with Brian Fox working as an employee.

Since GNU/Linux runs the majority of web servers, you should be comfortable in a Unix environment. Further, there are many powerful tools that only have a command line interface, and you'll be able to automate mundane tasks with Bash scripts. At this stage you should learn command basics (options, arguments, getting help), filesystem basics and navigation, basic package management, pipes and redirects, and basic scripting.

Version control with Git

Git was created by Linus Torvalds in 2005 for the development of the Linux Kernel. Git is the most popular version control system. Version control makes it easier to collaborate with other developers, enables you to work on different features concurrently, and lets you quickly scrap bad ideas. Once you know version control, you may be able to make small contributions to libre software projects.

HTTP Basics

Front-end

ES6

npm

A Front-end JavaScript Framework

  • React.js
  • Angular
  • Vue.js

Back-end

Back-end Programming Language

JavaScript

Python

Learn a Back-end Framework

Python

Devops

Being "Full Stack"

Beginner-friendly libre software projects

Here are some libre software projects that are friendly to first-time contributors.