[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 firstname.lastname@example.org. The most convincing (or contentious) responses may be published on Gamasutra.com.
- Brandon Sheffield
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.
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.