Intro
나는 SW 회사에서 개발자로 일하고 있다. 이전부터 회사에서 개발자로 일한다는 것은 무엇을 한다는 것일까? 고민을 했었다. 그 고민의 결과를 공유한다.
회사는 Role Playing 이다
SW 회사에서 일한다는건 "프로그램을 만드는" 일을 한다는 것이다. 그런데 프로그램을 만들기만 하면 되는거면 개발자 끼리만 일하면 되는 것 아닌가? 왜 다양한 직군의 사람들이 모여 있어야 하는건가? 그건, 프로그램을 만드는 과정이 리서치 > 기획 > 디자인 > 개발 > QA > CS / 피드백 > 리서치 > .. 으로 이뤄져 있어 단순 개발만 해선 제대로된 제품이 나오기 불가능하기 때문이다. 이러한 구조이기에 각 팀이 각 역할을 잘 맡아서 진행해야 한다. 즉, 자신의 Role 을 잘 Playing 해야한다고 생각한다.
반대로 말하면, 자신의 역할이 아닌 일에 시간을 쏟으면 안된다는 말이다. 기획자가 디자인에 많은 시간을 보내선 안되고, 개발자가 기획에 많은 시간을 보내선 안된다. 게임에서도 힐러가 딜러처럼 플레이 하게되면 그 파티는 금세 전멸하고, 축구에서 골키퍼가 공격수처럼 행동하면 게임을 지듯이 말이다.
도전은 좋은 것인가?
이전 직장에서 "Comfort zone을 벗어나라" 라며 다른 역할과의 회색지대를 넘나들며 일하라는 얘기를 들었다. 물론 좋은 얘기라 생각한다. 실제로 나는 첫 직장에서도 첫 창업에서도 기획, 디자인, CS 등 다양한 일을 도맡아 했었고 그렇기에 폭 넓은 지식을 갖게 되었다. 단, 자신의 역할을 명심하며 다른 역할에도 도전해야 한다. 개발자로써 나의 역할은 고객에게 약속한 피처를 약속한 기한내에 문제없이 전달하는 것이다. 이 역할이 가장 중요한 것이고, 마케팅이나 디자인 기획의 일은 후순위로 해야 한다.
이전에 누군가가 이렇게 물었다 "개발을 잘 아는 기획자가 훌륭한 기획자라 해서 공부를 하고 싶은데 개발 강의 추천을 해주실 수 있나요?" 나는 "개발자에게 가장 훌륭한 기획자는 기획자로써의 역할을 잘 하는 사람입니다. 개발을 배우기보단 만드는 제품의 정책과 시스템을 더 공부하세요" 라고 답해주었다.
팀원이 "저는 앞으로 뭘 하면 될까요?" 라고 물었다.
개발팀 리드로 있을 때, 팀원이 "저는 앞으로 뭘 하면 될까요?" 라고 물었다. 보통은 "앞으로 메인 서비스쪽 개발을 주로 맡으실 거고, 프론트로 시작해서 필요하면 서버쪽 개발까지 맡아서 해주실 거에요" 라고 대답 했겠지만, 당시 나는 "ㅇㅇ님의 역량을 봤을 때, 저희 개발팀 내에서 ㅇㅇ님의 역할은 ~~ 에요. 그렇기에 메인 서비스의 새 피처 개발에 주로 참여해주실 거에요. 그리고 저희 다른 팀원들의 역할은 ..." 으로 말했다.
자신의 역할을 모른채 여러 업무만 진행한다면 그건 발전과 성장을 막는 지름길이라 생각한다. 회사는 롤플레잉이기 때문이다.
회사는 롤플레잉이다. 내가 무슨 업무를 하든, 나의 역할을 잘 알고 해야한다. 또, 내 팀원에게 일을 시키기 전에 팀원의 역할을 충분히 설명해주어야 한다.