I was happier than I’ve ever been this past summer and I only have myself to blame for it. That’s not true — we should all share the blame. I live in this world and have often been delighted by things far beyond me — things that had nothing to do with me.
One of those things was programming. It would behoove me to admit that that when I began writing code and actually trying to understand it my freshman year of college I wasn’t nearly as enthused as I am today. It would also be wrong of me to leave out the fact that I was not nearly as self aware in regards to my abilities as I am now. I hope you’ll find the same insight sooner than I did.
You are capable of building full-scale apps right now. These links can prove that all you need is time. That's to say you're capable of far more than you think. At the risk of sounding like a braggart, I will mention that I’ve held some coveted internships, the best of which was last summer at Uber — the world’s most valuable startup and an up-and-coming tech giant. Which is funny because I still google my way through some of the simplest HTML problems. Given my experience younger people who ask me for programming help are often baffled by how often I look things up, but the part they miss is how quickly I’m able to find the answer. And that’s the important part.
Last summer, when I would ask my manger a question nearly more often than not he wouldn’t know the exact answer. (That was likely because I asked more questions than a child who just learned the word “why” would ask.) But we just let it go. There wasn’t a day that went by where we didn’t learn something new — augment our understanding of a larger system so we could not only do our jobs better but enjoy our work more. We seeked knowledge over the drudged completion of a task because we understood that we could very well run into the problems we’d faced again and that in the long run understanding where things fit in a larger picture will not only make you a better programming, but a happier programmer too.
This is obviously not limited to programming, but it’s simply the idea that sitting in a puddle never helps anyone. Get up! Google around! Ask for help! The only thing banging your head against the wall does is help you lose your brain cells faster. (You really need those to code well!)
Thus I’ve come to realize a small insight: maybe the best, most experienced, perfect programmers/ninjas can simply never leave Vim and simply know everything they need to know to do what they want to do, but the happiest programmers are the ones who avoid banging their heads against the wall over a silly program, and instead get up, stretch, walk around, drink some water, crack a joke, juggle some oranges, come back, look at the code again, google it if they have to, and finally ask for help. There’s nothing worse than crying in the puddle, so let’s all avoid that together.