느긋하게 가자

이제 허니문 기간은 없습니다. 마음에 안 드는 점들은 제가 해결해 나갈 업무들입니다. 다만 이 모든 것들을 천천히 해 나갈 작정입니다.

느긋하게 가자

출근 첫 날에 함께 처음 출근하신 분들과 널찍한 회의실에 모여 간단한 오리엔테이션을 한 다음 각자 자기 자리가 표시된 종이를 들고 서로 다른 층으로 흩어졌습니다. 여러 사람들은 서로 각기 다른 부서로 이동해 앞으로 엘리베이터 안을 제외하고는 여간해서 마주칠 일이 거의 없겠지만 달리 생각해 보면 오랫동안 같은 자리에서 일하다 보면 결국은 어떤 이유로든 마주칠 수 있지 않을까 생각해보기도 합니다. 이전에 프로젝트가 터지거나 다른 분들이 팀을 떠나실 때 송별회를 빙자한 마지막으로 서로 알코올의 힘을 빌어 아무 말이나 해 대는 자리에서 서로의 헤어짐을 아쉬워하면서도 다른 한 편으로는 업계를 떠나지 않는 이상 대략 5년 정도 지나면 어떻게든 다시 만나게 되며 그 정도 시간이 흐르면 하다못해 옆 사무실, 같은 건물에서라도 다시 스치게 되니 그 때까지 서로 잘 버티자는 말을 마지막으로 헤어지곤 했습니다.

제 자리를 찾아 가 주변에 계신 분들께 간단히 인사하고 앉아 컴퓨터를 설정한 다음 온갖 소프트웨어와 거대한 퍼포스 디팟을 다운로드 하기 시작했고 그 동안 거대하게 쌓인 컨플루언스 구석부터 조금씩 읽어 나가기 시작합니다. 아마 높은 확률로 첫 며칠 동안은 저에게 별다른 업무 지시가 없을 테고 그 사이에 저는 빌드를 최대한 만져보고 또 그 동안 같은 주제에 대해 서로 다른 시간대에 걸쳐 여러 번 작성되어 모든 내용이 다 조각 나 있는 문서들을 최신부터 거꾸로 읽어 가며 파악해 현재 상태와 예상되는 미래 상태, 그리고 현재 상태가 되어 온 히스토리를 파악해야 합니다. 이 이야기는 지난 따라잡기에 소개했는데 팀의 여러 사람들은 그때그때 개인이 감당할 수 있는 템포로 문서를 생산하고 개발을 이어 나갔지만 온보딩 하는 사람은 그 모든 문서를 단시간 안에 최대한 파악해야 하는데 그렇지 않으면 앞으로 겪을 회의 따위에서 엉뚱한 소리를 할 수 있습니다. 가령 이미 2년 전에 그렇게 하지 말자고 모든 사람들이 동의한 주제를 2년 뒤에 나타난 처음 온보딩 중인 사람이 그 히스토리를 모른 체 왜 그렇게 하지 않느냐고 물어 대화에 참여한 모든 사람들을 당혹스럽게 만들거나 제가 포함된 조직의 신뢰를 떨어뜨릴지도 모릅니다.

제 보스는 제가 여러 문서를 살펴보다가 종종 질문 드릴 때 ‘문서가 현재 상황을 잘 반영하고 있지 않아 파악하기 쉽지 않을 것이다’라고 하셨는데 개인적으로는 도대체 적어도 현대 한국의 수도권에서 일하는 어느 개발팀이 온보딩 하는 사람을 배려한 잘 정리된 개발 문서 뭉치를 가지고 있을지 궁금합니다. 그러니까 지금까지 그 어느 조직에서도 문서는 그저 결과를 만들어내는데 기여하는 재료일 뿐 일단 결과가 만들어지고 나면 문서와 결과 사이에 차이가 생기며 이 차이를 문서 측면에서 따라잡을 자원을 확보하기는 거의 불가능하기 때문에 이 차이를 무시한 채 다음 개발 재료로 사용될 문서를 생산하고 또 결과를 만들어내고 또 다른 결과와 문서 사이의 차이가 발생하기를 반복할 뿐입니다. 이런 상태는 팀에서 오랫동안 문서를 생산하신 분들 역시 썩 만족스럽게 생각하고 계시지 않은 것 같았습니다. 빌드가 만들어지기는 했지만 그 빌드를 개발하는데 재료로 사용한 문서는 시간이 지남에 따라 차이가 점점 커져 특정 단위 기능이 완성되었지만 이 기능을 기술한 기획서는 실제 구현된 기능과 상당한 차이가 생겼고 나중에 이 문서를 읽는 저 같은 사람이 깔끔하게 이 단위 기능의 기획서를 읽고 바로 단위 기능을 예측할 수 있는 상태를 원했지만 그러지 못하는 상황을 모고 있기 때문입니다.

