Matthew Allen loves shaders.
"I love putting on the headphones and writing shaders," he told Gamasutra recently, while chatting at an Xbox press event. "It scratches the technical itch and the artistic itch, because I get to make things look shit-hot by writing code."
But there's a problem: Allen loves shaders a bit too much. He most recently served as the technical art director on Monolith Productions' Middle-earth: Shadow of War, and in the early stages of the game's development, Allen created a bit of a bottleneck for the team by allowing himself to become "the shader guy."
He loved writing shaders, but couldn't devote enough time to both them and his other duties to keep up with the pace of production. To solve the problem, he removed the bottleneck: himself.
"I realized, you know what, this is cool, I do it well and it's awesome, but...I need to find a better way," he said. "So I ended up finding a super awesome woman, just out of college, and she wanted to write shaders, so she basically became our shader queen. She's written almost all of the shaders in the game."
This is a practical, timely example of how Allen solved a production problem, something he believes game devs should constantly be looking to do if they want to be good leads -- even when it means making yourself obsolete.
'Make it so you come into work every day and you don't have anything to do'
Hiring someone new onto the team helped dislodge Allen as a bottleneck, since shaders were someone else's full-time responsibility now. That also meant he suddenly had a bit more free time in his work day, and to fill that time he went looking for something to solve.
"I moved on and started looking at what our problems would be," he said."One of the big ones we ended up tackling was all the facial animations for all of our orcs, and the 40,000+ lines of dialog, and how we were gonna animate all that with all the actors."
So Allen and other folks on the Shadow of War team spent about a year "completely redoing" the animations for the game's monstrous maws, revamping how many bones were in each face and how they move in response to the data they're fed. Looking back now, Allen isn't sure it would have happened if he'd kept happily writing shaders.
"The best thing you can do, for yourself and for us, is to make yourself obsolete. Make it so you come into work every day and you don't have anything to do."
"If I hadn't said 'alright this thing that I'm doing, that I love doing...I should move on,' if I hadn't thought through that, then all of that updated face tech, that improved pipeline....well, it probably would have existed, but the system was already sort of long in the tooth, and by focusing on it, I think we got it to a lot better place than it would have been otherwise."
Allen shared this specific example from Shadow of War's development to illustrate a piece of game dev career advice he wants other devs to think about: always look for new problems. Someone told him that once, when he was feeling stuck, and it's stuck with him ever since.
"I once got really great advice from Samantha Ryan, who used to run WB [Games], and before that was Monolith's studio head," said Allen. "She was my manager, and she said the best thing you can do, for yourself and for us, is to make yourself obsolete. Make it so you come into work every day and you don't have anything to do."
There's a lot to unpack there, this notion of going to work every day and looking for ways to make your job extinct. Allen acknowledged that it can feel counter-intuitive, but suggested devs who want to be good leads think of it less as eliminating their value and more as solving problems.
"It seems very counter-intuitive; I was like, are you just gonna fire me then?" Allen recalled, with a laugh.
"And she's like 'no, because there's a certain personality type that will always look for the next problem. And if you're too busy focusing on existing problems, you're not doing the thing that's best. The best thing for you to do, would be to look for the next problem. Because when you look for those problems, and solve those problems, we as a company are better, and you are more valuable. So really her whole point was, shift responsibility onto folks. Which seemed counter-intuitive and weird, but I don't know, I loved it, and I've lived by that ever since."
Of course, many devs will feel like they're in a position where they can't shift responsibilities onto others -- if they're working alone or in a small team, for example, or doing remote contract work.
Allen acknowledged this as well, noting that his experiences are most relevant to devs at large studios but can also serve as a general reminder to try and solve problems permanently whenever possible. If you can figure out a permanent solution to something you regularly spend time working on, you can move on to solve bigger and better problems.
"Always look for new problems. Look to solve new problems, look for people to help you solve them. Being stuck someplace is really about not pressing through, sometimes," added Allen. "Our industry is unique in that, the whole point of the job is constantly solving problems...so every day you can sort of learn something new, solve a new problem."