This is my year to learn to code and if the number of sign ups for codeyear is anything to go by, I’m surely not alone. It’s great that lots of people want to learn to code but ironically enough it’s not the numbers that interest me. It’s the reasons. What do all these people plan on doing with their new found skills?
I don’t want to be a developer, not even a web developer nor designer. My interest is in journalism. Not just the telling but the gathering. Technology and journalism are merging into a beautiful soup at the moment. In that sense there are already fantastic developers flocking to media platforms and progressive media management looking at technology not only as their platform but as their product. Nowhere else is this more clear than at my host news institution: The Guardian.
Thanks to the web, all the tools to publish are readily available. You can easily practice journalism. Big scoops and great insights are no longer confined to newsroom staff. Honing your journalism skills, attracting readers and learning how to best supply their needs is all within easy reach. Learning to code and getting the opportunity to explore its possibilities requires guidance and a support team. Knight-Mozilla have given me these opportunities for the year.
So why extend code further into the newsroom? That’s what I want to find out. I want to code but I will never be a developer and the learning route is very hazy when you are of this mindset. So I’m learning how to learn in order to experiment with application. And I’m doing it all in the open as part of the Knight-Mozilla News Challenge. With that sentiment in mind, here are my tips for learning to code from scratch and not for what you expect (I started by learning Python so these tips are based on Python programming):
As an introduction to the basics, watch these videos introduction computer programming from Khan Academy.
Once you’re comfortable with the basics, I would commit to the cause and work through Learn Python The Hard Way. It’s the easiest way for beginners (trust me). It’s name is referring to the fact that programmers don’t actually like writing code (they are very lazy!) and this involves typing everything out. This means you need to install Python, download an editor and use the console. These steps are a rite of passage but will take you from being a computer user to knowing how a computer is used.
A step up from this is Python koans which you need to fork from GitHub and install. Having a GitHub account means you have a repository for your code and can build on top of other people’s (actual developer’s) code. This will introduce you to the world of programming!
If you think you’re ready to start writing your own code but not yet at the ‘build’ stage, then a quick journalistic fix is to write a scraper in ScraperWiki. The development environment is built-in so all you need is a browser.
If you want to have a neat programme that you can run from your computer then a cute little build is the Python IRC Bot Phenny. I’ve added some journalism related modules. You can read the post here and get all the code from GitHub.
Those are the steps I took which impressed Mozilla and The Guardian enough to give me a year of mentorship. But it’s just an introduction. It’s like being asked to work as a writer in the newsroom after having only learnt to read and write.
So wish me luck!