퀵바

ki**** 님의 서재입니다.

사실 게임 프로그래머 리더십에 대한 이야기

웹소설 > 일반연재 > 현대판타지, 게임

kistch
작품등록일 :
2022.05.11 13:48
최근연재일 :
2022.07.17 19:55
연재수 :
50 회
조회수 :
17,268
추천수 :
1,103
글자수 :
233,327

작성
22.07.10 21:05
조회
169
추천
9
글자
11쪽

리펙토링 1

DUMMY

허윤 파트장님이 대답했다.

“네. 질문은 편하게 하세요.”


그의 목소리는 감정이 결여된 듯 차가웠지만, 그렇다고 거짓말을 하는 것 같지는 않았다.

“저희가 해야 할 업무가 정해져 있는 게 아닌가요?”

“네. 업무는 정해져 있지 않습니다. 저희는 사람을 필요할 때 채용하는 것이 아니라, 좋은 사람이 있으면 채용하고 그 사람이 잘 할 수 있는 분야에 투입합니다.”


나는 감탄해서 하지 말아야 할 소리까지 하게 됐다.

“와··· 역시 대기업은 다르네요. 사람을 필요할 때 채용하는 게 아니라, 좋은 사람을 채용한다니···”


허윤 파트장님과 내 입사 동기 넷은 동시에 나를 바라봤다. 그리고 허윤 파트장님이 말했다.

“크흠··· 네 아무튼 그렇습니다. 그래서 자신이 뭘 잘하는지. 뭘 잘 할 수 있는지 말해보세요.”


허윤 파트장님의 감정이 결여된 듯한 대답과 수습 탈락에 대한 공포가 겹치자 신규 입사자들은 모두 극한의 방어 태세를 꾸렸다.

하지만 나는 어떤 프로젝트에든 처음 투입되면 항상 하는 일이 있었기 때문에, 방어적으로 굴지 않았다.

모두의 침묵을 뚫고 내가 말했다.


“제가 말해도 될까요?”

“네. 진수 님 맞죠?”

“네. 이진수입니다.”

“네. 진수 님은 어떤 것을 잘하시나요?”

“잘하는 것보다 하고 싶은 것이 있습니다. PC 세팅이 끝나면 형상 관리 툴 로그를 쭉 보고 싶습니다. 형상 관리 툴은 어떤 걸 쓰시나요?”

“SVN을 사용합니다.”

“네 그렇다면, SVN 로그를 우선 훑어보고 싶습니다.”


입사 동기 넷은 나를 쳐다봤다. 넷에는 내 또래도 있고, 어려 보이는 친구도 있고 나보다 나이가 더 많아 보이는 사람도 있었다. 하지만 그들은 공통되게 “SVN 로그를 보는 것이 하고 싶은 일이라고?”라는 표정을 짓고 있었다.


허윤 파트장님이 말했다.

“SVN 로그는 왜요?”

“SVN 같은 형상 관리 툴의 작업 로그를 보는 것이 프로젝트를 파악하는데 최고의 방법이라고 생각합니다.”

“알겠습니다. 그럼 일주일 시간을 줄 테니 PC 세팅하고 SVN 로그 파악해서 저한테 보고하세요.”

“리포트 형식은 정해져 있을까요?”

“자유 형식입니다.”

“알겠습니다. 그럼 오늘이 월요일이니 금요일에 리포트 드리겠습니다.”

“네. 그럼 다른 분들은 뭘 하고 싶으신가요?”


짧지만 긴 1분. 그 시간 동안 내 동기들은 수습에서 살아남기 위한 각자의 계획을 만들었을 거다. 하지만 아무도 쉽게 입을 떼지는 못했다. 자칫, 팀장님이 원하는 대답을 하지 못해 첫날부터 찍힐 것이 두려웠을 것이다.


“흠··· 딱히 없으시면 오늘은 모두 PC 세팅해주세요. 진수 님을 제외한 네 분은 내일부터 할 일을 따로 드리겠습니다.”



이렇게 짧지만 강렬했던 클라이언트팀 팀장님과의 면담을 마치고, 우리는 각자의 자리로 배정받았다. 건물 자체는 3N게임즈가 압도적이었지만, 사무실 컨디션은 미들소프트와 비슷했다. 미들소프트가 회사 규모에 비해 워낙 잘 꾸며둔 탓이다.


