One of my most visited websites, The New Boston is fricken sweet! Guided by the witty, humorous, Bucky Roberts you can learn anything code related. Bucky’s vast knowledge includes Java, game development, C++, Python, the Adobe suite, and even some video game walk-throughs!
I’m excited because I want to change the structure of my business, and learn how to bust code’s ass.
Here is my lighthearted plan:
1. Don’t Fear the Internet: http://www.dontfeartheinternet.com/
2. Finish up at www.codeacademy.com
3. Find other Designer/Coders out there to create a mini network
4. Check out the GirlDevelopit.com group and hop in on a class for PHP/MySql
5. Jet over to Skillshare.com and sign up for some Ruby on Rails classes.
6. Check out iPhone & Android Dev
8. Be awesome and refine.
Learning to Program for Journalists: The Epic HOWTO
- Is it stupid for me to even consider learning to code? Won’t I have to spend years at it? Won’t I be a lot worse at it than a “real” computer programmer?
- Why bother?
- You’ve convinced me. How can I get started?
- What should my goals be? What kind of projects should I consider?
- RESOURCE LIST
- Where can I find your source code?
Is it stupid for me to even consider learning to code? Won’t I have to spend years at it? Won’t I be a lot worse at it than a “real” computer programmer?
Part of the reason I learned to code was that I kept running into journalists who had great ideas but were waiting around for a techie to rescue them. But I didn’t recommend that they learn to program because, frankly, I wondered if that was the advice a jerk would give — was it really practical for a busy person with a day job to learn to program? Or was it so time-consuming and expensive that it was like saying “let them eat cake”? Well, my summer project was designed to take on that very question: how long does it take a busy person with a day job (and in my case a young family) to learn to code, using only their spare time?
In my case, I was able to learn to code in 12 weeks, and at the end of those 8 weeks I was able to make simple but useful web apps. My goal was to try to spend one hour each weekday practicing.
I can’t tell you why *you* should bother, but I can tell you why *I* bother.
- I don’t want anything to come between me and my ideas. If I have an idea, I don’t want to wheedle some programmer into doing it, or persuade a funder to give me money to pay a programmer to do it. I JUST WANT TO DO IT.
- I want to learn to program because a lot of things piss me off.
- I believe that we’ve reached a point where the journalism we have isn’t the journalism that we need to address serious problems we have not only as a country but as a species. Our era doesn’t just call for computational journalism: it demands it.
- It’s where the cool kids are.
- It’s fun.
- Because my hour of coding is the best hour of my workday. Total zen.
- Because the ability to teach ourselves New Things is one of the cardinal virtues that makes us human. Making choices to control what we learn is one of the primary ways we become an Autonomous Human Badass.
- It’s a full-employment act.
You’ve convinced me. How can I get started?
- Find a group to learn with. Don’t do it alone. While you don’t need to spend cash on college courses (and I don’t really recommend it), I don’t recommend trying to learn exclusively on your own from websites or books. The problem is this: you’re going to get stuck. (No, really: you’re going to get stuck). In that case, you need someone more experienced than you to help you get past the block.
- Choose a programming language or framework to start with. When you’re trying to find one of the groups above, you won’t find any named “We want to teach journalists to make awesome stuff on the web!” Groups are organized around specific programming languages and technologies. Choose a language or framework that A) is popular enough to have a user’s group nearly everywhere and B) is widely used on the web. Good places to start: Python, and the web framework that goes with it, Django; Ruby, and the web framework that goes with it (Rails) or the language I started in, PHP (which is the grand old man of web scripting languages and has many frameworks to choose from). Ruby and Python are the cool kids’ languages; PHP is not. Choosing one will let you start looking for a group to join — you’re looking for [mycityname][programming language name] User’s Group. Some groups have events or “let’s all read along through this book and do the exercises” programs. Those are gold! I found the group that taught me, BostonPHP, via Meetup.com.
- Commit to giving it an hour a day, weekdays, for the first eight weeks. Try to practice every day at the beginning and don’t take long breaks. Breaks of a week or more mean you’ll forget things and need to start again at an earlier level.
- Set up a “development environment” on your computer. See here for instructions. You can do this in an hour and have all the tools you need to get started Making Ze Stuffs.
- Get an account on Github. Github is a site where you can upload your code and keep track of other coders and projects. Do it even before you have something to upload.
What should my goals be? What kind of projects should I consider?
Look for the simplest possible project that you can do that is still useful, beautiful, or funny. The limited skills you will have at first, along with your limited time, are a serious constraint. Learning to do something beautiful and useful within those constraints is no less an art form than learning to write a sonnet, or jazz, both of which operate within constraints to create something beautiful.
Look out for what I call “one trick pony” websites. My favorites:
- There used to be a short list here, but that’s been replaced by the much, much better and more comprehensive Life and Code Learn To Program Resource Guide, which combines links all the tools you will need to begin web programming, tutorials, and much, much more.
Where can I find your source code?
You can find my source code (including the source code for Journalism Conference Bingo) at github.com/lisawilliams/.
There is a lack of women in technology. There is a lack of women led startups.
Quick - what do you think of when you think of a web developer, a hacker, somebody that is “technical”? It’s probably a guy. It doesn’t need to be. There are many brilliant women doing amazing work in the technology field. There could be many more. It starts with what little girls think of technology. It needs to be accessible. It needs to be cool. I love that this site is just talking about kids. I signed up!
As a side-job, I help students who struggle with their courses - nowadays it’s mostly Intro To Programming.
I find that in essence, there are only two kinds of problems my students have:
- Understanding how to think like a programmer
I can’t do much about the first point - most of my…
Very, very much worth the read.
I want to talk about what a big role faith plays in learning something new.
Whenever I’ve committed to learning something substantial (or really, doing anything substantial) I’ve come to a point where I really didn’t know if I could do it.
What do you do then? What do I do then?
You must plow forward blindly. You must advance without assurances, without information. You must keep going. I must keep going.
This is a profoundly *uncomfortable* place to be in. It’s especially uncomfortable if a lot of your personal and professional identity is based on being The Smart One, because you will most assuredly feel very, very stupid. Stupid because you haven’t learned it already, and stupid for choosing this particular thing to learn or do.
I am not a believer (I regret this and miss the religious faith I once had, as God was a most excellent box in which to place such worries), and so I must simply bull my way through that stage. What does really help is the encouragement of others. So? Ask for it. If you’re stuck, and you don’t know if you should go forward but you don’t want to give up, ask for encouragement. You’ll get it. People all over the place will tell you not to give up, and you can and you must treat their voice as the voice of God, redirected through the mouths of ordinary people.