[NDC18]넥슨 홍성우 “프로그래머 교육은 좋은 동료 만들기”

코드 리뷰, 설계 리뷰, 아침 회의를 통해 업무 능력 복제 시도

디지털경제입력 :2018/04/26 12:05

신입 및 경력 프로그래머의 교육 방법과 좋은 성과를 내기 위한 조직 문화, 관리자 교육 가이드라인 등을 제시한 자리가 마련됐다.

넥슨의 데브캣 서버엔진팀 소속 홍성우 프로그래머는 26일 넥슨 판교 사옥 지하 1층에 마련된 NDC2018 강연장에서 “게임도 영화처럼 다양한 직군이 모여 만든다. 기획 아트를 엮어 결과를 만드는 건 프로그래머의 역할”이라면서 “그러다보니 프로그래머의 역량을 관리하는 게 중요하다”고 말했다.

이어 그는 “학교에서 배운다? 기본적인 지식은 배우지만, 회사에선 품질 기준과 업무를 보는 관점이 다르다는 점을 알아야한다. 유지 보스와 협업 등도 필요하다”고 덧붙였다.

그러면서 “경력자가 교육 없이 즉시 전력이 되는 것은 아니더라. 조직 개발환경이 달라서다. 메인 언어가 바뀌기도 한다. 조직 문화에 동화시키기 위한 재교육도 필요하다”라며 “회사에선 똑똑하고 실력 있는 동료가 필요하다. 회사에서 일을 즐겁게 하려면, 동료가 일을 잘 해야한다”고 강조했다.

넥슨의 데브캣 서버엔진팀 소속 홍성우 프로그래머가 26일 NDC2018 강연에서 프로그래머 교육 방법에 대해 발표했다.

그렇다면 홍성우 프로그래머는 어떻게 교육할까. 크게 코드 리뷰, 설계 리뷰, 아침 회의 세 가지 단계를 거친다.

코드 리뷰는 자신의 일을 잘라서 나눠주는 것으로 시작한다. 이를 통해 교육받는 사람이 프로그래밍 규칙을 이해하고, 규칙의 근거가 되는 원칙, 언어 사용 노하우, 코드 작성 시 함정 회피, 좋은 코드를 위한 습관들을 생기해 해준다.

또한 스스로 고민하는 폭을 점점 넓혀 나가도록 유도해야 한다. 어느 정도 고육이 진행되면 작업을 직접 설계하고 검토 이후 피드백해주는 방식으로 이어가야한다.

설계 리뷰는 결정의 근거와 타당성을 검토하고 예상되는 문제를 찾아내 다른 의견을 제시하도록 만들어주는 교육이다. ‘나라면 이렇게 했을꺼에요. 왜냐하면...’식이다.

설계 리뷰를 통해선 문제를 볼 때 사고의 흐름, 체크리스트, 우선순위. 타협할 수 있는 것과 아닌 것. 성능 품질 기준의 설정과 비용 분석 등을 익힐 수 있다. 더 나아가 참고할만한 기준 또는 과거의 설계, 미래의 스펙 환경 변화에 대비하는 설계 등도 경험할 수 있다.

아침 회의는 커뮤니케이션을 통해 개인과 조직의 발전을 꾀하기 위해서다. 게임이란 게 한 번에 개발되는 게 아니고 대화 속에 완성된다는 게 홍성우의 설명이었다. 프로그래머는 “C++보다 대화를 잘해야 한다”라고 귀띔하기도 했다.

넥슨 데브캣 홍성우.

홍성우 프로그래머는 “코드 리뷰는 자신의 일을 잘라서 나눠주고 시키는 것에 끝내면 안 된다. 방법도 자세히 알려줘야 한다. 신입을 테스트하는 게 아닌 일을 완수할 수 있도록 도움을 줘야한다. 이 과정은 문서로 남기면 좋다”라면서 “내가 했다면 어떻게 달라지는지도 알려야한다. 자신이 직접 한 것을 알려주기도 해야한다”고 설명했다.