나는 주변 사람들과 가볍게 인사하고 바로 자리에 앉았다. 3N게임즈의 사무실 분위기는 대체적으로 조용했다. 나는 그 조용함에 약간의 위압감을 받았다. 우리나라 최고의 인재들과 나. 나도 그들만큼 잘 적응할 수 있길 바랐다.

나는 자리에 앉아 곧바로 가이드대로 PC 세팅을 했다.

입사 첫날 PC 세팅은 기다림의 연속이다. 필요한 프로그램을 설치하고, 프로젝트의 리소스 파일들을 다운로드 받는다. 리소스를 다운 받을 때는, 작업 환경이 갖춰진 상태가 아니다. 그래서 따로 할 수 있는 일이 없다. 딱 하나 SVN 로그를 보는 것만 빼는 말이다.

나는 SVN 로그를 유심히 봤다. SVN로그를 보는 것은 내게 일상 같은 일이다.

프로젝트의 과거 데이터를 추적하다 보니 이 프로젝트는 시작한 지 몇 달 되지 않았다. 우선 나는 클라이언트 작업 영역의 로그부터 집중적으로 훑기 시작했다.

SVN 로그를 통해 습득한 클라이언트 쪽 정보는 이렇다. 우선 핵심 맴버 3~5명을 제외하고는 대부분 입사한 지 얼마되지 않았다. 길어야 3달? 핵심 맴버만 반년 정도 이곳에서 프로젝트 설계를 했던 것 같다. 아마 프로젝트가 프로토타입에서 정규로 전환되면서 인력을 급작스럽게 불린 것 같다. 기존 맴버보다 더 많은 신규입사자가 발생하면, 필연적으로 부조화가 발생한다. 기존 맴버들이 신규 입사자에게 조직의 문화나 코딩 방법에 대해서 전파되기 전에 이미 신규 입사자들끼리 카르텔이 생기기 때문이다. 그래서 프로젝트의 코드가 매우 더러웠다.

나는 이 프로젝트의 더러운 코드를 하나하나 조각내어 레고블록처럼 예쁘게 다시 만들고 싶다는 생각이 들었다. 하지만 이 일은 입사 첫날인 내가 할 일이 아니다.


아무튼, 지금 상황에서 내가 무얼 찾아서 리포트 해야 할까? 입사 첫날부터 다른 작업자들의 작업물에 대해 비판을 하면, 분명 고주영처럼 싸움꾼으로 낙인이 찍힐 수 있다. 진취적이면서··· 싸움꾼이 아닐 수 있는 것··· 잘 떠오르지 않는다.

무엇을 해야 할지 모를 때는 역시 내가 할 수 있는 것을 하면 된다. 나는 생각의 발상을 바꿨다. “내가 무얼 해야 할까?” 에서 “내가 무얼 할 수 있을까?” 로.

일단 내가 했던 작업은 콘텐츠, 최적화, 툴···. 툴? 그래 툴이라면 기존 컨테츠랑 상관없이. 기존 작업자와 관련 없이 내 영역을 만들어 작업할 수 있다.

나는 다시 SVN 로그를 훑기 시작했다. 이번에는 내가 어떤 툴을 만들어야 할까? 라는 주제로 로그를 훑었다.

최근 매그넘팀의 작업 중 주된 작업은 로그인과 캐릭터 선택 창 등 게임의 초반 UI들이었다.

“흠··· 매그넘팀은 이제 막 전투만 만들었던 프로토타입을 넘어서 게임의 기본적인 모양을 갖추려던 참이다. 로그인 창이나 타이틀 창 등은 모든 게임에 다 있다. 그런데 작업자들은 이 창이 생김과 동시에 게임에 접속하기가 더 번거로워진다.

그 이유는 아이디를 입력하고, 회사 타이틀을 보고 입력 버튼을 누르는 행위를 하루에도 수십 수백 번을 반복해야 하기 때문이다.

좋았어! 일단 퀵로그인 툴을 만들자!


다음 날. 내 PC에 프로젝트 세팅이 끝났다. 이제 나도 우리 게임에 접속 해 볼 수 있다.

