Originally published on the r/learnprogrammig subreddit.
For those struggling and comparing themselves to others...
I'm right there with you. I've been programming for about three years now and although I wouldn't consider myself a beginner, I'm by no means an expert and still feel like programming can be hard or that the code I write is shit. I can't help but see all of the other developers I follow on social media and the projects they're making and feel like I'll never get there.
The best advice I've heard until recently to dealing with this are sayings like "don't compare your beginning to someone else's middle". That makes sense and I understood what it meant, but I was never really satisfied with when my "middle" would manifest - I felt like no matter how many projects I made, I was not progressing.
That is until I heard Ira Glass' advice for beginners.
Simply put, Glass describes the idea that there is a gap between our good taste (the cool projects we aspire to one day write) and the stuff we actually make (the code we write/the projects we're actually making). The gap represents our dissatisfaction with our work compared to the work that we aspire to someday create.
I can't summarize Glass' words in their full glory but luckily the transcript isn't too long, so I'll paste it below:
Nobody tells this to people who are beginners, and I really wish somebody had told this to me.
All of us who do creative work, we get into it because we have good taste. But it's like there is this gap. For the first couple years that you're making stuff, what you're making isn't so good. It’s not that great. It’s trying to be good, it has ambition to be good, but it’s not that good.
But your taste, the thing that got you into the game, is still killer. And your taste is good enough that you can tell that what you're making is kind of a disappointment to you. A lot of people never get past that phase. They quit.
Everybody I know who does interesting, creative work they went through years where they had really good taste and they could tell that what they were making wasn't as good as they wanted it to be. They knew it fell short. Everybody goes through that.
And if you are just starting out or if you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Do a huge volume of work. Put yourself on a deadline so that every week or every month you know you're going to finish one story. It is only by going through a volume of work that you're going to catch up and close that gap. And the work you're making will be as good as your ambitions.
I took longer to figure out how to do this than anyone I’ve ever met. It takes awhile. It’s gonna take you a while. It’s normal to take a while. You just have to fight your way through that.
—Ira Glass
I'm not sure about you, but this explanation about the pursuit of evolving our creativity made me have a light bulb moment.
I think Glass perfectly describes why we shouldn't "compare our beginning to someone else's middle" while at the same time sheds light on the true struggle we as beginners go through while honing our creative skills (such as programming). I also felt like the idea to create a volume of work in order to close the gap really goes in hand with Malcolm Gladwell's "10,000-Hour Rule".
Apologies for the wall of text, I'll stop here. If you're more of a visual learner, the comic Zen Pencils has an excellent interpretation of Ira Glass' words.1 Happy coding and hopefully some of you will have found this as insightful as I did!
EDIT: I'm ecstatic that so many of you have found this advice helpful. I made Glass' advice into a nice little r/GetMotivated-esque poster.2