I’ve fallen off the ‘learn to code’ wagon 3 times now.
The gamification aspects worked great for a while (especially streak) but eventually you realise they’re treating you like a 5 year old and giving you little gold stickers for your work, and you’re not actually building anything. That wasn’t enough to keep me interested.
Why learn to code?
Many people have weighed in on the pros and cons of learning to code:
- LinkedIn’s Reid Hoffman On Two Realistic Outcomes Of Teaching Everyone To Code – Gregory Ferenstein
- If You Aren’t Technical, Get Technical – Fred Wilson – Julien Smith
- Don’t learn to code – Ryan Hoover
- Your marketing job is about to become an engineering job. Get used to it. – Julien Smith
- Please Don’t Learn to Code – Jeff Atwood
I don’t want to be a developer. I want to be able to manipulate data to get run my own experiments, get questions answered and act on results quickly. Although not everyone working in tech needs to know how to code, it is incredibly important for non-engineers to have at least a broad understanding of technology, especially when contributing to or having your own resource-starved small startup. Even if you’re on the business side of things, you greatly alleviate the burden on your technical colleagues by being able to pitch in (e.g. pull customer lists from the database, design and code the HTML for an email campaign, write an automating script). It’s useful and cost-efficient to know how to be able to put up a simple webpage, or build a prototype that’s good enough to evaluate the merit of your business idea (but then again, these days you barely need to understand code to set up a non-technically innovative MVP).
Tools like Mixpanel, Optimizely and Kissmetrics require a bit of code knowledge to really maximise their use. They can be used without any customisation for simple tasks, however the more complex your experiments get, the more likely your own solution will work better. Building up my coding ability is a part of the skillset required to be a technical marketer.
How I plan on learning
I’ve picked Ruby as my language of choice because from what I read it seems like a good place to start. So far I’ve been working with these (free) resources:
- 6 Things You Need to Learn To Build Your Own Prototype – A refresher on the basics terms
- Try Ruby – learn the basics of the Ruby language in your browser, by Code School
- Rails for Zombies – videos with interactive code quizzes in your browser, by Code School
- Learn Ruby The Hard Way
- Build a Simple Ruby on Rails Application – by Treehouse
This year I’ve put down ‘learn to code’ as one of my goals. Why will this year be different? I’ve found it hard to really ‘connect’ with some of the online training courses. I feel like i’m going through a random collection of tasks, but not actually building anything or actually learning – just regurgitating what they tell me. I’ve found the one’s I’ve stuck at show you in real-time what you’re actually building, like Dash from General Assembly. If I can continue coding on these enjoyable platforms often enough, I’ll build up the habit muscle and use that momentum to continue to learn more complex stuff.