개인적으로는 지금 우리들이 겪는 상황이 당연하다고 생각합니다. 또한 적어도 아직까지는 빌드 상에 구현된 단위 기능과 이 기능의 개발에 재료로 사용된 문서가 어느 시점에나 깔끔하게 서로 일치된 상태를 유지하는 조직을 본 적 없습니다. 그리고 그런 상태를 유지하기 위해서는 적어도 한 명 이상이 풀타임으로 실제 구현된 단위 기능과 이 기능의 구현에 사용된 문서들의 상태를 서로 일치 시키는데 기여해야 한다고 생각하는데 어느 조직에서도 그렇게 문서를 작성하고 유지하는데 비용을 투자하지 않으므로 우리들이 겪는 상태는 조금 불편하기는 하겠지만 이상한 것은 결코 아닙니다. 물론 이런 상황에서 저 자신처럼 새로 온보딩 하는 사람이 신뢰할 기준은 필요합니다. 저는 그 신뢰 기준이 문서라고 생각하지 않습니다. 문서는 그저 단위 기능이 개발되기를 반복해 현재 빌드를 만드는데 이르는 히스토리에 불과하며 문서 모양으로 만들어진 최신의 신뢰할 수 있는 개발 계획은 당장 이번 마일스톤에 개발하기로 확정한 기획서 뿐이고 그 이전에 작성했던 문서, 그리고 지금보다 더 먼 미래를 예측하는 문서들은 그냥 존재할 뿐 현재 시점에 그리 신뢰할 만한 대상이 아니라고 생각합니다. 개발의 어느 시점에라도 신뢰할 수 있는 유일한 대상은 개발되어 실제 동작하는 빌드 뿐입니다.

빌드는 프로젝트의 모든 것을 말해줍니다. 번지르르한 방향성 문서는 미래에 이 프로젝트가 런칭할 때 고객들에게 제시할 다양한 경험을 말하곤 하지만 실제 빌드와 회사가 예상하는 런칭 시점을 비교해 보면 방향성 문서가 미래에 실제로 얼마나 실현될 수 있을지 짐작할 수 있습니다. 또 그 과정에 우리들의 노동력을 얼마나 요구할지도 대략 느낄 수도 있습니다. 누군가는 특별한 목표를 달성하기 위한 전투 시스템을 개발하기 위해 현대에 유행하는 여느 유명한 게임의 전투 메커닉을 가져오겠다는 기획서를 작성했고 이 문서가 여러 고위 의사결정자들의 승인을 받았다 하더라도 빌드 상에 구현된 실체와 비교해보면 목표 달성까지 과정이 얼마나 험난할지 역시 어렴풋이 예상할 수 있습니다. 지금까지 개발되어 직접 만져볼 수 있는 빌드의 곳곳을 조금씩 고쳐 나가며 런칭에 가까워지기 위해 여러 게임디자이너들이 각자 자신들의 좁은 시야 안에서 조금씩 기능을 개선해 나가기를 계속하고 있을 때 이런 의도가 통합된 빌드는 히스토리를 파악하지 않고서는 앞으로 어떤 모습으로 개발될지, 왜 지금까지 이런 모양으로 개발되었는지 이해하기 어려울 수 있습니다. 하지만 빌드 그 자체는 히스토리 같은 외부 정보 없이 앞으로 빌드가 런칭 단계에 도달하기 위해 밟아 가야 할 과정을 냉정하게 보여주며 이는 개인적으로 개발에 재료로 사용된 문서들이 누군가의 거대한 노동력을 빌어 각 시점의 빌드와 동기화될 필요가 없고 사실 그럴 수도 없다고 생각하는 이유입니다.

