How I got over my coding fears

After discussing why I thought I couldn’t code, it seemed only right to complete the circle and write a bit about what made me think I could, what made me eventually do it.

I was working as a web designer for a company that sold subscriptions to their proprietary CMS; I skinned new client sites as they came onto to the platform.

My friend at a previous job tipped me to LESS, the CSS preprocessor language and I devoured everything I could find out about it: I researched variables, conditional color mixins, anything I could use to help me skin sites faster. I didn’t really even know I was learning basic programming constructs.

LESS came along at the right time for me – I was really confident about CSS, so I learned programming concepts almost without realizing it.

If you’re not already working with HTML & CSS, I might suggest trying out Google Apps Script and trying to using script to edit a spreadsheet or document. You already know how to use Google Apps’ UI, now try going under the hood. There are some excellent tutorials for slightly simpler tasks like adding a menu item, and you can build your skills as you go. Google Apps Script is 90%+ vanilla javascript, so you can transfer your learning directly to other projects.

I learned hands-on

After that, I started on a little jQuery tool to help our clients edit their site navigation markup.

I was manipulating the DOM for the first time – without even really knowing what the “DOM” was – to me, I was just manipulating HTML I had already written. Again, it was a link to something I already knew, and something to help my existing work.

Other javascript classes I had skimmed in the past barely even mentioned the DOM – which I think is a big shortcoming of many JS beginner resources. Knowing what I could do with JS actually made me want to learn it.

This is not to say you shouldn’t take online courses – they are execellent resources to have – but I definitely recommend pairing them with a project that directly impacts you.

I realized I could work incrementally

I started simply, by using jQuery to get the text of some tags, and then after achieving that, seeing if I could change that text. Baby steps.

I didn’t realize until then that ‘development’ didn’t have to be a giant monolith, a huge app developed by one person. It could be one line of code.

Start with what you can do right now. I know not everyone loves Javascript, but the benefit is that there’s no environment setup – you can open up the browser’s console and go to town. You can start manipulating websites that already exist. How cool is that?

Similarly, try out CodePen, a neat way to show off tiny little code proof-of-concepts.

If you want something more robust but with similarly minimal setup, there’s a service called Koding that allows you to run server-side language code on a virtual machine. It was buggy the last time I used it, but that was over a year ago, so maybe it’s better now!

Someone told me I could / I had support

The coworker who mentioned LESS to me pulled me aside in a conference room after I told her about my jQuery mini-project.

“Would you have any interest in joining the Dev team?” she asked.

I think I made my usual protestations about how I wasn’t sure if I’d be any good. She told me point blank she thought I’d be GREAT.

It’s amazing what having some positive feedback can do for your attitude.

I realized it was a puzzle / “good frustrating”

I loved computer puzzle games like The Castle of Dr Brain and creating paper crafts with my hands growing up. Anything with spatial reasoning and pattern recognition.

It didn’t take me long to realize programming fell into this category. Little puzzles that make you mad, but the second you figure them out, you’re so proud and you want to punch the air and yell obscenities. It was kind of like getting back something I had lost from years ago (well, admittedly, I said less obscenities then, but you know what I mean.)

If you like puzzles or video games, you might be totally at home with programming challenges.

There are lots of other ways to start – doing an online tutorial, watching YouTube videos, going to a civic hackathon – but those are just the ones that really made a difference to me, that started me down the path to where I am today.

Which leads me to another future blog post: where the hell am I today? Stay tuned.