Too long; didn’t read:
- Get a Raspberry Pi
- Sign-up to codecademy (free)
- Have a project and end-goal in mind
- Have patience
- Get a nice integrated development environment (IDE) AKA a program that makes your code readable and nice
- Have a crack!
Programming has been my escape for the past year and a half. Seriously. I have pretty much done nothing but. I absolutely love it. I love the feeling of getting something to work the way I want it to, having tinkered, edited and debugged until my head hurts. It’s a weird feeling. You know that cliché saying “It’s not the destination that counts, it’s the journey”? I think that holds very true for coding. It’s a journey, man.
I dipped into HTML and CSS way back when, but that introductory front-end stuff just wasn’t doing it for me and I gave up pursuing it. It was the moment when I saw a friend’s array of Raspberry Pis that made me want to dive back in; all of the components I didn’t understand and wires and flashing LEDs and motors and cogs and “AHHHHH!”. I felt like a 3 year old child on Christmas morning and I wanted a slice of that pie (pun definitely intended).
Anyway – to cut a long story short – I bought a Raspberry Pi. It wasn’t a hard choice given how unbelievably cheap they are. I mean… £4?! Four British pound sterling. I’ve bought beers more expensive than that.
“What is a Raspberry Pi?” I hear you ask. A Raspberry Pi (RPi) is a delicious little computer. Just like whatever it is you’re using to read this. Only this one bridges the world of software and hardware so well that it becomes a seamless and inviting portal. You can pretty much do anything you can think of with an RPi. Home automation? No problem. TweetBots? Easy, son.
So that’s how I got started with programming. I had a project in mind, and I wanted something that’ll help me get there. I think that’s the first step in your programming journey.
Have a project in mind…
The reason I say this is because it makes the learning experience less abstract. There’s tonnes of tutorials and resources available online that’ll teach you the syntax and walk you through basic programming projects that’ll add numbers or capitalise letters in a command line environment. But that quickly gets boring. Having a project in mind will keep your brain ticking through those tutorials (I recommend this one very highly), you’ll start thinking of ways you can apply the knowledge you acquire to the project you want to work on.
I think patience is a requirement for most things in life but MY GOD is it a requirement of programming. Especially when you’re learning. Everything will look foreign, bold red errors will scream at you “SYNTAX ERROR, DO YOUR WRITING BETTER”, nothing will work and you will want to give up. By all means, give up… for 1 or 2 days, recalibrate and take stock, then return. Always return and keep doing so. One day it’ll all just start clicking, you’ll be able to problem solve purely in python and you’ll genuinely start thinking in a different way.
Download a nice IDE
If you do wind up buying a Raspberry Pi, you’ll probably spend a lot of time editing code in a console/command terminal. Terminals are handy for many a reason but coding here can be annoying. So is coding with TextEdit and Notepad. Download PyCharm and get cracking with that. It’s free and it’ll make your code look so much prettier. The whole debugging process (which you’ll come to get to know very well) will get a lot quicker and easier too.
Steal, copy and annotate
If there’s anything that truly stands out about the Raspberry Pi is its community. There are endless YouTube how-tos, forum posts and code in GitHub repositories. Don’t be afraid to copy and paste that stuff, guys and girls! Tinker with it and make it your own, try and understand it, annotate your work and share it with the world! We’re in this together.
And finally, just keep going. If you can’t think of anything useful to build, build something useless, just build anything. Write your own story, be the next big thing, don’t worry about any of the other teams in your league, just win your own games and everything will take care of itself.
To finish, I’ll leave you with one of the most inspiring things I’ve heard from my favourite film-maker, Casey Neistat (which I’m probably about to badly paraphrase):
“There’s two things in life every person needs to ask themselves and figure out: 1. What do I like to do the most? and 2. How do I get paid doing that?”
Could coding be your ‘thing’?