이전에는 새로운 프로젝트를 시작하거나 온보딩 할 때 얼마 동안 허니문 기간이 있었습니다. 가령 첫 회사에서 상황을 아무리 지켜봐도 결코 출시에 도달하지 못할 것 같았고 회사는 그 시점에 우리들이 충분히 잘 다루지 못하고 있던 언리얼 엔진을 대신해 국내 개발사의 이름을 들어본 적 없는 다른 미들웨어로 변경해 개발을 계속하려 하고 있었고 이 상황에서 우리들이 열심히 일한들 도저히 개발을 진행할 수 없을 것 같았습니다. 저는 너무 어렸고 의사결정에 신뢰가 없었으며 사람들을 설득하는 방법도 몰랐기 때문에 상황이 망가져 간다는 사실을 느끼고 있었지만 상황에 기여할 방법은 없었습니다. 그래서 조용히 팀을 떠나기로 결정합니다. 그렇게 다른 조직에서 그 시대에 널리 알려진 아이피에 기반한 새로운 장르 게임을 만드는데 참여했는데 이번에는 이 프로젝트의 여러 측면이 이전에 참여하던 프로젝트에 비해 더 나아 보였습니다. 첫 프로젝트에서 개발 문서를 윈도우 공유디렉토리에 워드 문서로 올려놓고 수정하며 공유하던 것과 달리 이번에는 위키 기반으로 꽤 잘 정리되어 있는 것 같았고 마일스톤 별 목표가 잘 수립되어 있었고 엔지니어들의 게임에 대한 이해도가 이전에 비해 훨씬 높아 초보 게임디자이너가 멍청한 소리를 해도 제가 무슨 소리를 하는지 저 자신보다 더 잘 이해하며 친절하게 대해 줍니다.

허니문 기간이 지나자 그런 장점들이 사실은 팀에 속한 소수의 극적인 헌신을 통해 유지되고 있었고 제 스스로도 그 헌신에 참여하도록 요구 받았습니다. 헌신은 정말 아름다운 단어이기는 하지만 이를 맥락이나 설득 없이 직설적으로 요구 받을 때 이는 여러 다른 덜 아름다운 단어로 바뀔 수 있고 또 이 말을 듣는 사람들, 그리고 저 자신의 사기를 떨어뜨리기도 합니다. 스스로 일을 완전히 즐기며 헌신하시는 분들은 굳이 그런 요구를 받지 않더라도 이미 스스로 프로젝트 곳곳의 회색 영역을 찾아다니며 일을 만들어냈는데 그 일들은 그 분들이 찾아내지 않았더라면 미래에 런칭에 영향을 끼치고 또 완성도에 문제를 일으킬 수 있는 요소들입니다. 그 당시에도 저는 아직 어렸고 그런 헌신의 가치를 잘 이해하지 못하고 있었습니다. 아침에 회사에 도착해 저녁까지 일하고 그 즈음에 쌩쌩한 모습으로 출근하신 제 보스가 퇴근할까 하고 자리를 정리하던 제 어깨동무를 하며 ‘우진아 어디가니’ 하고 말씀하시면 이제부터 자정을 넘어 새벽으로 가는 일이 시작되는데 어떤 분들에게 그런 일은 자연스러운 헌신의 일부였지만 그 때의 어린 저에게는 고통으로 다가옵니다. 이 프로젝트의 런칭을 겪고 또 라이브에 기여하며 신체적으로나 정신적으로 많이 망가졌는데 그 시점의 제가 본 프로젝트는 허니문 기간에 본 프로젝트와는 많이 달랐고 앞으로는 그런 차이에도 불구하고 허니문 기간과 그 이후에 얼마나 더 자연스럽게 적응하고 그 차이를 줄이는데 기여하는 것이 제 일이라는 사실을 깨달은 계기가 됩니다.

