Who is this book for? Welcome Beginner!

This book is written for a the cross-section of people who:

  1. Have an idea of a project they’d like to start online and
  2. Have zero technical expertise and want to learn how to build that project themselves.

If you’ve ever searched online for something like how to make a website and been overwhelmed by the millions of results, this book is for you. It’s a1 comprehensive answer to that question, targeted at people who have no experience, even with the basics.

If you start at the beginning and work through the ending, you’ll learn the parts of a modern website and how to put them together. This book assumes no prior knowledge of any of the topics covered. If you flipped to the table of contents and felt overwhelmed by the jargon there, rest assured that I’ll take time to explain it all. This is a gentle introduction to each of the topics listed, gradually building up skills and knowledge as you create a modern website.

You won’t be an expert at the end – that takes years of practice – but you will have a thorough understanding of the fundamentals. Armed with this knowledge you’ll be prepared to turn to the Internet when you need to learn more. Instead of How to make a website you’ll be equipped to ask more specific questions, like:

By the time we get done here you’ll know what those questions mean, understand the answers, and be ready to ask more sophisticated questions. I’ll also include links to more thorough references you can turn to when you’d like to dive deeper into the topic at hand.

The fantastic thing about learning to build web sites, is that it costs absolutely nothing to get started. There are many fantastic tools available for free. If you have a computer with an Internet connection, you have everything you need to start learning.

A note about the exercises

At the end of each chapter there will be at least one exercise to complete. For all the sections in the book where we’re writing code, it is to your advantage to type the exercises out manually instead of copying and pasting. This is likely to be painful and tedious at first, but it’s important for one reason: one of the best ways to learn something is to try it out and figure out what went wrong when you inevitably make a mistake. If you copy and paste code into the exercises you’ll end up missing out on the most valuable part of the learning experience. Careful manual entry of the exercises will help you develop two crucial web development skills: attention to detail, and the ability to spot minor differences.2


[1]I intentionally didn’t say the answer. This is an answer to that question, not the definitive one.
[2]This is not my original idea. Credit goes to Zed Shaw who popularized it with his book Learn Python the Hard Way, and continued the series to include other programming languages.

Receive email whenever an update to the book is released

* indicates required