02 December 2013
I resisted getting into programming for much longer than I should have.
My brother has been a programmer for his entire life. I grew up with computers, and my dad always bought the latest and greatest computers. I mostly played games, and my older brother played games he programmed.
Growing up, I goofed around with geocities, and ended up teaching myself CSS and HTML so I could build my first website to sell portraits I was painting at the time. I never really felt like I was programming, and thought of it as completely different.
After being in a band for a while, and realizing that it’s really, really difficult to make any money playing music, I decided to take the plunge and learn how to code.
I started with codeyear.com in 2012 (Just under 2 years ago as of writing this)
Throughout the past couple of years where I’ve dove head on into learning how to code, I’ve learned not to be (as) afraid, and one of the keys to learning something hard is to keep doing it. It sounds obvious, but if you don’t give up, you’ll get one of two things:
This idea gives me great comfort, and helps me manage the lows and frustrations that naturally come up while programming. It’s important to me to spend my time doing meaningful things, and the same thing that drew me into playing music also attracted me to writing software: craftsmanship. First there was nothing, I did something, and now there’s a thing. A useful thing! A beautiful thing! A useless thing! An ugly thing! But a thing, and I made it.
I started by building simple ideas for my band. We’d have an idea, and I’d take a crack at it. I ended up accomplishing quite a bit by just taking it one project at a time. Here’s some of the stuff I was able to do.
With each project built, I found that I was able to incrementally build on my previous experience, and make the next thing I built even better.
I have learned about myself that I have to be actively creating something in order to feel satisfaction. When I read this essay by Paul Graham, I was encouraged to go deeper into learning how to program. I can relate to the painting side of things, and how satisfying the process of painting is, and have found it’s the same process in writing code and creating something useful that I love.
Now that I have my first real web app under my belt, I have way more confidence to be able to dive head first into whatever problem that needs solving, and not feel worried that I won’t be able to figure it out.
Learning to code has been one of the hardest and most rewarding things I’ve ever done. I am just starting out, and I’m still learning something new every single day. The crazy part is that there are almost an infinite amount of things that I haven’t learned yet, and I couldn’t be more excited about all the different possibilities of building stuff with software to help make things better.