유년기의 여러 문제는 그런 각각의 과정에 신뢰를 확보해야 하고 또 그러기 위해서는 자연스럽게 시간이 필요하다는 사실을 잘 인정하지 못한 체 조급하게 굴었기 때문입니다. 분명 잘못된 길로 가고 있다고 느낄 때 그 사실을 프로젝트 구성원들에게 설명하더라도 설득에 도달하기는 아주 어려웠는데 심지어는 개개인을 설득하더라도 이 개인들 역시 자신들이 가진 신뢰 수준을 과소평가한 나머지 모두가 잘못된 길로 진입하는 상황을 막거나 최소한 느리게 만들어 모두에게 시간을 벌어주기는 어려웠습니다. 시간 상으로 더 긴 시야를 통해 상황을 보면 회사가 그런 잘못된 의사결정으로 인한 비효율을 견뎌낼 체력이 있다면 그런 비효율은 그저 자연스러운 개발 과정의 일부, 그리고 일종의 시행착오 수준으로 평가할 수 있습니다. 하지만 실제 그 안에서 일하던 어린 저는 회사가 그 과정을 견뎌낼 수 있었음에도 불구하고 모두가 시행착오의 길로 들어서는 과정을 이해할 수 없었고 그 안에 포함된 저 자신을 설득하기도 어려웠습니다. 제가 할 수 있는 일과 그렇지 않은 일을 별로 구분하지 않고 달려들어 제가 생각하기에 올바른 방향으로 아주 작은 부분이라도 바꿔 보려고 했지만 결국 잘 되지 않았습니다. 그 때는 도대체 이렇게 간단한 의사결정을 왜 그렇게 복잡하게 만들어 여러 사람들을 고통스럽게 만들고 결국 잘못된 의사결정으로 회사가 커다란 손해를 보게 만들며 그런 상황이 어떻게 회사에 의해 묵인되는지 이해하기 어려웠지만 결국 이 모든 상황은 저 자신이 시간 상 너무 짧은 시야로 상황을 보고 있었기 때문이라는 사실을 늦게서야 깨닫습니다.

시간이 흐를수록 허니문 기간은 완전히 사라져 어떤 상황에 놓이든 감정의 동요가 거의 없어졌고 마음에 안 드는 것들은 이들이 제 감정을 변하게 하는 대신 저 자신이 이들을 서서히 고쳐 나가야 하는 업무로 인식하게 만들었습니다. 이번 온보딩 과정에서도 앞으로 실무자들이 작업하는데 상당한 어려움을 겪을 것 같아 보이는 시스템을 파악했지만 이는 어떤 수정해야 할 문제라기 보다는 이 기반 위에서 앞으로 작업자들이 겪을 어려움을 예상하고 이를 도울 방법을 마련하는데 집중할 문제로 인식합니다. 또 개개인들이 전체 그림에 대한 인식이 부족한 상태로 부분의 개발에 집중하기를 반복해 사기가 떨어지기도 하고 또 전체 그림 자체가 모든 구성원들에게 잘 전달되지 않거나 전체 그림이 전달하기에 충분하지 않은 상태라 하더라도 이 모든 상황은 문제가 아닙니다. 만약 문제라면 제가 기여할 수 있는 부분에 조금씩 기여하며 서서히 문제를 줄여 나가면 될 뿐입니다. 그러는 사이에 회사는 예상보다 조금 더 많은 개발비를 지출하게 되겠지만 회사가 이를 감당할 체력이 있는 한 이 모든 시행착오는 회사의 자산이 될 겁니다. 굳이 이를 피하기 위해 충분히 설득되지 않은 사람들에게 공격적으로 굴어 그들이 동의하지 않는 제 입장에서 올바른 방향으로 억지로 이끌 필요가 없습니다. 저는 그저 지금 제가 처한 상황, 제가 이제부터 구축해 나가야 할 바닥에 깔린 신뢰, 제가 잘 할 수 있는 일과 그렇지 않은 일 등을 주변에 보인 다음 제 자리에서 프로젝트에 기여하고 있으면 이전과 같이 미친개처럼 굴지 않아도 된다는 사실을 이해합니다.

다만 남들이 종종 그러듯 자신이 권한을 가진 사안에 결정을 내리기를 주저하거나 그럴 의도는 아니었겠지만 사안의 책임자를 모호하게 만드는 역할을 하는 각자의 명확한 의견 없이 사안에 대해 논의하는 행동, 명확한 게임디자인 요구사항이 없는 상태로 특정 단위 기능 개발을 진행시키는 등 제가 기여해 불명확함을 줄이고 더 나은 설계를 만들고 사람들의 노가다를 줄이는 일에는 활발하게 개입해 효율을 조금씩, 아주 조금씩 늘려 나가는 식으로 접근하려고 합니다. 결국 긴 시간에 걸친 시야로 보면 지금 가까이에서 보이는 여러 문제들은 그저 상대적으로 짧은 시간에 걸쳐 일어나는 작은 시행착오일 뿐이고 결국 이 모든 경험은 회사의 자산이 됨과 동시에 개인의 경험이 됩니다. 각 과정을 얼마나 부드럽게 넘기고 사람들이 덜 다치게 만들고 또 목표를 잊지 않고 개발을 계속하게 만들도록 느긋하게 조금씩 문제를 해결하기를 반복하고 사람들을 돕는 것이 제가 할 일이라고 생각합니다.