나는 시간을 측정해봤다. 로딩 창에서 강제로 보여주는 3N게임즈 로고 5초, 로딩 창에 아이디 입력 후 엔터 치는 데까지 5초, 그리고 여러 캐릭터 중 하나를 고르고 마을까지 진입하는데 3초. 게임의 메인 화면까지 진입하는 데 총 13초가 소비된다.

나는 개발자들의 개발 환경을 개선하기 위해 이 13초를 줄여보기로 했다. 사소한 작업이지만, 입사 첫 주니까 그러려니 하겠지.


어제 SVN로그로 미리 파악했 듯이, 이 프로젝트의 코드는 많이 복잡하고··· 코드적으로 더러웠다. 실제로 내가 퀵로그인 기능을 만들기 위해 필요한 기능을 찾아보니, 프로젝트 코드의 더러움을 더 실감 할 수 있었다.

아무튼 나는 13초를 줄이기 위해 계속 코드 분석을 했다. 처음에 서너 시간이면 끝날 줄 알았던 내 작업은 이틀이나 이어졌다. 이틀 동안 작업 한 내 작업은 이렇다.

개발자 모드일 경우, 단축키를 누르면 로고 씬을 건너뛰고, 마지막으로 입력했던 아이디와 캐릭터를 선택해서 마을까지 입장시켜 준다.


퀵로그인 작업이 끝나고 SVN 로그를 다시 보니, 최근 누군가가 몬스터 AI에 대한 작업을 열심히 하고 있었다. 그래서 나는 몬스터 AI를 멈추는 치트키를 만들었다. 자고로 몬스터를 만들다 보면 몬스터 AI를 직접 컨트롤할 상황이 자주 생기는데, 이때 자동으로 계산되는 몬스터 AI를 끄는 치트키는 내 경험상 반드시 유용할 거다. 거기다 내가 원하는 행동을 몬스터에게 바로 시킬 수 있는 디버깅용 패널도 하나 만들었다.


다음 날. 약속한 대로 허윤 파트장님은 우리를 찾아왔다.

“준비되었나요?”

“네.”

“그럼 회의실로 가서 얘기하시죠.”


나와 나의 동기들은 허윤 파트장님을 따라 회의실로 들어갔다.

우리는 이제 입사 일주일째였다. 허윤 파트장님은 그동안 우리가 무얼 했는지 하나씩 물었다.

입사 첫날 나는 SVN 로그를 보고 싶다고 했었고, 허윤 파트장님은 세팅 시간을 포함해 5일의 시간을 내게 줬다. 그래서 내게는 따로 주어진 업무가 없었다.

하지만, 나머지 4명의 동기는 맡은 업무가 있었고 그들은 진행 상황을 보고했다.

그리고 이제 내 차례다.


“진수 님.”

“네”

“첫날 SVN 로그를 보고 싶다고 하셨었는데, 많이 보셨나요?”

“네.”

“보고 무얼 느끼셨나요?”

“몇 가지 있는데, 우선 최근 프로토타입이 끝나고 게임을 정식화하면서 타이틀씬 같은 것들이 작업 되는 것 같습니다. 그래서 개발자가 처음 마을에 들어가는 데까지 시간이 조금 더 걸리는 것 같습니다.”

“흠···”


허윤 파트장님은 내 대답이 마음에 안 들었던 것 같다. 내가 이어 말했다.

“그래서 퀵로그인이라는 단축키를 만들었습니다.”


다행히 퀵로그인 단축키에는 관심이 있어 보였다.

“퀵로그인요?”

“네. 에디터 상에서 단축키를 누르면, 타이틀 신과 로그인 창, 캐릭터 선택 창이 스킵 되고 바로 마을까지 진입합니다.”

“아이디랑 캐릭터 선택 창이 스킵 되면 어떤 아이디로 어떤 캐릭터로 접속되나요?”

“네. 마지막에 로그인했던 아이디와 캐릭터를 정보를 로컬에 저장합니다. 그리고 그 데이터를 기반으로 아이디와 캐릭터를 자동 선택합니다.”

“흠··· 있으면 편하기는 하겠네요. 그리고 또 느낀 것 없나요?”

“최근 몬스터 작업이 한창 진행 중인 것 같았습니다.”

“그런데요?”

“그래서 몬스터 AI를 수동으로 컨트롤할 수 있는 패널을 하나 만들었습니다.”

