극한직업 - PM
사람들은 생활을 하면서 물질적이거나 비물질적인 다양한 형태의 무엇인가를 구매하고, 이용합니다. 이 무엇인가는 곱슬머리 개구쟁이 내 동생이 별명이 여러개듯이 제품, 물건, 서비스, 어플리케이션, 페이지 등 다양한 이름으로 불리는 불립니다. 그리고…
태초에 신이라는 분은 (무려 주 6일을 일해서) 이 세상을 혼자서 다 만드셨다고 하는데 우리는 신이 아니기에 혼자서 다 만들 수는 없습니다. 물론 혼자서 다 만드는 경우도 있습니다. 길을 거닐다보면 마주치는 가판대의 수공예 팔찌 같은 무엇인가는 (아닐수도 있지만…) 분명 이걸 팔고 있으신 분이 혼자서 만드셨을 겁니다. 하지만 엄밀하게는 그 분이 좋은 재료들을 가지고 마련해서 예술혼이 담긴 손놀림으로 조립하신 것입니다. 이를 위해 필요한 재료인 구슬은, 낚시줄은, 펄가루 등등은 또 누군가의 혼이 담겨있는 것이죠. 제가 좋아하는 수타짜장면 역시 수타로 면을 뽑는 분의 노력이지만 밀가루는 누가 만든 것이고, 그 밀가루를 만들기 위한 밀은 누가 키운 것이고, 그 밀가루는 누가 배달해주었으며… 이렇게 맛난 것 하나도 쉽게 만들어진 것이 없습니다. (짜장면 먹고 싶다…의식의 흐름 무엇)
이번에는 팔찌와 짜장면에서 IT산업이라는 무엇인가로 망원경의 시선을 돌려 보겠습니다. 다른 산업분야에 비해서 IT산업은 최종적인 결과물을 만드는데 필요한 인력이 크지 않을 수 있습니다. 서비스의 성장 단계에 따라 신과 같이 1명이 모든 것을 다 하기도(=해야만 한다…)하며, 서비스의 영역에 따라 특정 업무를 담당하는 팀을 만들어 분업을 통해 무엇인가를 만들어냅니다. 그리고 이 분업에 대해서는 일반적으로 크게 <개발> <디자인> <사업> 로 구분합니다. (물론 이 외에 <인사> <경영지원> 등등의 숭고한 노력도 있습니다.) 이렇게 구분된 업무들이 노력을 해서 하나의 무엇인가를 만들어냅니다.
IT산업으로 돌린 망원경의 시선에서 “마이리얼트립” 이라는 무엇인가로 확대해서 보겠습니다. 마이리얼트립을 만드는 데에도 역시 <개발> <디자인> <사업> <인사> <경영지원> 등으로 크게 구분된 업무들이 노력을 하고 있고, 그 아래로 다시 확대해보면 투어&티켓, 항공, 호텔 등 다양한 사업 영역과 백엔드, 프론트엔드, 안드로이드, iOS로 구분된 개발 영역 등이 있고 구석구석 까지 확대확대하다보면 PM이라는 작은 업무가 보입니다. 이제부터는 망원경을 잠시 내려두고, 현미경을 써서 이 PM을 집중 탐구해보겠습니다.
PM에 대해 알아봅시다
자 그러면 본격적인 PM 탐구에 앞서서 PM의 정의를 먼저 확인해보겠습니다. 올바른 문제 해결을 위해서는 정확한 문제 정의가 필요합니다. (오 좀 멋있었다…) 그럼 먼저 정의를 찾기 위해 구글신에게 PM을 물어봅니다.
네, PM은 오후입니다… 굿애프터눈… 이 아니라 (다행히도 오른편에) 프로젝트 매니저 라는 뜻을 가지고 있습니다. 그러면 좀 더 직업에 대한 검색결과로 참고할만한 링크드인의 검색결과를 살펴보겠습니다.
링크드인에서 PM이라고 검색을 하니 상세한 포지션 이름들이 보입니다. 구글신이 알려준 것과 같은 Project Manager도 보이고, Product Management도 보이고, Program Manager라는 것도 보입니다. 그렇습니다. PM 이라고 할 때 PM은 하나의 단어만 의미하는 것은 아닙니다. 언젠가 중국 철학 공부할 때 배웠던 “아무것도 정의하지 않는 것이 곧 정의한 것이다” 와 같은 상황이군요. 정의가 되지 않았으니 그럼 이만 알아보겠습니다… 라고 하면 안되니 조금 더 알아보겠습니다.
링크드인과 구글의 검색 결과를 보더라도 PM은 “이 단어의 앞글자를 의미합니다.” 라고 명확하게 정해진 것이 없습니다. 그 이유는 서비스 분야에 따라 또는 회사의 철학에 따라 모두 다르게 정의하고 사용하기 때문입니다. 그래도 우리는 PM에 대해서 알아보고 있기에 PM을 구성하는 두 단어를 하나씩 살펴보죠.
우선 두 단어 중에서 다양한 검색 결과에서도 공통점을 가지고 있는 M을 먼저 보겠습니다. 위에서 봤던 것 처럼 M은 공통적으로 Manage를 의미합니다. Manager라고 해서 관리하는 사람을 뜻할 때도 있고, Management라고 해서 관리하는 행위를 뜻할 때도 있지만 포괄적으로 “관리”라는 의미를 담고 있습니다. 그러면 무엇을 관리한다는 걸까요? 이제 다양한 정보를 보여주었던 앞글자 P를 보죠.
P가 가지고 있는 단어는 Product, Project, Program 등 다양한 단어가 있습니다. 일반적으로(라고 쓰고 이 글에서만 한정하겠습니다.) 각 단어가 가진 의미는 Product는 서비스의 최종 결과물, Project는 최종 결과물을 만들기 위해 진행하는 여러 가지 작업들, Program은 비슷한 성격의 Project들을 하나로 묶은 모듈 같은 개념으로 볼 수 있습니다. 이 단어들의 공통점을 뽑아 P를 정의해본다면, “무엇인가 만드는 것 또는 그 결과물” 이라고 할 수 있을 것 같습니다. 그렇다면 앞서 확인해본 M과 의미를 합쳐본다면, PM은 “무엇인가 만드는 것 또는 그 결과물을 관리하는 것” 이라고 할 수 있을 것 같습니다. 하지만 이 정의는 앞에서 이야기한대로 서비스의 분야나 회사의 철학에 따라 너무나도 다양하기에 저 정의는 최소 이 글 내에서 의미를 가지는 것으로 하겠습니다.
잠깐만 옆 길로 돌아가면, PM이라는 단어와 함께 PO라는 단어도 많이 사용되고 있습니다. Product Owner 또는 Project Owner라는 이름으로 불리는데, PM과 한 쌍으로 묶어서 이야기합니다. 간단히 비유를 들자면, PO가 “우리는 저쪽으로 갈 것이다.” 라고 방향을 잡아주는 사람이라면 PM은 그 방향으로 가는데 필요한 차편을 알아보고, 차에 탈 사람들을 확인하고, 가는 중에 생기는 돌발상황들을 처리하는 일을 하는 사람입니다. (물론… 가끔 그렇게 갔는데 PO가 “이 길이 아닌가보다” 라고 할 때도 있… 하아…) 하지만 이 단어의 정의 역시 반대로 사용하는 회사들도 있습니다. (PM이 방향을 가르키고, PO가 실무를 하고) 그리고 요즘은 PM도 더 세분화 되어서 Technical PM, Data PM 등으로 하나의 영역을 집중해서 관리하는 영역도 생기고 있습니다. 다시 한 번 PM이나 PO등의 단어는 천개의 회사가 있다면, 천개의 의미를 가지고 있음을 기억합시다.
PM은 무슨 일을 하는 사람인지 알아봅시다
자 돌아갔던 옆 길에서 다시 큰 길로 돌아와서, 이 글에서는 PM을 “무엇인가 만드는 것 또는 그 결과물을 관리하는 것” 이라고 정의를 하기로 했습니다. 그렇다면 PM은 관리를 하기 위해 무슨 일을 하는 사람인지 3가지 키워드로 이야기해보겠습니다.
포인트 가드
농구 좋아하세요? (슬램덩크 채소연이 된 듯… 이미지도 슬램덩크 이미지 쓰고 싶었는데… 크흡) 농구에는 크게 5가지의 포지션이 있습니다. 골밑을 사수하는 센터, 몸싸움을 하며 파워풀한 움직임을 펼치는 파워포워드, 장거리슛을 주무기로 하는 스몰포워드, 빠른 움직임으로 슛찬스를 노리는 슈팅가드, 그리고 마지막으로 경기를 조율하는 포인트가드. 정확한 정의는 아닐 수 있지만, 느낌적인 느낌으로 각 포지션이 코트 위에서 수행하는 역할은 어느 정도 표현한 것 같습니다. 뜬금없이 농구 이야기를 왜 하느냐. PM의 역할이 농구팀의 포인트 가드 포지션이 하는 역할과 비슷한 점이 많기에 데려와봤습니다.
포인트 가드를 표현하는 것 중에 대표적인 것이 “코트 위의 감독” 입니다. (물론 김수겸 처럼 진짜 감독을 하는 포인트 가드도 있습니다. 아 너무 덕후같은가요…) 감독이 내린 작전을 실제로 경기장에서 다른 선수들에게 수신호, 눈빛 등의 방법으로 전달하며 경기를 풀어내는 역할을 하죠. PM도 마찬가지입니다. 앞서 옆길로 새서 이야기했던 PO나 CPO, 또는 CEO 등으로 정해볼 수 있는 서비스, 회사 내의 감독의 작전을 개발팀, 디자인팀, 사업팀 등에게 전달해 실제적인 역할을 수행해냅니다.
그리고 그 외에 또 하나 이야기해보자면, 역할의 유사성과 함께 가져야할 역량의 유사성도 있습니다. PM은 다른 직군들(개발팀, 디자인팀)에 비해서 특정 학과(컴퓨터공학과, 디자인학과와 같은)를 전공하는 것이 필수 항목이거나 자격 요건인 경우가 많지 않습니다. (이 글을 적고 있는 사람도 문송합니다 입니다…) 흔히들 말하는 단어로 PM은 Specialist 보다는 Generalist 여야 합니다. 물론 위에서 말씀드린 세분화된 PM들도 있었지만, 구분해보자면 PM 내에서의 Specialist 라고 볼 수 있습니다. Generalist라는 단어의 의미가 모든 업무에 능숙하다는 아주 긍정적인 의미도 있지만, 부정적인 의미를 가져와본다면 어중이떠중이가 되기도 합니다. 그렇다면 어중이떠중이가 되지 않으려면 어떤 일을 할 줄 알아야 할까요. 바로 빠른 상황 판단과 대처 능력입니다. (눈치와 잔머리라는 좋은 단어가 있군요)
무엇인가를 만들다보면 정말 별의별 일들이 생기고, 그 일들을 파악하고 대응해야 합니다. 그럴 때 필요한 것이 이 일이 얼마나 중요한지 위급한지, 어느 팀이 필요한지, 현재 어느 팀의 리소스가 없는지, 이 상황에서 그럼 어떻게 해결해야하는지 눈치와 잔머리를 최대한 활용해 뇌의 모든 뉴런과 시냅스를 풀가동해야 합니다. 포인트 가드도 마찬가지입니다. 한 번의 공격 순간에 지금 상대 수비가 우리 팀의 누구를 집중 마크를 하고 있는지, 남은 공격시간이 몇 초인지, 상대팀의 누적 파울 수는 몇 개인지, 지금 이 공을 누구에게 넘겨줘야 성공 확률이 가장 높을지, 아니면 내가 직접 돌파를 해야할지 24초라는 시간 내에 결정해야 합니다. (농구에서는 이걸 몸으로 해내야 하니… Respect 합니다!)
포인트 가드라는 포지션을 통해 PM의 일을 첫 번째로 비유해봤는데, 느낌이 오시나요. 포인트 가드와 PM의 역할에 따라 경기의 향방과 업무의 효율에 큰 영향을 줍니다. (네, PM 존재 화이팅) 하지만 포인트 가드나 PM이 꼭 있어야만 경기를 이기고, 일을 잘하는 것은 아닙니다. 경기의 상황에 따라 그리고 팀 성격이나 감독의 성향에 따라 포인트 가드가 없는 팀도 있습니다. 그렇다고 포인트 가드가 없는 팀이 성적이 안 좋은 것도 아니고, 있다고 해서 성적이 무조건 좋은 것도 아닙니다. 그리고 최근에는 포인트 가드라는 이름을 가졌지만 실제 플레이는 흔히 생각하는 역할을 하지 않는 선수들도 있죠. (NBA의 유명한 선수 스테픈 커리도 포지션은 포인트 가드인데 전형적인 포인트 가드의 플레이는 아니죠.)
PM 역시 마찬가지입니다. 작은 규모의 회사나 회사의 철학 등에 따라서 PM이 없거나 아니면 다른 팀의 팀원이 PM의 역할을 겸할 때도 있습니다. 그런 회사들이 점점 늘어나는 것 같기도 합니다. (아 내 일자리…) 그렇다면 PM의 역할을 포인트 가드로 표현을 전부 할 수 있는 것이 아니라면 무슨 일을 한다고 해야할까요?
동시통역가
이 글의 시작 부분에서도 이야기했지만, 태초의 신은 혼자서 모든 걸 다 만드셨지만, 우리는 그렇지 않기에 하나의 무엇인가를 만들기 위해 여러 사람들이 함께 일을 합니다. IT 분야에서도 마찬가지로 개발, 디자인, 사업 등의 사람들이 모여 있고 이 사람들이 쿵짝쿵짝 하면서 즐겁게 무엇인가를 만들어냅니다. 만드는 중에 각팀 사이에 서로 대화가 잘되면 아무 문제 없이 잘 진행되는 해피 엔딩이 될 거고, 이 글도 여기서 끝내면 됩니다. 하지만 바벨탑 때문에 괜히 언어가 여러개로 나뉜게 아닙니다. 그리고 언어 종류만 나뉜게 아니라 같은 언어를 쓰더라도 대화의 어려움이 있을 때가 있습니다.
(아래 내용은 아무말 대잔치로 적은 것이니 집중해서 읽지 마세요)
사업팀 : 상품 데이터가 이전보다 10배는 많아져서 페이지 로딩 속도가 느려진 것 같아요. 빨라졌으면 좋겠어요. 그리고 상품 정보를 보여주는 상품 카드 내용에서 가격 정보가 더 잘 보였으면 좋겠어요.
개발팀 : 데이터 가공을 xml로 하는 거보다 json이 나을 거 같은데, DB도 RDB 말고 MongoDB를 쓸까요? 아니면 cache를 쓰거나 상품 리스트 페이지만 별도 DB를 호출하도록 api를 만들까요?
디자인팀 : 가격 정보가 잘 보이려면 카드 영역 자체의 margin을 바꾸고 padding값도 조절하고 이미지 round값을 바꿔서 opacity 조정을 해야할 것 같은데요, 그러면 후기 정보가 묻힐텐데…
가상으로 만든 대화 내용이지만, 일반적으로 일어나는 상황들입니다. 사업팀에서 서비스에 필요한 것 또는 불편한 것에 대한 이슈를 이야기하면, 개발팀과 디자인팀이 해결하기 위한 방법을 이야기하는데, 각자팀의 전문성이 있다보니 대화를 할 때 전문용어가 나오면서 갑자기 대략 정신이 멍해지는 때가 오기도 합니다. 이럴 때 모두의 멘탈을 잡아주는 일을 하는 사람이 PM입니다. 각 팀의 이야기, 요구사항, 피드백을 전달받아 전달해줄 팀에게 가장 명확하고 간단하지만 자세하게 넘겨주는 것이죠.
사업팀 → PM → 개발팀, 디자인팀 : 페이지 로딩 속도 개선과 카드 정보 개선이 필요하다고 합니다.
개발팀 → PM → 사업팀 : 상품 데이터 포맷이나 DB를 변경해보는 것을 해보고, 상품 정보를 저장했다가 보여주는 걸 해보려고 합니다. 이러면, 상품 정보가 바로 반영되지 않을 수 있어요.
디자인팀 → PM → 사업팀 : 가격정보를 잘 보이게 하면 후기 정보가 잘 안 보일 수 있는데 괜찮아요?
각 팀의 전문성을 최대한 보장하면서 각 팀이 공통의 이슈에 대해서 동일한 생각과 방향성을 가질 수 있도록 사이에서 서로의 언어로 동시통역을 해주는 역할을 하는 사람이라고 할 수 있습니다. 그렇다면, 단순히 말만 잘 다듬어서 넘겨주면 될까요? 실제로 동시통역을 하는 분들은 두 언어의 문화적 배경도 이해를 하고 있어야 하고, 동시통역을 하고 있는 때와 장소를 반영하는 등 사전 정보 파악 등이 확실해야 합니다. 그렇다면 PM도 동시통역을 하려면 같은 일을 해야 하지 않을까요?
시작과 끝
포인트 가드로 표현할 수 있는 PM의 일을 동시통역가라는 키워드로 좀 더 역할을 구체화해봤는데요. 동시통역을 PM이 잘, 제대로, 진짜, 정말로 잘 하기 위해서는 하나의 이슈의 시작과 끝을 책임져야 합니다. 포인트 가드가 커뮤니케이션의 중심이 되어야 한다는 것이고, 동시통역이 커뮤니케이션을 이끌기 위한 역할이라면 시작과 끝을 책임져야 한다는 것은 커뮤니케이션이 되도록 하기 위한 필수 조건입니다.
무엇인가를 만드는 동안 정말 다양한 이슈들이 생길 것입니다. 의도를 가지고 진행하는 이슈도 있고, 예정되어 있던 이슈도 있고, 급작스럽게 등장하는 이슈도 있을 겁니다. PM은 이런 모든 이슈들이 생겨날 때 그 시작을 함께 해야 합니다. 이 이슈가 생긴 배경은 무엇이고, 목표는 무엇이고, 문제점은 무엇이고, 무엇을 해야하는 지에 대해 정의, 정리하고 등등 꼭꼭 씹어서 누구나 이 이슈에 대해 확인이 필요할 때 혼란을 가지지 않고 분명하게 파악할 수 있게 준비해야 합니다. 그래야지만 PM 자신의 언어로도, 각 팀이 사용하는 언어로도 동시 통역 해줄 수 있습니다. 기본적인 내용에 대한 이해 없이 단순히 앵무새 처럼 전달만 해준다면, 또는 그보다는 조금 발전해서 번역기를 돌려 “나는 간다 회사에” 같은 말을 전달하는 거라면 PM이라는 포지션이 굳이 존재할 필요는 없겠죠.
이렇게 자신의 언어로 만들어 개발팀, 디자인팀, 사업팀 등 정말로 이슈를 해결해줄 전문가들에게 각팀이 해야할 일을 잘 다듬어서 전달해주어야 합니다. 그러면, 각팀은 각자가 해야할 일을 명확하게 받아 처리하고, 처리된 내용들을 모아서 조합한 후 해결된 이슈를 만듭니다. 이 작업이 중간이라면 이제 다시 PM이 등장해 끝을 책임집니다. 잘 해결된 이슈를 흔히 말하는 배포(Release)를 통해 처리하고 이 과정을 PM이 관리하는 것이죠. 이 단계에 PM이 왜 다시 등장하냐면 이번 이슈는 이걸로 끝나지만, 이 끝이 다른 이슈의 시작과 연결될 수도 있고, 다른 이슈의 시작점이 이 이슈 때문일 수도 있기 때문에 PM은 이 끝에 대해서도 자신의 언어로 가지고 있어야 합니다.
포인트 가드가 되어 팀을 조율하는 것, 그 조율을 위해 커뮤니케이션의 동시통역가가 되는 것, 그러기 위해 하나의 이슈의 시작과 끝을 책임지는 것. 앞서 PM을 정의했던 “무엇인가 만드는 것 또는 그 결과물을 관리하는 것” 이라는 말 그대로 모든 것을 관리하고, 책임지는 것이 PM의 가장 중요한 역할이자 업무입니다.
마이리얼트립에서는
마이리얼트립에는 위에서 이야기한 이슈의 시작과 끝을 책임지며 동시통역을 하는 포인트 가드 역할을 하는 PM팀이 있습니다. PM팀은 제품기획실이라는 마이리얼트립 프로덕트를 책임지는 부서에 속해있고, 제품기획실을 담당하는 제품기획실장을 PO로 정의하고 있습니다. (문득… 앞서 이야기했던 가끔 PO가 “이 길이 아닌가보다” 라고 할 때도 있다고 한 거… 마이리얼트립의 PO 이야기는 아닙니…다)
마이리얼트립의 PM팀의 일을 간단하게 요약해본다면
- 투어&티켓, 항공, 호텔, 한인민박, 에어텔 등 다양한 영역의 상품을 관리하는 사업팀의 다양한 요청들과 이슈들을 접수하고
- 이 이슈들을 잘 해결할 수 있도록 개발팀, 디자인팀, 사업팀과 회의를 진행하고
- 회의를 통해 나온 해결방법을 따라 개발팀, 디자인팀이 작업을 진행할 수 있게 도와주고
- 해결된 이슈들이 문제가 없는지 QA를 진행하고
- 실제 마이리얼트립 서비스에 반영되도록 배포를 관리하고
- 배포한 이후에도 문제가 없는지 추적 관찰하고 있습니다.
위의 일들 이외에도 마이리얼트립 서비스 내부적으로 해결이 필요한 것들과 외부적인 상황으로 처리해야할 이슈들도 관리를 하며, 배가 고플 때 간식을 챙긴다거나 라운지에서 이야기를 나누는 일들도 합니다. (중요한 일이죠)
마이리얼트립의 PM으로 일을 하면서 느꼈던 여러 가지 중에 가장 특징적인 것들을 골라보자면,
- 상품을 다루는 커머스 서비스는 눈에 보이는 화면보다 그 아래에 있는 더 깊고 심오한 심연의 바다가 있다.
- 하나의 상품을 팔기 위해 사업팀은 아침부터 그렇게 울었나보다. (갑자기 시가 생각나는군요…)
- 어딘가 화수분이 있는지 해야할 일은 넘쳐나는데 좋은 분들이 더 많이 오면 좋겠다.
그래서 갑분채(갑자기 분위기 채용)! 현재 마이리얼트립은 여러 직군에 채용이 진행중입니다. 아래 링크를 통해 채용 정보를 확인하시고, 여행의 패러다임을 바꾸겠다! 같은 거창한 목표가 아니더라도 난 여행을 좋아한다! 라고 생각하시면 적극적으로 지원해주세요~ 함께 일하실 분들을 오매불망 기다리고 있습니다. 마이리얼트립과 함께 즐거운 여행을 떠나보시죠!
덧. 이 글은 앞으로 PM팀이 마이리얼트립의 시작과 끝을 책임지기 위해 시도했던 여러가지 방법들을 꾸준히 연재할 예정입니다. 기대해주세요~!