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

Making the “front-end” of websites combines skills in visual design, “user experience” (UX), and somewhat more technical work; some people describe their role as “designer”, which tends to be more work using Adobe tools or Figma, and then hand that off to “front-end developers” to convert the plan into a working site. Many people do both parts. For more about the design side, see Learn about design thinking and Learn about graphic design.

Front-end development involves three intertwined technologies: HTML, CSS, and JavaScript. Front-end developers are also usually the ones most involved in making sure web pages load quickly and are accessible to all people, including those with different kinds of disabilities. (You may sometimes hear the term “client-side.” That’s basically the same as “front-end.”)

HTML (Hypertext Markup Language) defines the structure of a page: paragraphs, sections, links, and such. The basics are super simple, but it’s good to understand the philosophy behind HTML. If you use the right tags, your pages will automatically take advantage of built-in accessibility features, especially those that help vision-impaired people who use screen readers, and motion-impaired people who use tools other than a mouse or trackpad to get around a page and a site.

CSS (Cascading Style Sheets) is a system for controlling how a page looks. You can do a bit with regular HTML (bold and italic text, white space, etc) but CSS is super powerful and flexible, and can help you make one web page that works just as well on a giant monitor or a small mobile phone.

JavaScript (often shortened to JS) is the programming language which enables web browsers to serve as fully-fledged application environments. It’s not hard to pick up a little JavaScript here and there—many people learn just enough to get a job done, and then learn more later. JavaScript can also be used for much more involved coding, sometimes with nothing to do with a web browser. On this page we’ll link to beginner and general JavaScript; see the Learn to code page to dig deeper.

Learning HTML