I’ve been meaning to write a post about my experience as “a business guy” learning to code for a long time. Today I rambled off 500 words about it in a comment on Switchboard so I thought I’d just repost it here.
tl;dr
The hardest part of learning to code is staying motivated. Don’t worry about trying to understand the fundamentals for computer science at the start. You’ll get lost in the weeds, get frustrated, lose motivation, and give up. Instead try to get some quick wins that will help motivate you to keep going. And start a personal project to learn from early on.
My personal ‘learning to code’ journey.
In 2009 I had some basic HTML & CSS knowledge but wanted to become more technical. It seemed like a natural progression. I love making stuff and I love working on products. I wanted to be able to contribute to the technical side of products I was working on and be able to build prototypes of new web apps I was thinking about.
Several of my friends were Ruby developers and were willing to help me along if I got stuck. I got a book on beginning Ruby and was on my way!
…and then I gave up after about 2 weeks.
A few months later I got motivated to start again!
…and then I gave up about 1 month later.
And this happened another 1 or 2 times.
The problem was that my Ruby book was showing me the very basics of learning the language. How to do math, how to manipulate strings, how to create records, etc. All of this happened on the command line. Even the little example app in the book was a command line app. The whole reason why I wanted to learn to program is because I wanted to make web apps. It seemed like a long road to get from working on the command line to getting something on the web. I continually lost motivation and gave up.
Things were different on my next re-start though. This time, I decided to look into Ruby On Rails since it’s specifically designed for doing stuff on the web. I got a new book (Beginning Rails 3) and within the first two hours I had an app running in my browser where I could create blog articles! It was a huge win. It blew my mind and cranked my dopamine.
I didn’t really know how it worked, but now I had the determination to find out. And I did. I went through the rest of the book, completed a personal project, and kept digging into more and more resources (Railscasts, StackOverflow, etc).
I’ve been actively programming since then (2010). There are a lot of fundamentals I don’t know and I’m not a “software engineer” by any means, but my goal was to be able to create products. And I have created a bunch of them :)
A Couple Resources
As far as resources for learning, there are tons of them now. It just depends on how you learn and what you want to tackle first. There’s things like Treehouse and Codecademy. Videos (Lynda.com), books, etc. Oh and a lot of cities have really good local meetups for coding beginners.
Good luck out there!