Learning to Program, Learning to Slow Down

I’ve been trying to teach myself programming for over a year – I’ve learned how to write code, but I’ve also learned about my tendencies as an individual. I enjoy marketing, so programming isn’t something that comes easy for me (yet).

Over the past week, I realized that there’s a major stumbling block that prevents many people like myself from writing code. We live in a world where app downloads are instantaneous and “on demand” content is a norm. We want to see results ASAP, and if that doesn’t happen, it’s not worth our time.

Gone are the days of writing code – instead we can setup a WordPress website in 10 minutes, with very little understanding of how everything works. Programming is different. I’m sure programming has gotten “easier” over the years, yet there’s still a gap that needs to be overcome. If someone doesn’t have the motivation, there’s very little chance they will succeed.

How can this roadblock be overcome?

For individuals like myself, it boils down to motivation, desire, and understanding that programming takes time. Writing tests doesn’t produce direct results, yet the process is still extremely important. Shut out the voice that demands instant results, and instead focus on the end result.

My “aha” moment was when I first generated a sample app with the Rails scaffolding command. I could see instant results. This was crucial for my learning – it gave me energy to dedicate more time. Likewise, when I first setup Twitter Bootstrap – it make me excited and confident that I could create a web app.

For programmers, if you are teaching newbies like myself, remember to blend those “instant results” in your tutorials. It gives us motivation. I just suggest reiterating that the process takes time and motivation.

For additional reading, check out “Teach yourself programming in ten years.