그래서 이번에는 최대한 느긋하게 움직이기로 합니다. 실은 제 딴에 느긋하게 움직이는 행동이 여전히 몇몇 사람들의 눈에는 급하게 행동하는 것처럼 보인다는 사실을 이해하지만 아무리 저 자신을 느긋하게 만들려 노력해도 그 정도 수준에는 도달하지 못할 것 같고 이 정도 차이는 저를 고용한 팀에 이해를 구해야 할 겁니다. 여러 가지 문제는 불만을 가질 대상이 아니라 제가 구축한 신뢰로부터 나온 권한을 통해 천천히 해결해 나갈 업무 대상입니다. 그리고 다행히도 회사는 이렇게 일어나는 시행착오로 인한 비용의 증가를 감당할 수 있을 것 같아 보입니다. 그래서 이번에는 허니문 기간을 거의 느끼지 않고 바로 현실의 한복판으로 내던져졌지만 이전처럼 마음이 급하지 않습니다. 긴 안목으로 조금씩 기여해 나가도 된다는 사실을 이제는 이해하기 때문입니다.

이번 52호에는 지난 2주간 공유한 이야기를 함께 보내 드립니다.


세이브 배달 사용 전략
세이브 배달은 배달을 더 빨리 받거나 늦게 받는 장치가 아닙니다. 배달을 영원히 못 받을 상황에 그나마 배달을 받을 수 있게 해 주는 장치입니다.
비정형 보상 아이템
아이템이 아닌 다른 뭔가를 보상으로 줄 때 사용할 수 있는 방법을 생각해 봅시다.
컨플루언스에 엑셀을 붙여넣는 현실적인 방법
컨플루언스 페이지에 엑셀 워크시트를 표시하는 몇 가지 방법을 소개합니다.
게임디자인 포트폴리오 사례 (1)
이전 구직에 사용한 포트폴리오 문서와 함께 제 의도를 설명하겠습니다.

지난 4월 말일에 조금 일찍 집에 돌아오는 길에 단지 안에서 지나가는 고양이 한 마리를 봤습니다. 이사 올 때부터 시간이 꽤 지나 그 때 처음 봤던 친구들은 이미 떠났을 테고 그 다음 세대, 또 그 다음 세대 친구들이 단지 안을 돌아다니는 모습을 봐 왔습니다. 그렇게 세대가 바뀌고 있음을 알고 있었지만 떠나는 친구들을 직접 마주하지는 못했습니다. 그러다가 이 날 마주친 친구는 멀직이 봤지만 구내염이 너무 심한 모습이었고 아마도 오랫동안 먹지 못해 완전히 지친 모습이었습니다.

염증을 견디기에는 또 꽤 더운 날씨에 귀를 완전히 뒤로 젖히고 눈을 반쯤 감은 채 힘들게 길을 가로질러 차 아래로 들어가는 모습을 보고 마음이 편하지 않았습니다. 먼저 있던 친구들이 떠나고 다음 세대 친구들이 나타난다는 사실을 알고 있었지만 도와주지 않으면 아마도 곧 떠나게 될 것 같은 친구를 본 건 처음이었습니다. 제가 해 줄 수 있는 일이 있지는 않아 차 밑으로 들어간 그 친구를 잠깐 바라보다가 남은 거리를 걸어 집에 돌아왔습니다.

어쩌면 얼 여름이 오기 전에 그 친구 역시 그 이전의 다른 어느 날 더 이상 볼 수 없게 된 친구들처럼 떠날 지도 모릅니다. 그런 생각을 하니 조금 차분해지기도 하고 또 조금 먹먹하기도 한 기분이었습니다. 날씨가 급격히 더워집니다. 건강에 유의하시길 바랍니다.

그럼 또 2주 뒤에 뵙겠습니다. :)