Recently, I was invited to speak at a hack school in my hometown of Austin. It was a great experience to talk with people (all adults) completely new to web design. As I fielded questions about tiny jQuery plugins, I remembered just how difficult making a webpage for the first time can be:

Did you copy the script tag correctly? Did you specify the correct absolute or relative path? Are you calling the function after you call jQuery?

“It’s learning by a thousand cuts,” I caught myself saying over and over again. I don’t know why I chose that off-the-cuff analogy, because the phrase “death by a thousand cuts” is actually pretty horrid and describes a long, torturous demise. Probably not the hallmark of inspiration that I wanted to be. In some morbid way, however, it seems apt for how most of us came to learn web design.

Make a change. Refresh. Nothing happens. Make a change. Refresh. Nothing happens. Make a change. Refresh, except press the keys really hard this time. Something happens, but not what you expected. Repeat until death.

Every skill or occupation has its own learning curve, that is not unique to the web. Speaking broadly, we tend to be a relatively more self-taught, faster-moving industry. I’m also pretty sure that most people in other occupations don’t live in fear of taking down their entire business because of a misplaced semicolon. Like I do. Every single day of my life.

Though I enjoy my career and the constant problem solving, everyone learning everything the hard way might point to an inefficiency somewhere. I’ve been wondering if it’s possible to lower that 1,000 cuts number. Mentorships? More convention over configuration? Less HTML elements? More tooling? A change in industry culture? More good old fashioned blogging your problems and thoughtfully presenting your working solutions? All of those could probably help.

The alternative, I guess, is to do nothing and hang a big banner on the door that says, “Welcome to the school of hard knocks, ya chumps.” I mean, heck, I learned it that way so it’s probably working just fine. I don’t see what the big deal is.