As I've been getting my creative and active mojo in gear this past year, I've noticed something interesting: In order to succeed and do well, first you must perform/produce crap.
Starting to draw. My first works a year ago were really poor and didn't do a very good job of representing anything I really wanted them to represent. Even now, with my skill improving, I'm still producing things that I feel are quite poor and amatuerish.
Getting back into programming for personal projects has resulted in a similar experience. My first efforts took a long time and were really poor. I really wasn't able to get much good accomplished, and my UI doesn't look nearly as nice as I wanted it to look. Over time, I've re-learned the API for Swing/AWT, and my UI is starting to improve, slowly but surely.
I've also been witness to other folks trying to get started on things. People that learn to play go generally play really badly when they first start out. I know I did and have for the past 10 years, and now folks that I'm teaching to play play really poor moves at times.
Similarly, I'm watching viesti
struggle with getting back into programming herself, and I'm seeing a lot of the same kinds of struggles that I used to have as she gets her mojo working again.
This initial step seems vital to the entire system of teaching yourself something. But it can be so hard to deal with. Recognizing that your first attempts at creating/doing... anything really... are going to be complete crap. That you're going to produce something that perhaps only a few people are really going to like and many people will actively dislike. That's a big pill to swallow. For me, it makes me fret and worry that I'll never produce anything good. That my efforts will always be in vain and my art/programming/projects of any sort will always look like crap and never evolve beyond that.
Many creative/skill-based communities can be quite judgemental, too, which works even harder to encourage the kind of mental attitude that I have struggled with. Writing software? Well, your code is crap, your UI is incomprehensible, and the performance of your program leaves a lot to be desired. What kind of programmer are you, anyways? Did you get your CS degree out of a cereal box? ... Drawing or painting? Wow! My two year old nephew can draw better than that with his doodie. You might want to give up drawing before you hurt yourself. ... You can't climb a 5.10a? I'm surprised you're even in here trying. Maybe you should go back to something easy, like walking?
And yet, getting over that hurdle... Facing down the judgemental voices both internal and external to create something... To do something... That's what you have to do to become great at anything. Or at least good. Or decent.
It's something daunting to me when I look forward to new projects on the horizon. My idea for getting my computer game-making skills up to snuff and actually writing games faster and better than what I've done before. My desire to produce drawings and paintings on the order of artists whose work I look up to.
It's all going to be a hell of a challenge, as the first thing that I have to do... The first task I have to accomplish... is to produce crap.