As the non-technical co-founder of thecityswig.com, I realized that no matter how hard I worked, when the product at it's core needed fixing or changing, there was nothing I could do to push the company forward. Sure I could go out and talk to more users, offer customer service, attempt to make sales leads, but ultimately when all of those things were relying on updates to the service, I was a founder who at his core could not help my own company.
So about 6 months ago I made a decision: I would never be a non-technical co-founder again. I was going to learn to code. I started building a simple website, doing lessons on Codecademy, and finally trying challenges on r/dailyprogrammer. I do this about 1-2 hours a day, more when I'm really into it.
1 problem: this shit is HARD! My programmer friends seem to love writing code and learning new coding techniques, and while I find the pursuit endlessly fascinating and occasionally rewarding, this beginning stage seemed mostly to just, well, suck. A little discouraged one day a few weeks ago, I finally wrote a simple game in Python that I felt was elegant and actually kind of fun. Then I realized why this had been so frustrating: I couldn't play interesting music yet.
When I was 10, my family got a piano from my Aunt in North Carolina that she didn't have room for anymore. I fell in love with it immediately. I had to learn. So my mother signed me up for lessons from someone who turned out to be just about the best teacher in the world (which luckily nobody knew at the time). And for 2 years, it sucked. Luckily, I don't quit things (basically ever) so I kept at it, but it was like pulling teeth.
Then one day, I finished learning a piece that I really loved. I actually liked this song. Holy shit! I could play something I really enjoyed! Then about a year later, I could learn things other people found impressive. Then I could learn any piece of music, given enough time. Then I learned the building blocks of writing songs. Then I wrote songs. Then I wrote songs I loved.
It was when I wrote songs I loved that it stopped being hard at all. I now spend hours, days pouring over Beatles song charts trying to understand the chord and melody choices they made and then putting them into my own songs. When I pick up a new instrument, most notably the guitar, I know the building blocks so intimately that learning how to play it isn't hard: it's fun. If you locked me in a room with a bunch of musical instruments for 3 days, it wouldn't be torture: it would be heaven.
And so it is with programming. Now that I can design basic websites and write basic code, learning new things is finally seeming mildly exciting. When I can actually build parts of the things I imagine, it will become fun. When I can build the whole thing, it will be awesome. When I can do it fast and at a high level, then I'll be the one drinking beer until 4 in the morning writing code instead of playing guitar.
Follow me on Twitter Comments on HN here
Note: this was written 6 months before it was posted. I've now come to a point where I can play things I enjoy playing, and coding is geting a lot more fun!