좀 더 이기적이어도 괜찮아요
언제부터 제 블로그와 뉴스레터가 부끄러운 일들을 부끄러운 줄도 모르고 말하는 고백의 장이 됐는지 모르겠지만 어떻게 생각하면 부끄러운 일을 다시 한 번 생각하고 그걸 글로 만들며 머릿속에서 떠돌기만 하던 부끄러운 일을 머릿속과 분리된 공간에 떨어뜨려 놓는데 성공하고 저 자신은 이제 그 생각에 기반해 아주 조금은 더 나은 사람이 되기를 반복할 기회이지 않을까 하는 생각을 하곤 합니다.
첫 회사에서 저는 당연히 팀의 막내 오브 막내였는데 지금 생각해도 원만한 사회생활을 하는 사람과는 거리가 좀 있었습니다. 주요 특징으로는 다른 사람들에게 미안한 말 잘 못하기, 다른 사람들의 부탁 잘 거절 못하기, 다른 사람이 멍청한 일을 하는 것을 보고 못참기, 머릿속에 떠오른 생각을 얼굴에 표현하기 같은 것들이 있었습니다. 다른 사람들의 부탁을 잘 거절하지 못했던 것은 결국 자동화에 집착해 개발하다 어쩔 수 없이 노가다가 필요한 상황이 발생할 때 자동화와 인간의 노가다 사이에 적당한 타협점을 찾아 빠르게 자동화 할 수 있는 부분을 자동화하고 나머지를 인간이 직접 높은 집중력으로 노가다를 수행해 며칠 짜리 작업을 몇 시간 안에 수행하게 되었습니다.
이제는 누군가 노가다를 해야 할 것 같은 상황을 만나면 당장 노가다를 시작하지 말고 일단 저에게 와서 상담을 해 보라고 팀에 이야기 해 놓았습니다. 특히 약속을 지키지 않아 생기는 노가다는 자동화를 통해 순식간에 해치울 수 있을 때가 많은데 애초에 자동화가 가능하다는 것을 상상하지 못하는 분들은 몇 십 분이면 될 일을 며칠에 걸쳐 하고 있을 수 있고 이 사실을 제가 눈치 챘을 때는 이미 너무 늦은 시점일 때가 많곤 했습니다.
미안한 일을 잘 부탁하지 못하는 것 때문에 큰 문제를 일으키기도 했습니다. 첫 회사에서 우리들은 프로젝트 관리라는 개념에 대해 완전히 무지했습니다. 우리들은 돈을 받고 일하기에는 너무나 아마추어였고 회사는 그런 우리들에게 너무 많은 기대를 했습니다. 물론 아마추어인 우리들에게 회사가 주는 돈은 아마추어보다 못했기 때문에 회사에 썩 미안하지는 않습니다. 개발해야 할 기능은 항상 목적과 정책이 모호한 상태로 기획팀에 도착했고 기획팀 의사결정자도 이 모호함을 충분히 해결해 주지는 못했습니다. 시스템디자이너로써 현재의 모호함이 미래에 정의될 것에 대비해 미래의 요구사항 변화를 예상한 필요 이상으로 더 범위가 넓고 기능이 많은 시스템을 고안했고 엔지니어들로부터 항상 ‘이건 그냥 기획에서 결정해 주면 되는 거 아님?’ 같은 불평을 듣곤 했습니다.
우리들은 서로가 서로의 업무 부하와 각자가 하는 일의 비용, 그리고 각자가 하는 일의 중요도에 대해 완전히 무지했기 때문에 그저 자신에게 할당된 일을 소위 ‘쳐 내는’데만 집중했는데 기획팀 안에서는 대략 누가 무슨 일을 하고 있는지 정확히 알고 있었지만 기획팀 밖으로 나가면 누가 무슨 일을 담당하고 있고 어떤 순서로 하고 있으며 어떤 일이 언제쯤 확인 가능할지 전혀 알 수 없었습니다. 이런 상황에서 저에게 새로 할당된 요구사항의 기획서를 작성해 엔지니어들에게 들고 가면 그들은 저보다 앞서 다른 사람들이 내려놓고 간 일의 긴 목록을 보여주며 안될 것 같다는 이야기를 하곤 했고 저는 제가 들고간 일이 얼마나 중요한지, 언제까지 완료되어야 하는지에 대한 감각이 없었으므로 그저 긴 목록 맨 아래 제 일을 추가한 다음 돌아올 뿐이었습니다. 그리고 몇 주에서 몇 달이 흐른 다음 그 일을 시작하려는 담당자로부터 질문을 받았을 때 이미 그 일은 제 머릿속에서 지워진지 오래여서 엔지니어보다 낮은 이해도로 엔지니어의 질문에 답하는 어이 없는 상황이 일어났습니다.
이런 환경에서 기획팀에 일을 더 잘 하는 사람은 평소에 엔지니어들과 인간적으로 친하게 지내며 함께 담배도 피우러 나가고 종종 술도 마시고 다음날 다 함께 느즈막한 시간에 출근하는 분들이었습니다. 이 분들은 아까 같은 상황에서 중요한 순서에 관계 없이 여러 업무가 통제되지 않은 상태로 한 사람에게 밀려 있을 때 이 일들의 긴 목록에서 새로 가져간 자신의 일을 맨 위로 올려 놓을 수 있었습니다. 이 인간적인 접근이 확실히 의미가 있다는 사실을 옆에서 지켜보며 배웠지만 이를 실천하는 일은 굉장히 어려웠는데 원래 학창시절에 학교에서 배웠어야 할 스킬이었는데 이 스킬 없이 성인이 되어 회사 생활에서 바로 이런 행동을 하려니 너무 이상하고 힘들었습니다. 결국 이런 행동이 업무에 큰 도움이 된다는 점을 알고 있으면서도 이런 행동에 크게 신경 쓰지 않았습니다. 실은 그 시대에 술은 취할 뿐 맛있지 않았고 취한 상태는 마음에 들지 않았으며 다음 날 느즈막한 출근한 스스로가 성실하지 않은 것 같아 역시 마음에 들지 않았습니다.
성실한 엔지니어들은 제 일을 목록 위로 올려주지는 않았지만 제 일을 할 차례가 됐을 때 그 일을 마다하지 않았고 저는 팀에서 일을 잘 하지는 못했지만 어쨌든 일을 해내기는 하는 사람 정도의 위치를 유지할 수 있었습니다. 이런 상황에 개인적으로 계속해서 엔지니어들에게 미안한 감정을 가지고 있었습니다. 기획에서 나가는 요구사항은 항상 현재의 모호함을 미래의 더 넓은 의사결정 범위를 고려한 더 비싼 기능들로 채워졌고 이들은 보통 지금 까지 개발한 빌드에 의한 제약사항을 별로 고려하지 않은 모양일 때가 많았습니다. 엔지니어들은 우리 사정을 어느 정도 이해했기 때문에 의사결정 시점을 미래로 미루기 위한 복잡한 요구사항을 군소리 없이, 때로는 장난스러운 불만 표출만으로 개발해 주었습니다. 기획에서 요구사항을 좀 더 명확하게 하고 핵심 의사결정을 지금 수행해서 팀 밖으로 나가기 전에 요구사항이 훨씬 간결한 모양이라면 이를 시스템으로 만들어 가져갈 때 스스로가 훨씬 당당할 수 있을 것 같았지만 그렇지 못한 상황에서 적어도 겉으로는 아무도 뭐라 하지 않았지만 스스로 알아서 주눅이 든 상태였던 것 같습니다.
시간이 흘러 런칭 전 오픈 베타를 해야 할 순간이 찾아왔습니다. 현대에는 오픈 베타 페이즈를 아예 건너뛰거나 오픈 베타라고 이름을 붙였지만 결제를 열어 둔 사실상 런칭 직전의 심각한 문제를 찾는 페이즈에 가깝게 실행되곤 하지만 첫 회사에서 게임을 만들던 시대의 오픈 베타는 정말로 오픈 베타였습니다. 우리들은 아직 우리가 만든 이 거대한 바이너리 덩어리가 여러 고객을 동시에 받아 안정적으로 동작할지, 또 우리가 만든 여러 시스템들이 문제 없이 우리들의 의도대로 동작할지 확신이 없는 상태였습니다. 당시 우리는 QA를 외주 회사에 의존하고 있었는데 이 분들은 성실하기는 했지만 게임에 대한 이해도가 낮았고 지금 생각하면 문제를 어떻게 정의해야 하는지, 어떻게 보고해야 하는지 전혀 모르는 분들이었습니다. 아마추어인 우리들과 별로 다르지 않았습니다.
온갖 버그로 몸살을 앓으며 우리는 고객들로부터 로그인 화면에 펼쳐진 꽃밭에서 로그인에 실패해 하염없이 꽃밭 화면만 보고 있어야 하는 ‘꽃밭 온라인’으로 불렸습니다. 서버 개발자들이 고객들을 꽃밭으로부터 구해내기 위해 냄새나는 머리와 축축한 양말을 견디며 모니터를 노려보는 동안 저는 문득 초반 플레이에 중요한 역할을 하는 기능 하나가 아직 엔지니어들에게 전혀 전달되지 않았음을 깨달았습니다. 아니. 이건 거짓말입니다. 사실은 전부터 알고 있었지만 이미 온갖 작업들로 만신창이가 된 엔지니어들의 기나긴 남은 작업 목록에 또 제 일을 추가해 달라고 말하기가 너무나 미안했을 뿐 아니라 심지어 이 일이 이번에는 굉장히 중요해서 목록 맨 위에 올려야 한다는 말을 하기가 너무나 미안했을 뿐이었습니다. 시간은 계속해서 흘러 갔고 어느 순간 정말 더 이상은 위험했습니다. 그래서 이미 망할 것이 너무나 확실했지만 엔지니어에게 찾아가 상황을 설명합니다.
이미 꽃밭에서 고객들을 구출하고 또 구출된 고객들이 서로 충돌해 대화할 NPC에게 접근하지도 못하고 NPC 주변을 둘러싸고 있으며 이들의 에셋이 로딩되지 않아 모두의 그림자만 바닥에 둥둥 떠다니는 상황을 해결하기 위해 양치질을 못 해 사람 얼굴을 쳐다보고 말하지도 않던 엔지니어는 결국 제게 강렬한 짜증을 내고 말았습니다. “이걸 이제서야 들고 오면 어쩌란 거야!” 아무 말도 할 수 없었습니다. 한동안 이어진 욕설은 없었지만 거의 욕설에 가까운 이야기를 듣고 어쨌든 목록 맨 위에 제 일을 추가한 다음 고개를 숙이고 자리로 돌아왔습니다. 이 날의 경험은 이후 회사 생활에서 무엇이 중요하고 그렇지 않은지 깊이 생각해 보고 정의를 내리며 그에 따라 행동할 수 있는 계기가 되었습니다.
이후 시간이 흐르며 저는 한국에 흔해 빠진 키 작고 배 나오고 안경 쓰고 거북목이고 못생긴 뻔한 아조시가 됩니다. 여전히 사람들과 친하게 지내려고 노력하지는 않지만 전혀 친하지 않은데다가 이름이 뭔지도 헛갈리는 사람에게 업무를 설명하고 필요한 자원을 끌어다 주고 마감 시점을 협상하고 임무에 실패할 가능성을 관리하고 실패 가능성이 올라가면 관련된 사람들을 모아 놓고 웃으며 욕하고 - 정말 욕설을 한다는 의미가 아님 - 결국 회사가 저에게 돈을 주는 이유인 제가 수행해야 할 임무를 결국 수행하게 됐습니다.
이런 변화에서 가장 큰 부분은 사람들과 친해져 내 요구사항을 맨 위로 올리는 그런 소위 ‘짜친’ 스킬이 아니었습니다. 사람들은 제 요구를 선의로 들어주고 있지 않습니다. 이들은 제 요구를 들어주기 위해 회사에 고용되어 돈을 받고 있습니다. 그래서 주로 일을 시작하는 기획팀은 뚜렷하게 정의되지는 않지만 프로젝트 전체에 일종의 ‘명령’을 내리고 이 임무가 수행되는 동안 임무를 ‘관리’할 권한이 있으며 이 권한에 도전하거나 이 권한을 무시하는 분이 있다면 먼저 친절하고 진지하게 우리들의 목표를 설명하고 설득하되 이 과정이 실패하면 회사로부터 돈을 받는 이유를 상기시키며 무서워지기 바로 직전까지 행동할 수 있습니다.
지금의 제가 다시 첫 회사의 모든 일이 미안해서 아무 것도 안 하다가 결국 마지막 순간에야 중요한 요구사항을 들고 찾아간 첫 회사의 저를 다시 떠올려 보면 그 때의 저에게 가장 부족했던 것은 바로 이기심이 아니었나 싶습니다. 이미 엔지니어들은 다른 사람들로부터 받은 맥락과 중요도를 파악하기 어려운 온갖 요구사항의 긴 목록에 시달리고 있었습니다. 외부 QA 회사로부터 날아온 도대체 무슨 소리를 하는 것인지, 도대체 뭐가 문제라는 것인지 이해하기 어려운 티켓에 파묻혀 허우적 거리고 있었고 또 기획에서 가져가는 새로운 요구사항은 여전히 의사결정을 조금만 더 하면 개발 비용을 훨씬 줄일 수 있을 텐데 전혀 그렇지 않았습니다. 그런 상황을 알고 있었기에 항상 미안한 마음을 가졌고 또 그들 중 누군가는 그렇게 미안해 할 필요 없다며 저를 다독여주기도 했습니다.
하지만 차갑게 이야기하면 그게 다 무슨 상관인가요. 그건 그들의 상황이고 저는 제 임무를 수행하는 댓가로 회사로부터 돈을 받고 있으므로 저는 제 임무를 올바르게 수행해 회사와 저 사이에 원만한 관계를 만들어 생계를 유지해야 합니다. 제 미안한 감정이 중요할까요? 아니면 이번 달 제 통장에 꽂히는 급여가 더 중요할까요?
실은 이런 인간적인 면은 팀에서 원만한 관계를 형성하고 사람들로부터 신뢰를 얻고 또 사람들에게 제가 그들을 도울 방법을 알고 있으며 혼자 가서 말하기는 껄끄러운 여러 상황에 저를 함께 끌고 가서 이야기하면 일이 부드럽고 쉽고 빨리 정리된다는 사실을 모두에게 알리기 위해 중요합니다. 여전히 사람들과 굳이 반드시 필요하지 않은 깊은 관계를 맺고 술을 마시고 주말에 같은 액티비티를 하는데는 전혀 관심 없습니다. 하지만 동시에 함께 일하는 모든 사람들에게 똑같이 친절하게 대하고 똑같이 내가 도울 수 있는 일을 돕고 똑같이 내가 잘 할 수 있는 일을 할 뿐입니다. 그리고 여기에 아주 작은 이기심을 포함하면 꽤 나쁘지 않은 상태가 됩니다.
성실하고 친절한 사람이되 거기에 회사와 나 사이의 관계를 고려한 이기심에 기반해 우리들이 함께 달성해야 하는 목표에 집중하면 첫 회사에서 고객들이 꽃밭만 하염없이 바라보며 우리들에게 최고의 스트레스를 주고 있을 때 미안해 하지 않을 수 있습니다. 애초에 그런 미안해 할 일이 일어나지도 않을 테니까요. 좀 더 이기적이어도 괜찮습니다.