Learning to code, advice for inquisitive non-coders from the GDNdi

As a very brief intro the Guardian Developer Network Drop In (GDNdi) it is explained here and the next one’s announced here. As a result of the May drop ins, Alan Rusbridger invited three of the developers to speak at the Guardian morning conference about their projects and what they were working on, including Anna Powell-Smith’s work on the Domesday Book and the Domesday Map, Angus Fox’s work on Multizone social mobile apps for UK Police and Rob Mckinnon’s Who’s Lobbying – all projects that are self-funded/delivered on a shoe-string but driven by the developers’ own passion for the subject. There were many developers who dropped in and who will feature if they fancy, but these three were a lovely start.

The burning question after the morning conference was: ‘how can I learn to code?’

The following is advice received from Anna and Rob, I can lay no claim other than asking the question, getting the answer and permission to blog about it – but it is such a common question that I thought it was important to share their advice, as it can help everyone (who wants to know :))

As far as programming languages go for the beginner we recommend Python or Ruby above anything else, certainly!

Learn Python the Hard Way: http://learnpythonthehardway.org (*FREE* book with structured exercises) Paul Bradshaw, who is a journalist who has learned to code, used this and recommended it highly.

There’s a nice quote in the afterword to the book:

“Programming as a profession is only moderately interesting….. You are much better off using code as your secret weapon in another profession. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines.”

There’s an online Ruby tutorial here: http://TryRuby.org/

The ScraperWiki tutorials are good to do some practical scraping (Anna Powell-Smith wrote a bunch of them) http://scraperwiki.com/about/

Once you’ve done the book/tutorial, then you should pick a real-world problem you want to solve, find a tame coder, and just do it.

In the spirit of “open everything” and hopefully the benefit you have gained from this advice, please do champion Anna and Rob’s projects as well as those of any developers you know. And if you are a developer, please do come along to our drop-ins, you can work in peace but we also have lots of things happening at the moment in the Guardian if you want to know a bit more.

There is of course the fabulous hacks and hackers for those journalists who are keen on being a part of a community hungry to learn more.