Andrew's suggestions for learning how to code
Here’s another perspective.
Andrew’s friend Desmond (not his real name) has taught people to code before. This is the advice Desmond has given out to other people.
This advice is somewhat focused on gaming specifically, but applies pretty well to other areas as well.
As of 2020, Desmond has stopped teaching people to code, and no longer helps get people into the software development industry. He views the current state of the whole tech industry as terrible and toxic, and doesn’t want to encourage anyone else to enter it.
So take that grain of salt along with all the other advice here.
Write code every day. It’s like lifting weights: building cool things is cool, but building anything is what’s important.
Do the NodeSchool workshops: https://nodeschool.io
Don’t study calculus; it is a waste of time. Do study linear algebra.
Set goals. Here are my goals for you:
ssh
in to it, and get some code to run thereThere are plenty of places online to learn about algorithms and data structures.
Start attending tech talks and meetups. Only free ones: basically, only go to free events, but go to as many as possible.
Consider going to hackathons even though they’re often lame.
Consider going to Code for America events or Open Oakland or something just to get exposed to people actually doing things in the real world. This way you can see what that means and what they’re doing (volunteering, of a sort). It’s a good way to learn what people struggle with, what their needs are, and what the level of people out in the wild is. This is about exposure and meeting people.
Get pull requests merged into 3 open source projects. They don’t have to be big, popular, awesome projects; anything will do. Make a change to software you use or think is cool.
This is a way to learn to be a member of an open source community.
I suggest you look at WebGL and games, specifically:
For example, if you’re using voxel.js: Make a game with voxel.js. Attend some kind of voxel.js meetup. (They have training events and stuff.)
Write code that operates over a network. For example, an Objective C app that hits a local REST API to get data.
Learn how to get on IRC to ask questions about this stuff.
Have been tortured by the following build tools:
Think about having a cool personal website.