Sean Barton - Game Developer

Programming Commandments (not just for juniors)

25 March 2010

Hi there! This is an old post that may reference technology or views I now consider outdated - or maybe even a little embarrassing. Enjoy at your own risk.

Fellow game developer Chad Stewart has written up a list of 10 commandments for junior game programmers to follow:

  1. Thou Shalt Learn
  2. Thou Shalt Learn Some More
  3. Remember the Code Review to Keep It Holy
  4. Understand Thy Code Base
  5. Honor Knowledge, Keep Reading Books
  6. Thou Shalt Ask for feedback
  7. Thou Shalt Be Wrong
  8. Liketh Nike, Just Do It
  9. Thou Shalt Comment
  10. Thou Shalt Not Break The Build

That’s not a bad list at all, although I have to wonder … what’s with this junior programmer business? This is the kind of stuff that programmers at all levels should be thinking about no matter what their title is.

And really, is there anything more annoying than a senior-level programmer that gave up learning and reading and improving his craft years ago? The kind of person that thrives on being viewed as the smartest guy in the room, so much so that he won’t ask a question that just might betray him? The kind of person that doesn’t want other people reviewing his work?

That kind of person drives me absolutely crazy. Have some damn humility.

Lego Moses

Yeah, um, anyway, I recommend reading Chad’s full post. I think it’s telling (and appropriate) that a full five of his commandments (1, 2, 5, 6, 7) are really just about the general act of learning. It’s good stuff.

But that doesn’t mean I don’t have some constructive feedback. 🙂

Chad writes …

8. Liketh Nike, Just Do It

I read this one in Game Developer. When you have some great idea, don’t let it get lost in the chain of command. Spend a few hours on Saturday and get it done. If it takes multiple weeks, so be it. Spend the time and get it done. That’s step one. Step two? Let everyone know how great you are!

I recommend strong caution with this, especially for people new to the business. Enthusiasm and initiative are fantastic qualities but trust me, if you go a bit rogue on the weekend putting something cool you just learned into the codebase then there’s a good chance your fellow programmers will explicitly not want to hear about how great you are once they sync up on Monday morning.

A long time ago I worked with a guy who, equipped with the first Game Programming Gems book, had littered our project with a dozen or so Singleton classes over the weekend – and he was crushed when his work, once discovered, was met with, “What the fuck is this shit?” instead of celebration.

If you have a decent lead then he’ll work with you to channel your intensity, and even find a way to put it into a task that excites you. So find more constructive ways to earn those atta-boys.

Further, Chad says …

9. Thou Shalt Comment

Get into the habit! It’s a good habit. Comments make life better.

I would first stress that it is far more important to write code that makes sense on it’s own and is therefore self-documenting. But failing that, yes, please do comment.

Otherwise, I can’t find much wrong with those commandments. If only it wasn’t written for just the junior programmer audience. 😉

Seanba

Hi! My name is Sean Barton (aka Seanba).

I’m an American-Canadian software developer working in Austin, Texas where I never have to shovel snow. :fire:

My career focuses exclusively on video game software and tools. You can read more about me here.


Aseprite2Unity

Aseprite2Unity imports sprites and animations for use with your Unity projects. Like all my tools it is available for free or name your price.

Get Aseprite2Unity.


SuperTiled2Unity

SuperTiled2Unity is a collection of Unity scripts that import Tiled Map Editor files to your Unity projects. You can download for free or name your price.

Get SuperTiled2Unity.

(Note that regular Tiled2Unity is now deprecated.) :zzz:


Seanba

Like my tools? Consider making a donation as a way of thanks!