Writing about this subject is 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 a few of my wonderful early projects:

  • cheated at a game on my TI-83 (Falldown without wall detection).
  • announced my interest in 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 stitching 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 version control. I guess my point here is that there’s a lot to learn. 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.

Programming is literature. You can’t write amazing works after learning about grammar and sentence structure. This will take some time.