Friday, March 8, 2013

Sources of Motivation

I, like many other developers I'm sure, seem to go through mini "burn out" cycles every N months and hit slumps where I don't seem to be making progress on any of my personal projects and thus have a really hard time sitting down at a keyboard and punching out some code.

Image swiped from Kotaku 'cause I think it's pretty!
(I can usually keep myself productive at work, but that's because "keeping a roof over my family's head, food on their plates, and clothes on their back" is a mighty powerful motivator! It's far easier to let the hobby stuff slide, though, even when that's usually the more interesting work.)

Though I'm not in one of those slumps right now (unless you consider "my child takes up a lot of what was previously free time" a slump) I got thinking the other day about how I always get incredibly motivated to create something great after hearing about other people's success stories. I have been lifted out of my funks before simply by reading a single article or listening to a single talk. And that got me thinking that if it works for me then why not share some of my favorite sources of inspiration and motivation with the good readers of my blog? Maybe it'll help one or two of you get motivated as well!

Thus, without further ado I give you: Toji's "Recommended reading and/or viewing list for programmers that need to be motivated to code good and do other things good too."
// TODO: Work on better article name generation skills

Masters of Doom
This story of John Carmack and John Romero's rise in the game industry has been dramatized somewhat, but the result is a very engaging and easy read that does a good job of portraying the giddy excitement of hacking late into the night on a project you're really passionate about. If you're looking for a "quick hit" of inspiration just read chapters 3 and 4.

Minecraft: The Story of Mojang
Notch is the dream that every hobby game developer has personified. Here's a guy that took his silly little personal coding project and turned it into one of the most wildly popular games of a generation and made himself a millionair and started his own company while he was at it. What really got me about watching this movie, though, was seeing the scenes where a teacher was using Minecraft in the classroom. Most of us will only ever dream of seeing that kind of success for our products, but ALL of us should be trying for it!

Indie Game: The Movie
A quick warning on this one: it can be hard to watch at times. Indie Game follows the development of Super Meat Boy and Fez, and provides something of a postmortem on Braid. Over the course of the movie we see the harsh toll that the game creation process exacts on the creators (Phil Fish says without the slightest hint of humor at one point "If I can't finish Fez I will kill myself"), and for anyone that's been emotionally tied to a project before that's a tough thing to see. It's worth it in the end, though, to see these individuals succeed.
(Though it's not actually covered in the movie, Fez did VERY well once it was released.)

Code Rush
The story of Mozilla's initial release, this one is a bit dated (it's kind of comical to hear them speculating about how this new-fangled "open source" thing is a huge risk) but very enjoyable nonetheless. It's fun to realize that 13 years on software development really hasn't changed much at all, we just do it on prettier screens now. :)

Inventing on Principle
Sometimes you just need to see someone doing something really cool to get your juices going. To be honest, the second half of this talk gets a little long winded for my tastes, but the demos that Bret Victor shows off are awe inspiring. You'll find yourself thinking "why doesn't MY code editor do that?" (There's very good reasons why, actually, as everything he shows is incredibly special-cased, but it's still cool to watch!)

Postmortems for just about anything
Some are more inspirational than others, but hearing from developers after the fact about what worked and what didn't is usually interesting, at the very least.

Fabien Sanglard's code reviews
Fabien has done detailed code reviews of Quake 1, 2, and 3, Doom and Doom 3, Wolfenstein, Duke Nukem 3D, and Another World. (Essentially any high-profile open source release) They're all fascinating, and I find that I draw a lot of inspiration from learning about the creative hacks that game devs put in place to address various limitations in the systems of the day.
He's got a lot of other cool content too, so be sure to take some time and troll around the rest of his site!

John Carmack's Keynotes
I like Carmack's keynotes because he just gets up and talks tech, with no slides or other visuals, so his talks are easy to listen to while doing other things because you're not constantly distracted by diagrams in a slide deck.

That's just the items that jump to mind right now, I may add more to this list as I find them. In the meantime feel free to share any of your favorite inspirational media in the comments!