Molecule 프로필: Amy Phillips
Amy Phillips는 자칭 ‘툴 코드의 대사제’라고 불러요. 그 호칭을 명함 위에서 보면 정말 끝내준답니다. 사실 진짜 직함은 ‘리드 툴 프로그래머’예요. 툴 코드의 대사제보단 화려하진 않지만, 중요성은 뒤쳐지지 않는답니다. Amy와 그의 팀은 스튜디오의 다른 여러 팀이 필요로 하는 툴을 만들어내니까요. 이 자리에서 저희는 Amy의 퍼즐에 대한 사랑, 사람들의 문제를 해결해주는 것, 그리고 전형적인 Mm의 엉뚱함에 대해 이야기를 나눠 봅니다.
안녕하세요, Amy! Media Molecule에선 어떤 일을 하시나요?
안녕하세요, 저는 Media Molecule의 툴 코드의 대사제, Amy Phillips입니다. 유감스럽지만 당연히 그 직책이 진짜는 아니고요. 그 이름은 제가 7년 전 GDC(게임 개발자 콘퍼런스)에 갔을 때 생긴 거예요. 명함을 만들어야 했는데 어리석게도 제가 직함을 고를 수 있게 해주었죠. 그래서 툴 코드의 대사제를 골랐어요. 공식적인 명칭은 리드 툴 프로그래머이지만, 저는 대사제라는 호칭이 좋아요. 강력하고 화려해 보이잖아요.
그렇다면 실제로는 무슨 일을 하시는 건가요? Dreams Universe에서 사용하는 툴을 개선하시는건가요?
아뇨, 왜 그렇게 생각하시는지는 알겠지만, 저희는 사용자가 Dreams Universe에서 쓰는 툴을 직접 만들지는 않아요. 쉽게 말하면, 저희 툴 팀에는 4명이 있는데, 사용자들이 쓰는 툴을 만들기보다는 Molecule 직원들이 사용하는 툴을 만들죠. 툴을 만들거나 Molecule 직원들이 일하는 데에 방해가 되는 것들의 출처를 알아내기도 해요. 그래서 직원들과 많은 이야기를 나누며 무엇이 그들의 일을 방해하는지, 일의 진도를 늦추는지, 일할 때 집중력을 해치는지 알아내고 저희가 도울 수 있는 일을 찾아내는 거예요. 지속적 통합을 위한 빌드를 만드는 작업을 해서 프로그래머가 새로운 코드를 입력했을 때, 그 코드를 빠르게 빌드해서 오류가 난 부분이 있는지 알려주는 시스템을 구축하고 있어요. 쉬운 만큼 아주 유용한 기능이랍니다! 이런 시스템은 새로운 코드를 빠르게 빌드하고, 그것을 QA나 콘텐츠 크리에이터 등 그 빌드에 추가할 것이 있을 만한 사람에게 빠르게 전달해요.
자동화된 테스트도 만들어서 어떤 코드가 입력되었을 때, 여러 테스트를 진행해 오류가 난 부분을 찾아낼 수 있어요. 저희는 언어 현지화도 돕는데, 게임의 새로운 텍스트를 번역해 모두가 불어나 스페인어로 플레이할 수 있고 번역을 빠트린 부분이 없는지 확인하는 작업을 하죠. 소스 관리 관련해서는 데이터를 이리저리 옮기는 작업을 많이 해요. 소스 관리는 코드를 기록하고 무엇이 왜 바뀌었는지 확실히 알기 위해 사용하는 시스템이에요. 예를 들면, 특정한 버전의 이전 빌드로 돌아가 이전에 공개한 버전을 다시 만들어낼 수 있게 하죠. 사람들이 간과하는 모든 문제가 툴의 소관인데, 다양한 일을 경험할 수 있고 스튜디오의 여러 분야의 사람들과 이야기할 수 있는 기회가 주어져서 좋아요.
툴 요청은 대개 비슷한 경향을 보이나요, 아니면 필요에 따라 다 다른가요?
각자 다른 경우가 많은 것 같아요. 워낙 스튜디오의 다양한 부서와 함께 일하다 보니, 저희가 받는 요청도 그만큼 몹시 다양하답니다. 그래도 반복되는 요청이 있긴 해서 그러한 요청에 대응하는 방법에 대한 가이드라인을 업데이트하려는 중이에요. 예를 들면 ‘흔한 오류가 났는데 대체 무슨 일이 일어났는지 알아내려는 중이라서 기호가 필요해요’ 같은 거죠. 그건 좀 흔한 요청이에요. 그 외에 정말 뜻밖의 요청을 받기도 하죠.
사람들이 요청을 하면 실제로 어떤 툴을 만들어 내시나요?
종종 Molecule 직원들이 빌드를 빠르게 완성해야만 할 때가 있어요, 2020년에 재택근무가 시작되었을 때, 다들 인터넷 속도가 달라진 탓에 빌드를 받는 데 문제가 생겼어요. 사무실에서는 빌드를 아주 빠르게 다운로드할 수 있었으니까요. 그래서 빌드를 유통하는 툴을 개선해 더 쉽게 빌드를 주고받을 수 있게 해야 했어요. 이미 하드웨어에 있는 것들을 사용하고, 부족한 것만 네트워크를 이용해 다운로드할 수 있게끔 하는 코드를 잔뜩 디자인했죠. 온통 기술적인 거지만, 저는 프로그래머라서 그런 걸 즐긴답니다. 예전에는 네트워크 프로그래머로 일하면서 여러 흥미롭고 까다로운 문제를 해결했어요. Burnout 자동차 경주 게임을 작업하면서 전체 네트워크의 경주용 자동차들이 똑같이 보이고 똑같이 행동하도록 하는 작업이었죠.
프로그래밍을 주로 하다가 어떻게 이 툴 직업을 갖게 되셨나요?
저는 처음에는 전반적인 코딩을 하다가 AI 코딩을 잠시 했었고, 그 이후에 네트워크 코딩을 하게 됐어요. 그게 바로 [Criterion Games에서] Burnout 3를 작업하고 온라인 버전을 출시했을 때죠. 그 이후에 Media Molecule에서 네트워크 프로그래머로 일하며 LittleBigPlanet의 초기 작업을 했어요. 그 뒤에 출산 휴가에서 돌아왔을 때, 저는 일주일에 이틀만 일하는 시간제로 근무하고 싶었어요. 안타깝게도 네트워크 코딩은 그게 불가능해서 뭔가 다른 일을 할 수 있지 않을까 찾던 중이었죠. 그때 스튜디오의 사람들이 간과하는 여러 문제가 눈에 들어오기 시작했어요. 그때부터 그 문제들을 해결하기 시작했고, 사람들이 무언가가 필요할 때 도움을 요청할 수 있는 사람이 되었죠.
거기서 제 직업이 생겨난 거예요. 무언가를 새로 만드는 것보다 잘 작동하지 않는 부분을 찾아, 더 잘 작동하도록 고치는 것이 중요한 거죠. 사람들이 즉각적인 피드백을 줘서 굉장히 보람 있는 일이에요. 예를 들어, UI(사용자 인터페이스)가 더 나아지도록 빌드 배포 시스템을 수정해 가장 좋아하는 빌드를 리스트 위에 위치할 수 있게 한다면, 사람들은 즉각적으로 피드백을 주죠. 뭔가 좋은 것이 생기면 사람들은 늘 고맙다고 말해요, 정말 사랑스럽죠.
코딩은 대학에서 배우셨나요, 아니면 독학하셨나요?
재밌게도, 저는 어쩌다 보니 코딩에 발을 들이게 됐어요. 원래는 수학을 공부하러 대학에 갔고, 일 년 동안은 수학을 전공했는데 너무 어려웠죠. 2, 3학년 때는 물리학으로 전공을 바꿨는데, 수학보다 조금 더 쉬웠어요. 그래도 여전히, 글쎄요, 저에게 그렇게 흥미롭진 않았어요. 그래서 3학년을 마치고 다시 전공을 바꿔 컴퓨터 공학을 일 년 동안 공부했죠. 제가 다닌 대학에서 전공을 자주 바꾸는 것이 가능한 건 행운이었어요. 그래서 컴퓨터 공학을 해봤는데 너무 재미있었고, 그게 딱 맞았던 거죠. 저는 컴퓨터 공학 학위를 땄는데, 어느 날 Big Blue Box Studio에서 Fable을 작업하던 친구가 길퍼드로 놀러 오라고 했어요. 그래서 주말에 갔더니 마감 기한이 급해 친구가 출근해야 했죠. 친구를 따라서 사무실에 가봤는데 사람들은 아주 친절했고 사무실에는 킥보드와 간식도 있더라고요. 너무 멋졌어요. 그래서 저는 ‘오 그래, 비디오 게임, 내가 할 수 있겠는데?’라고 생각했죠. 그 이후 길퍼드에 있는 모든 비디오 게임 회사에 제 이력서를 보냈고, Criterion에서 답장이 와서 결국 거기에 취직하게 됐어요. 그러니까 저는 운이 엄청 좋았고 미끄러져 발을 들이게 되었다고 할 수 있죠.
Mm에서 일하면서 가장 흥미로운 것은 무엇인가요?
그건 바로 Mm의 사람들이죠. 저는 그들과 일하는 것이 너무 즐거워요. 다들 굉장히 똑똑한 사람들이고, 동시에 아주 친절하고 사랑스럽고 창의적이에요. Mm에서 사람들과 대화할 때는 업무가 아닌 사람 대 사람으로의 소통이 먼저기 때문에 아주 평등하게 느껴져요. 업무보다 사람이 우선인 분위기가 정말 좋아요. 모두가 요즘 어떤지, 무슨 문제가 있는지, 작업이 어떻게 되어가는지에 대한 대화를 나눌 수 있죠. 특히 툴 프로그래머로서 그런 대화 방식은 아주 유용해요. 왜냐하면, 주로 사람들이 ‘저는 이런 걸 원해요’라고 할 때, 사실 필요한 건 그게 아니거든요. 그래서 이야기를 되짚어가면서 ‘좋아요, 왜 이게 필요하죠? 무슨 효과를 보고 싶은 건가요? 어떤 맥락에서 이런 요청을 하는 거죠?’라고 물어봐야 하는 거죠. 전체 맥락을 파악하고 나면, 그 사람이 요청한 것과 실제로 필요한 것이 어떻게 다른지 알 수 있고, 다른 사람들도 똑같은 것이 필요한지, 만약 필요하다면 어떻게 제공하는 것이 최선인지 알아낼 수 있어요.
Mm의 초창기 때부터 함께 해왔는데, 지금까지 했던 작업 중 가장 좋아하는 작업은 무엇인가요?
저는 첫 LittleBigPlanet이라고 하고 싶네요. 굉장히 어려웠거든요. 정확히 무엇을 만드는지 아무도 몰라서, 만들면서 알아가는 과정이었어요. 솔직히 말하자면, 그 모든 게 어떻게 하나의 작품으로 만들어졌는지 잘 모르겠어요. 그때는 수많은 흥미로운 아이디어와 실험들이 이뤄지고 있었거든요. 그때 저는 아직 네트워크 코딩을 했지만, 엉뚱한 실험 정신이 너무 좋았어요. 아직도 어느 정도는 그 엉뚱함이 남아있는 것 같네요.
제가 Mm에서 좋아하는 것이 바로 그런 점이에요. 그냥 갑자기 흥미롭고 창의적인 일을 하게 되는 거 말이죠. 그런 일을 공동으로 작업하기도 하고요. 한 사람이 엄청난 아이디어를 가지고 있다는 느낌이 아니에요. 만들고자 하는 것의 핵심이 있고, 모두가 그 핵심과 어울리는 것들을 추가하며 기여하죠. 회사의 모두가 창의적인 작업을 할 기회가 있다는 것이 다른 게임 스튜디오에서 찾아보기 힘든 요소인 것 같아요.
툴 프로그래밍에 관심 있는 사람들에게 해줄 조언이 있나요?
글쎄요, 학위가 중요하긴 하죠. 컴퓨터 공학과 같이 프로그래밍과 관련된 분야의 학위가 있다면 코드를 이해하는 데에 도움을 주는 기본 개념들을 배울 수 있기 때문에 도움이 돼요. 알고리즘이나 사용한 데이터 구조를 이해하고, 그것이 캐시 사용하는 방법과 이상한 실행 오류가 생기는 이유를 이해하는 것은 코드의 오류를 잡아내는 과정을 훨씬 단순하게 만들어요.
하지만 사람들을 만나고 인맥을 넓히는 데에는 게임 잼도 좋고, 그냥 뭔가 해보고 창의적인 기술을 사용해 보는 것이 좋아요. 솔직히 말하자면, 게임을 완성하는 것이 아주 어렵다는 것을 깨닫는 것이 이 업계에 계속 있을 것인지 아닌지 결정하는 데에 중요해요. 게임을 시작하기는 쉽지만, 완성하는 것은 굉장히 어렵죠. 대학에서는 조금 더 쉬울 수도 있겠네요. 누군가 필요한 것을 다 가르쳐주기 위한 강의를 만들었으니까요. 하지만 혼자 한다면, 무엇이 필요한지 알아내고, 그다음에 그걸 자신에게 가르치기까지 해야 하니까 훨씬 어려워요.
Mm 직원은 책상에 재미난 물건이 많은 것 같아요. 지금 책상에 뭐가 있나요?
음, 제 책상에는 별로 재미있는 게 없네요. 뭐가 있을까요? 아, Journal 29: Oblivion이라는 퍼즐 책이 있어요. 그냥 퍼즐이 가득한 책인데, 수평적 사고기법을 사용해야 하는 퍼즐들이어서 조금 어려워요. 퍼즐을 풀기 전에 퍼즐이 무엇인지부터 알아내야 하죠. 하지만 퍼즐을 좋아하는 사람에게는 최고예요. 또 친구의 웹사이트를 업데이트해 준 대가로 책과 엽서를 받은 적이 있는데, 그때 받은 엽서가 있네요. Kindle 전자책 단말기도 있고, Mm 핀도 있어요. 제 책상에서 가장 재미난 물건은 제 머그잔인 것 같아요. 제 머그잔은 아주 멋지죠. ‘용기의 컵’이라고 불리고 ‘당신은 유능합니다’, ‘두려워하지 마세요’, ‘걱정꾼이 아닌 용사가 되어라’, ‘조금 느려도 괜찮아’, ‘당신은 당신이 생각하는 것보다 강하다’ 등의 동기 부여 문구가 적혀 있어요. 그리고 ‘당신은 마법과 같고 가치 있는 사람이에요’라고 말하는 유니콘이 그려져 있죠. 유니콘은 모든 걸 더 좋게 만들어줘요.
Dreams Universe 유저 가이드는 제작 진행 중입니다. 학습 자원 및 기사를 계속 추가할 예정이므로 업데이트를 수시로 확인해주세요.