[▲ 왼쪽부터 넥슨 최진욱 연구원, 아이엠씨 게임즈 장승호 사원]

신입 프로그래머가 입사를 하면서 겪는 고충들은 무엇일까. 넥슨 최진욱 연구원과 아이엠씨 게임즈 장승호 사원은 "신입 프로그래머의 고민을 통해 생각해 보는 누구나 쉽게 적응할 수 있는 프로젝트 만들기"라는 제목으로 NDC 2014에서 강연했다.

이번 강연은 오래 라이브 서비스가 가능하면서 신입도 쉽게 적응할 수 있는 프로젝트를 만드는데 도움을 주기 위한 강연이다. 오랜된 라이브에 적응하는 과정에서 겪었던 그들의 경험을 공유하면서 신입 개발자들에게 필요한 것은 무엇인지 알아보는 시간이었다.


"라이브가 활발한 곳이면 평균적으로 신입은 라이브에 배치됩니다. 이때 신입에게는 라이브와 신규 개발의 차이에 관한 인식이 필요하죠. 신입은 라이브 개발자의 필요성에 대해 정확히 알지 못합니다. 이미 만들어진 게임을 맡게 되면서 만드는 콘텐츠가 적은 것이 라이브 개발자라고 생각을 하게 되죠."

신입 프로그래머는 우선 경험이 적다. 대규모 프로젝트를 진행해보지 못했으며 합격 후 자신감이 자만심이 되어 공부를 게을리하게 되기도 한다. 부족한 경험은 신입에게 불안 요소를 만든다. 이를 줄이기 위해서 신입 프로그래머에게는 자신이 꾸준히 계발할 수 있도록 지침과 격려가 필요하다.

NDC2013에서 진행된 박동일 연구원의 강연에서는 신입이 실수를 하면 프로그램의 안정성이 떨어진다고 했다. 신입 프로그래머가 수 많은 소스 코드 속에서 파묻혀 지내다 보면 적응은 커녕 업무에 질릴 우려도 있다. 따라서 스스로 문제 해결 능력을 기를 수 있도록 신입 프로그래머를 단계적으로 훈련시켜야 하며 이런 노력이 대부분의 라이브에 요구된다.


'마비노기'는 각 과제별로 평가를 제공해 피드백을 반영했다. 실무와 유사한 시나리오 과제를 통해 신입이 실제 업무에 자신감을 가지고 임할 수 있도록 하기 위한 것이다. '그라나도 에스파다'의 경우에는 간단한 버그 수정이나 신입이 개발할 만한 프로젝트를 제공했다. 쉽게 할 수 있는 소규모 프로젝트로 게임에 기여하고 있다는 느낌을 주어 팀 소속감을 갖게 만들었다.

"신입 프로그래머가 오래된 프로젝트에 참여하면서 여러 문제를 겪습니다. 프로젝트가 오래되면 문서를 찾는데 상당한 시간이 걸리고, 오타로 인해 파일을 찾지 못하는 경우가 발생합니다."

게다가 수년 전 만들었던 TODO 주석이 남아있는 경우도 신입에게 골칫거리다. 주기적으로 저장소 관리와 빌드를 하지 않으면 신입 프로그래머에게 상당한 스트레스로 다가간다. 사용하지 않는 코드가 남아있는 경우 신입이 코드 파악을 하는데 방해가 된다고.


"매크로와 템플릿의 경우 익숙하면 가독성을 늘려주기도 하지만, 학교 과정만 충실히 배웠던 신입 프로그래머에게 불편합니다. 따라서 이를 많이 사용해 작성하지 말고 보다 쉽게 작성할 필요가 있죠. 향후 쉬운 방향으로 리팩토링을 할 수 있는 문화나 프로세스를 정착해야 해요. 혹은 목표나 성능, 퀄리티에 대한 허들을 낮출 필요가 있습니다."


이외에도 직군간 공유 정보 저장소의 필요성에 대해 강조했다. 가령 기획자가 프로그래머에게 자주 물어보는 내용을 목록 검색으로 쉽고 빠르게 찾아볼 수 있도록 하는 것이 필요하다고.

"'마비노기'는 직군 회의나 운영 툴, 스크립트 함수 목록을 출력할 수 있는 기능이 좋았습니다. 특히 직군 회의의 경우 전 국가 프로그래머가 정기적으로 현황을 공유해서 다른 팀 프로그래머에 대한 이해와 배려가 되는 기반이 됐죠."

'그라나도 에스파다'는 기획자 스스로 처리할 수 있는 범위가 넓은 점을 장점으로 꼽았다. 스킬, 몬스터, 신 캐릭터 등 대부분 콘텐츠를 기획자가 제작할 수 있다. 스킬 타격 범위나 스플래시 형식 등 대부분이 데이터로 되어 있어 완전히 새로운 형식이 아닌 이상 프로그래머가 없어도 기획자가 작업할 수 있다.


신입 프로그래머가 라이브에 적응하게 되면 장점보다 단점이 많이 보인다. 믿을 수 있는 시니어 프로그래머가 부족한 데다가 안정성 문제로 고치지 못하는 부분을 볼 때마다 괴롭다. 기반 코드를 설계하거나 작성해 볼 기회는 적으며, 최신 기술을 다루지 못해 나중에 문제가 되지 않을까 하는 걱정이 생기도 한다.

"신입의 입장에서 바라본다면 프로젝트가 주는 기회를 못보고 지나칠 수도 있습니다. 부족한 부분이 있을 수는 있지만, 신입이 프로젝트에서 얻을 수 있는 보물을 깨달을 수 있도록 해 준다면 권태를 물리칠 수 있습니다."


"많은 온라인 게임의 미래는 라이브입니다. 라이브에서 필요한 부분에 대해 더 생각을 해봐야 하며 라이브 관련 세션에도 많은 관심이 있어야 하죠. 라이브가 오래되다 보면 신입의 비중이 증가하게 됩니다. 신입은 개발하기 편한 환경이 있어야 하며 믿고 의지할 수 있는 경력자가 필요합니다."