How I learned to program
Writing about this subject is really weird to me. I am a programmer. I get paid to turn caffeine into software... but I feel like I am clueless when it comes to explaining to other people how to get started doing what I do. I learned to program for incredibly silly reasons. Here are few of my wonderful projects:
- cheated at a game on my TI-83 (Falldown without wall detection)
- announced my interest of Dragon Ball Z and anime in general with an anime fan website which eventually turned into me creating a database-driven review and article management system.
- created a text-based multiplayer game (also spawned from my anime website).
- visualized where on the screen I put my cursor while using my computer.
- saw the “mood” of reddit by aggregating the upvotes of top posts and comments of the top subreddits.
- many more... with some I'm too ashamed of to put here.
Every single one of these projects has been enjoyable and none of it was a direct result of reading a book and following examples. I learned by literally scrapped together snippets of code together along with A LOT of trial and error. Eventually I learned how important reference documentation is... Eventually I learned how to make “real” applications where database passwords aren't sitting in the source code. Eventually I learned how version control worked. I guess my point here is that there's a lot to learn. BUT don't focus on that first. Focus on doing something interesting. Solve problems. Create problems. Get messy. Even if you fail... (and you will fail... a lot) remember that you are learning and this is all part of the process.
I know this isn't really helpful to a lot of people who are looking for the most effective online programming class or book where they'll be programming supercomputers on mars when they finish. But that's not really how this works. Programming is literature. You can't write amazing works of fiction after learning about grammar and sentence structure. This will take some time.
Do you have questions, suggestions, comments, insults? Send an email to email@example.com.