“어떻게요?”


“몬스터를 선택하면, 몬스터가 할 수 있는 액션 리스트를 보여줍니다. 그리고 그 리스트 중 하나를 선택하면 몬스터는 선택된 행동을 합니다. 지연시간이나 반복도 설정할 수 있고요.”

“흠··· SVN 로그를 보고 툴 작업을 하셨네요?”

“네. SVN 로그를 보다 보니, 지금 필요한 것들이 보여서 만들어봤습니다.”

“예전에도 툴 작업을 많이 해봤나요?”

“네. 이전 회사에서 여러 툴을 만들어 봤습니다.”

“그렇군요.”


허윤 파트장님은 고민하는 듯해 보였다. 나는 미들소프트에서도 툴 작업을 많이 해봤고, 3N게임즈에 와서도 첫 코딩을 툴로 시작했다. 아마 나는 툴 작업자가 될 것 같았다.


허윤 파트장님이 말했다.

“더 느낀 거 있나요?”

“네.”

“말씀해보세요.”

“느낀 점은 분명히 있는데, 입사한 지 1주일밖에 안 된 제가 판단하기 조금 애매한 부분입니다.”

“괜찮으니까 말해보세요.”


나는 망설였다. 입사 첫날부터 부정적인 사람으로 보이면 안 좋을 것 같았다. 하지만 결국 나도 고주영처럼 하고 싶은 말은 하게 되는 타입이었다.

“전체적으로 프로젝트의 코드가 더러운 것 같습니다.”


이 작품은 어때요?

< >

Comment ' 0


댓글쓰기
0 / 3000
회원가입

사실 게임 프로그래머 리더십에 대한 이야기 연재란
제목날짜 조회 추천 글자수
공지 잠시 휴제하려고 합니다. 22.07.24 116 0 -
공지 연재 주기를 변경하려고 합니다. 22.07.10 52 0 -
공지 다음 주(6월 20일~) 연재는 이번주 주말에 몰아서 하겠습니다 22.06.17 262 0 -
50 리펙토링 2 +2 22.07.17 168 14 12쪽
» 리펙토링 1 22.07.10 170 9 11쪽
48 사실 진수 이야기는 여기서부터 22.07.08 157 10 11쪽
47 나만의 빽 만들기 3 22.07.07 159 9 11쪽
46 나만의 빽 만들기 2 22.07.06 177 12 12쪽
45 나만의 빽 만들기 1 22.07.05 167 9 11쪽
44 나만 몰랐던 고백 22.07.04 193 12 11쪽
43 고구마는 최대한 짧게 22.07.01 220 15 11쪽
42 피싱 vs 피싱 2 22.06.30 211 13 12쪽
41 피싱 vs 피싱 1 22.06.29 216 12 11쪽
40 임아린의 노하우 2 22.06.28 230 13 12쪽
39 임아린의 노하우 1 +1 22.06.26 261 14 11쪽
38 파트장 변화시키기 2 +1 22.06.19 273 14 12쪽
37 파트장 변화시키기 1 22.06.19 299 14 11쪽
36 민희 씨와 의지 +2 22.06.18 288 16 12쪽
35 고주영과 최적화 4 +2 22.06.18 302 16 11쪽
34 고주영과 최적화 3 +2 22.06.17 298 20 11쪽
33 고주영과 최적화 2 +1 22.06.17 293 21 12쪽
32 고주영과 최적화 1 +1 22.06.16 296 15 11쪽
31 적응 8 +2 22.06.15 298 16 11쪽
30 적응 7 +3 22.06.14 305 19 11쪽
29 적응 6 +9 22.06.13 360 17 11쪽
28 적응 5 +3 22.06.10 307 19 12쪽
27 적응 4 +1 22.06.09 297 20 12쪽
26 적응 3 +3 22.06.08 310 19 12쪽
25 적응 2 +2 22.06.07 316 19 12쪽
24 적응 1 +2 22.06.06 327 22 9쪽

구독자 통계

신고 사유를 선택하세요.
장난 또는 허위 신고시 불이익을 받을 수 있으며,
작품 신고의 경우 저작권자에게 익명으로 신고 내용이
전달될 수 있습니다.

신고
비밀번호 입력