This is a big one. We can split the subject into at least two parts: front-end development (where you focus on what happens where the information is shown (laptop, phone, etc) and back-end development (where you focus on the system that manages information and data used to make the pages sent to the front-end.

Some people specialize in one or the other, and some work in both worlds—these folks are sometimes called full-stack developers. It’s probably good to spend some time learning about each, but if you find yourself gravitating to one over the other, you wouldn’t be the first person.

Most of this builds on things covered in Learn to code. Some people like to start with coding fundamentals, and other people like to dive in to something more applied (like building a website) and learn just enough code to keep moving forward. You do you!

Big picture stuff

(We’re also starting a page to help you Understand how the Internet works although for now it’s mostly links.)

Front-end Development

Back-end Development

Content Management Systems (CMSes)

Once your website grows beyond a few pages, it becomes important to have tools in place that help make sure things remain consistent across different pages, and to open up web content production to people without coding skills.

Whether you focus on front-end or back-end development, or if you do both, you may end up needing to work on a CMS in a more technical way, beyond what authors and editors do.

Many CMSes store content in a database, and create a web page when it is requested, by pulling up page-specific content and inserting it into a template. Some of these are sold as a product or hosted service, and others are built to order, sometimes using frameworks that simplify common tasks. See Back-end Development for more about various frameworks.

Another approach involves using a “static site generator,” which has a “build” process in which all of the possible pages are created at one time, which can reduce the cost of hosting a site.

Static Site Generators (SSGs)

Static sites are just collections of HTML, CSS and images, and maybe some front-end JavaScript. Static sites are very simple to serve up: you can serve them for free using something like GitHub Pages, and, if they get popular, they hold up to very high traffic.