[In this article, originally published in Game Developer magazine, pseudonymous developers of all levels share their honest, sometimes cutting thoughts on what it takes to truly succeed in each game industry discipline.]
Success in game development takes a careful balance of hard
work, timing, and company politics, whether we like it or not. And yet,
getting ahead in your specific discipline doesn't always mean doing what
you're told or following advice to the letter.
A few successful developers with some strong, honest opinions have
agreed to share their thoughts on what it actually takes to get ahead in
the industry.
Every level of employee is represented, from the most junior
to the executive level. Pseudonyms have been used to allow the authors
to speak their minds unconditionally.
Each company is different, of course, so some of the advice that
follows may feel like it doesn't pertain to you -- or maybe you disagree
entirely. But chances are, what these developers have to say will resonate,
even when it comes from a discipline other than your own.
To that end,
different positions are represented as well, from the "learn the rules of
the game" approach of the production entry, to the "do it your own way"
approach by the design author.
Don't like what you read? Send your alternate approaches to
[email protected]. The most convincing (or contentious) responses
may be published on Gamasutra.com.
- Brandon Sheffield
Programming
Just Do It! Constructive Disobedience
By Larry Hacker
There are many things you can do to advance your career as
a game programmer. You can excel at the tasks you are given,
you can learn new skills, you can research current techniques, you can
document your code, you can stay late nailing down a tricky bug, you can
follow coding conventions, and you can help others solve problems.
But all these things are simply doing what is expected of you. Let's
step outside the box. How can you advance your career by doing things
that are not expected of you, or even things that you've specifically been
told not to do?
As a programmer, it's not uncommon to see problems that you think
should be fixed, or to see an opportunity to improve some piece of code,
or speed up a process that takes a lot of time. It's also not uncommon for
your suggestion to be ignored, or dismissed with an "it's not broke, so let's
not fix it" response.
Say your code uses a lot of hard-wired checksums as identifiers.
Every time a new identifier is added, the programmers use a command
line utility to calculate the checksum, and then copy and paste it into the
code. Now, it would be vastly quicker if they could do this inside the editor
with some hot key. You suggest this to the lead, and he says, "We don't
have time for things like that."
What should you do? You should just do it -- on your own time. Figure
out the macro system in the editor, hook in the checksum generator,
and link it to a hotkey. Then quietly show everyone what you've done.
The other programmers will be grateful that you've saved them work and
will be impressed with your coding. And the lead will hopefully admire
your initiative.
I say "hopefully" because the "just do it" approach is a potential
minefield. While it's a great opportunity, you do need to be careful that
you know what you're doing. Before taking the initiative (or rather, before
telling people that you did), make sure it's really something worth doing.
If possible, try it covertly first so that if it's not actually worth doing,
nobody will need to know you wasted your time -- and make sure that
"your time" is actually that. People have different opinions of what your
own time is and might think any time you spend coding should have
been company time.
"Oh, that? It only took 10 minutes!" That line usually absolves you of
the time-wasting label, and makes you look even more impressive.
Art
A Political Party
By Mr. Confidence
For all you game artists looking to level up in your careers, here is
a compendium of suggestions that might help you do just that.
Ask for forgiveness. There comes a time on every project when you
know the solution to a problem, but you haven't asked permission from your
lead to implement it. Sometimes, it's better to just do it and apologize than to request permission. You could do worse than getting a warning about going
over your boss' head, but solving the problem will likely diffuse her anger.
Be the single point of failure. This sounds contrary to what you'd want
to be, but it suggests increased accountability and ownership. This is
exactly what you want! Make the team dependent on your skills. If you
"own" part of the production process, then they can't live without you.
Introduce first. Well before the end of your project, you should spend
time investigating other projects at your studio. Take time to meet people on
the project that you want to be on and carve your own destiny. Don't wait for
your lead or HR representative to tell you where you're going next. If there's
one thing makes an impact on a team, it's passion for their project.
Be the hero. During production or even prototyping, always be on
the lookout for opportunities to make a big impact. Finish early. Create a
process. Solve an art issue. Whatever it is, nothing beats the kudos that
come from being the person who saved the day.
Meet the world. Too many talented artists are content to sit at their
desks and work hard as great employees, but you are doing a disservice
to yourself and to your studio if you aren't making an impact outside the
office as well. Opportunities to speak at the Game Developers Conference
and other venues offer an opportunity to network and communicate with
the industry as a whole, and the potential opportunities this leads to can
be plentiful. One good art talk generally leads to more.
Circumvent the boss. This is the sneaky, dark secret. Honestly, if
your boss is not helping you advance your career, or if he's making bad
decisions that you think will adversely affect the project, communicate
that knowledge upward. Most of upper management is insulated from
knowing what's happening on the project on the team level. You may do
more than just help the project -- you could also be helping your
career in the process. Just make sure you express yourself in a
professional manner, and don't sound like a complainer.