Making a website is nothing like this. Even if you've spent hundreds of hours making websites, the connection between your actions and their effects is abstract. Coding requires planning ahead, coming up with a vision of what you're building and then implementing it. It’s a lot harder to change your mind halfway through.
There has been a sweeping enthusiasm to teach people to make the web in the past few years and most of the effort has revolved around teaching them to code. Some people have the time and self-confidence to learn a language on their own but a lot of people don't and they need to go through many stages before they think of themselves as capable. I recently asked my former roommate, who works at Wordpress, whether learning PHP or learning to fly a single seat airplane took longer. He said PHP. Telling people that they 'should' learn to program to express themselves on the web seems encouraging until they realize what kind of commitment is really required.
That doesn’t mean they can’t become builders. Jeff Atwood pissed off a lot of people the other week with his post “Please Don’t Learn to Code,” because he made some of these observations and then ended his post. But he’s right to say that too much attention is showered on a technique, learning to code, as opposed to the broader goal of learning to build cool things on the web. Teaching people to make cool stuff on the web is a fundamentally different goal and it requires a different approach.
Any good writing teacher will tell you that the only way to learn to write is to write. It’s the same way you learned to draw, and to talk, and it’s true of making websites as well. It takes practice and a lot of ugly work before you’re any good, and the only way you’ll learn is if you start doing it. It’s hard for adults to take that leap, since they’re more afraid of looking stupid than kids are, but they can get over their fears with the right amount of LOLcats and encouragement.
A few things make a big difference:
1.) A Blank Canvas
Templates are great training wheels. It’s easier to fill out answers to questions you already know and choose a flattering picture of yourself, but at a certain point you become aware that you're drawing inside someone else's lines. You know what it’s like to create. You get absorbed, you flow, you feel proud of what you did even if it looks weird. A blank canvas is intimidating but learning how to start from one is critical to feeling like an author. If you know you can start from scratch you can go places that no one else but you can imagine.
2.) Feedback From People You Already Know
The Internet will not tell you why your website sucks, it will only tell you that it does suck and that you don’t deserve to live. When you’re a kid and are learning to talk or write, you’re surrounded by people who push for your success by giving you both encouragement and criticism. The same is true here.
If you think what you’re making has to be perfect, it will be hard to get started and even harder to finish. The key to making website building more fun is lowering the stakes and connecting the creation of a site to something the user already likes thinking about.
Once you’re already making things, the barrier to making more complicated things becomes less abstract. The challenge is no longer, ‘How do I learn programming?,” it’s “How do I make it look like the page fades to black?” Learning programming is not an achievable goal because it has no end. Figuring out how to add a gradient is achievable.
The people who created the web believed they were ushering in a new era of participatory media that would make everyone an author as well as a reader. Today that sounds cute. More people are using the web than the first adopters could have ever imagined but people have so much distance from what they stare at everyday. The web is behind glass. You can look but you can't touch.
This is wrong. We want it to be different. Everyone’s fingerprints on the web.
My co-founder and I have spent the past year building a site that makes website building more like drawing. It's called scroll kit.
If you're interested in teaching the web to make the web, we want to hear from you. We're planning a summer project.