There's plenty of posts out there on "How To Learn To Code in Just One Month!", but not a lot for why you should learn to code.
One of the problems is that you get articles like this, with the following unhelpful insights into how others have learnt to code:
"I slept an average of 5 hours a night, had enough energy drinks to last me a lifetime and never felt more confused or exhausted in my life. Thus, this was the life of a beginner coder, a venture that took up most of my day."
(Aside: How long before we see a post called "This Squirrel Learned to Code in Just One Month - You'll Never Guess What He Built Next"?)
"Learning to Code" is not a one-size-fits-all affair. You don't have to pull all nighters, down energy drinks just to stay awake and feel like that will be your life from then on. It doesn't even have to take up most of your day.
Coding can be as small as making minor html changes, all the way up to building best-in-class apps using the latest technology.
You might want to build the latest and greatest apps, but there are plenty of smaller reasons for want to learn to code:
- You might just want to learn how to host your own blog and a custom domain, like I've done here.
- You could just want learn how to strip out the formatting errors that come with copying and pasting a document from Microsoft Word into a WordPress post.
- You might want to be able to format a nice looking email newsletter in Mailchimp.
- You could want to make small changes to your company website, without having to get support or ask someone else to do it.
Here's my own personal reasons for learning to code.
1. Get Comfortable With Code
Lots of the examples listed above are small tasks. You'd only need to know a little bit of html to be able to make small code changes.
As someone who works in digital marketing, I'm working with blog posts, email newsletters, Content Management Systems and other digital forms on a daily basis. When I see something wrong or want to make a quick edit to something, I don't have to send the work off to someone else and wait for them to make the necessary changes. I can do it myself.
Likewise, if someone sends me something they'd like me to do or feedbacks changes to a piece of content, I'm able to make those amends there and then. No more being scared of being asked to do something in code!
2. Build Your Own Websites
The agency did a great job and we were happy with the results, but we did spend quite a bit of budget on them, funds that could have been used elsewhere - especially as we were a voluntary organisation.
Looking back, it frustrates me that we couldn't build the websites ourselves or even find a volunteer to build is a basic WordPress-with-theme site. We may not have had a slick looking a site, but it would have served its purpose and we' would have been able to grow in other areas.
In between then and now, I've learnt to code. Well, enough that I can buy a domain name, setup hosting for it, install WordPress, add a WordPress theme and amend that WordPress theme to look how I want it to. This is what I've done with the Montfort website.
Sure, it's an easy form of "coding", where most of the heavy lifting is done by the Content Management System (WordPress in this case), but it's saved me time and money.
I can also repeat the process and help others set up their own WordPress sites, which is not to be sniffed at.
3. Open Up New Career Opportunities
I stepped up with my code learning by taking Michael Hartl's much loved and referenced Rails Tutorial. It's a free online tutorial to help you learn Ruby on Rails, a web framework that many modern website use and gives you the ability to create Facebook and Twitter-esque sites and apps.
Hartl has created a fantastic tutorial that is mentioned as the place to start when learning Rails, so I went through that tutorial a few times. Once finished, I added to the basics by working my way through Railscasts and other online tutorials, so now I had a basic understanding of Ruby and Rails.
At the beginning of this year, an opportunity came up at FutureGov to product manage one of their new prototypes. Dom knew that I'd been learning to code, so asked me if I'd like to give the position a go.
Being a Product Manager was a great way to test how far I'd come, working at the intersection of the project managers and clients, who wanted something built, with the rails development team, who were building the prototype.
My coding experience came in useful here, being able to translate ideas, issues and challenges between the two teams and understand where each team was coming from.
It was a great experience, working on a live project with a real team and real objectives, and the project is still live today.
Since then, I've also volunteered with Sunday Assembly to help product manage their new digital platform. It's taken me all the way to San Francisco and back, plus I've met a whole load of great people along the way.
So learning to code has opened up several career opportunities already. Who knows what other opportunities will come up in the future?
4. Bring Your Ideas To Life
This has been a bigger step up. Taking the ideas I have in my head, writing them down on code, then putting them live on the internet.
I've had some starter projects that have helped me learn new areas of code, but I haven't yet released any of them as a 'formal' project.
Communities Finder is the current prototype I'm building. Terrible name, terrible code, terrible design, but it's there, it's live and I made it.
I'm not even saying it's a good idea, but it's an idea I've brought to life, without having to pay thousands to an agency or freelancer to build it for me.
What ideas do you have that you want to bring to life, but haven't been able to?
I think more and more that those people who do want to bring a (digital) idea of theirs to life will go ahead and learn to code, even at a basic level, so they can understand how that project is built.
And would be great to hear about your reasons for learning to code too!
Enjoy this post? Sign up for my free newsletter to get the newest articles delivered straight to your inbox: