Programming, it turns out, is hard.
One day, a friend came back from a seminar at which the panelists were a coterie of white, male, twenty-something college founders of various startups you might have heard of.
“They said learning to code is hard. They implied that if you haven’t been programming since you were seven, there’s no hope for you,” she said speaking on frustrations around attempting to learn to become a developer.
“If someone could learn to program when they were only seven years old,” I observed, “then it must not be that difficult.”
Think of all the things you couldn’t do when you were seven—coding is less difficult than all of those.
This is a book about one way to learn to code.
There are many ways to learn, but this one is mine. If you are into dry and direct texts that cover everything you might need to know in 968 pages beginning with every rule of operator precedence, the market has you covered.1 If you want an introductory text which uses, without explanation, terms such as “object-oriented”, “run-time”, and “compiler” all within its first ten pages, the market has you covered.2 If you are looking for a book that spends an entire chapter rationalizing a teaching method that confuses clear and direct storytelling with condescension and a breezy style, the market has you covered.3
My way of learning is by scratching an itch—the itch in this case is building a website. If you happen to have this itch, maybe I can help you scratch it. I happen to think creating a website of your very own is much more interesting than guiding a virtual “robot” to pick up and put down “beepers”.4
Each chapter is prefaced with a story about coding. The intention of the stories is not to teach, but to help you think about coding and form a connection with it. If you happen to learn something, that’s gravy, but its purpose is to provide you with a framework to place what you pick up as you travel your individual path of learning to code the web.
But you will not get to where you are going by simply reading a book, even this one. Like the wisdom of the river,5 one cannot teach certain things, they must be learned through experience, learned by doing. Stories are no substitute for experience, so each chapter will have exercises. Do these exercises if you want to learn to code; skip them if you already know how to. I will try to make them both challenging and fun.