One of the downsides to running an education business is that, for whatever you’re teaching, after a certain point everyone assumes that you know everything about that topic. Not just the top-level, well-documented stuff, either. The edge cases. The work-arounds for botched implementations. Quite literally, every possible variation of the thing. Of course, this is far from realistic: no matter how much you know about a topic, you’ll always be missing stuff at the fringes.

A few years ago when I started writing about building software with Meteor and JavaScript, I didn’t know what I was doing. I still don’t really know what I’m doing. What I do know is that, in between then and now, I’ve purposefully exposed myself to a lot of different scenarios. Different applications, different sets of requirements, and even the occasional brush with languages I barely understand. For each successive project that I worked on, I picked up more and more understanding for how to build a piece of software.

In order to really know something, you have to live it. Books will only teach you so much. Knowledge transfer from another person is even worse. The thing that works every time, though, is to do it yourself. Take the thing apart and put it back together. Start from scratch, make mistakes, and take notes as you go. To get really good at something, you have to repeat this process over and over. I’d argue it’s the only way to become the best at something.

In an AMA (ask me anything) interview a few years back, someone asked the director Harmony Korine if he had any advice for young screenplay writers to “get their screenplays out there.” His answer underscores the importance of experience hilariously and perfectly: “try a life of crime. write about it.” While he may or may not have been kidding, the point still stands: to produce good work, you have to live the thing you’re talking about.

Get your hands dirty. If you have an idea, go work on it. It’s more likely to fail than it is to succeed, but that’s irrelevant. What matters is that by the time you finish, you will know more about whatever you were doing than before you started. Enough to take with you on the next pass. You will most definitely suck at something the first few go-arounds, but after awhile, you’ll get better. You’ll know about the potholes. You’ll have experience. Go buy a gun and hold up a bank if you want to know how to rob a bank [1].

[1] Do not do that.