또 그는 “아침회의는 커뮤니케이션 훈련을 위해서다. 프로그래머는 기계와 일하는 것보다 사람과 일한다고 생각한다”며 “짧은 시간 중요한 내용을 사실 중심으로 건조하게 요약 보고하거나, 논쟁 또는 조율하는 대화의 톤도 배울 수 있다”고 했다.

코드 리뷰, 설계 리뷰, 커뮤니케이션은 계속 반복된다. 교육자와 교육을 받는 프로그래머가 이러한 과정을 통해 서로 발전할 수 있다.

교육의 최종 목표는 교육자와 교육을 받는자의 작업 스타일이 비슷해지도록 하기 위해서다. 이를 ‘업무 능력 복제’라고 표현했다. 어느 정도 교육 과정이 끝날 때 쯤 난이도와 영역을 점진적으로 올려 교육자의 업무를 대체할 수 있도록 해야 한다는 말도 했다.

피해야하는 교육 방법에 대해서는 “책읽기와 샘플 게임 구현은 적절한 교육이 아니다. 기본 지식도 중요하지만 실무는 많이 다르다. 게임사에는 샘플 수준으로 게임을 만들지 않는다. 가장 좋은 교육은 실제 쓰는 코드를 알려주는 것”이라고 조언했다.

프로그래머 교육은 관리자와 구성원이 모두 힘을 합쳐야한다는 말도 전했다. 관리자는 프로세스와 조직 문화를 리드하고 구성원을 교육해야한다. 구성원은 조직 문화를 서로 전달하고 기여하며 입지를 만들어야한다. 이후 관리자는 자신의 역할은 구성원에 분산해야한다. 관리자 후보를 키우는 일이다.

직접 이에 대한 교육 방식을 겪은 홍성우 프로그래머는 “교육의 효과는 일회성이 아닌 지속성이 있다. 나 역시 교육을 받고 가르치며 경력을 쌓아왔다. 교육 가성비가 낮아 보이지만 장기적으로 보면 높다”며 “퇴사한다? 재입사하는 경우도 많다. 프로그래머가 성장감을 느끼면 퇴사를 안 한다. 성장이 멈췄다고 생각하면 퇴사한다. 다른 직군도 마찬가지다”라고 말했다.

그는 또 “업무와 교육은 분리되지 않는다. 각 프로그래머의 역량을 끌어올려야 업무가 궤도에 오른다. 이를 통해 구성원들이 성장한다”라며 “교육은 관심에서 시작해야한다. 같이 일하고 있는 동료를 포섭대상이라고 생각하고 잘해야 한다. 학교는 개인의 성과라면 조직은 구성원과 함께 성과를 내야한다. 서로 도움을 받는다고 생각하자”고 강조했다.

그는 “지적은 업무적, 칭찬은 의식적으로 찾아서 해야 한다. 상식, 센스 등의 단어는 조심해야한다. 교육자가 스스로 정의할 수 없거나 일관성이 없으면 안 된다. 알아서 잘해주기를 바라면 안된다”라며 “한 아이를 키우려면 온 마을이 필요하다. 프로그래머 교육도 이와 같다. 서로를 위한 마을이 되어달라”며 강연을 마쳤다.

관련기사

더불어 올해로 12주년을 맞은 NDC는 국내 최대 게임 관련 지식 공유 컨퍼런스다. 이날부터 오는 4월 26일까지 판교에 위치한 넥슨코리아 사옥과 경기창조경제혁신센터 국제회의장, GBI타워 등에서 진행된다.

올해 NDC의 세션 규모는 100여개다. 게임기획, 비주얼아트, 사업마케팅, 프로그래밍, 프로덕션 운영, 인디게임, 커리어, 가상현실 등의 카테고리로 나뉜다. 행사 기간 동안 게임 관련 실무 담당자들이 각 카테고리별로 강연에 나선다.