"서버 개발자는 강심장이 되어야 한다"
OSEN 고용준 기자
발행 2012.05.10 10: 39

365일 하루도 쉬지 않고 살아 움직이는 세계가 바로 온라인게임이다. 온라인게임 흥행의 가장 기본 척도는 게임성이지만 서비스 출범 이후 초창기 에는 심장이라고 할 수 있는 서버가 무엇보다 중요하다. 아무리 잘 만들어도 소위 서버가 다운되버리면 허사이기 때문이다.
잘 만들어진 결과물(기획, 그래픽디자인, 사운드, 클라이언트 프로그램)을 물리적으로 떨어져 있는 유저들이 온라인 세계에서 문제없이 어울어지게 하는 곳이 게임서버다. 심장 같은 곳을 다루는 서버 개발자들은 당연히 강심장을 가져야 할 수 밖에 없다.
게임 중견기업 엠게임에 12년째 근무중인 이재창 실장을 통해 온라인게임 서버 개발자의 일상과 애환을 들어봤다.

- 온라인게임 개발 파트가 엄청 다양한데 그 중에서 '서버'개발자로 일하게 된 계기는?
▲ 처음부터 서버개발자로 시작한 것은 아니었다. 입사 후 처음 개발에 참여했던 것이 ‘넷바둑’ 유지보수와 바둑 리그시스템 개발 이였는데, 예전 보드 게임 팀은 한 명의 프로그래머가 게임의 클라이언트와 서버 개발을 함께 담당했었다. 이후 RPG장르 개발 작업에 참여하면서 보드게임에서의 경험 때문에 팀 상황에 따라 클라이언트와 서버를 병행하다가, 2003년부터는 서버 파트의 개발에 주력하게 되었다
- 게임마다 정기 서버 점검 기간이 있는데 이때는 무슨 일을 하는지.
▲ 사실 그 시간은 피가 마르는 때이다. 주어진 시간은 길어야 3시간. 그간 있었던 QA 수정사항 패치, 신규 콘텐츠 추가, 가끔 OS업데이트 및 장비 교체를 한다. 아무리 테스트 서버에서 예상 이슈를 점검했다 하더라도, 그 상황이 본 서버와 100% 동일하게 나타나지 않기 때문에 서버 점검 시간이 끝나도 끝은 아니다.
- 서버 개발과장에서 가장 유의하는 부분이 있다면.
▲ 상상력과 유연함을 갖는 것. 온라인게임은 많은 유저가 서로 다른 환경에서 게임을 한다는 것을 기억해야 한다. 그래서 예상치 못한 이슈들이 쏟아지는 것이 당연하다. 때문에 개발을 하면서 가능한 많이 상상하고 예측해보는 것이 포인트. 최선책과 함께 차선책을 준비하여 쉼 없이 변화하는 요구사항을 수용해줘야 한다.
- '서버'개발이란 무엇인가?
▲ 서버 개발과정은 서비스 시작 전과 후로 구분할 수 있다. 공개 서비스 전 단계에는 네트워크 구축(대규모 접속자 처리 및 빠른 응답 등이 가능 하도록 함) 데이터베이스 설계(게임 장르나 에이전트의 역할에 맞는 데이터베이스를 선택하고 튜닝 및 각각의 API를 서버 어플리케이션에 적용) 게임 로직 설계, 서버 어플리케이션에서 가장 하드웨어 리소스를 많이 차지하는 부분인 AI설계, 서비스 관리툴과 로그를 만든다. 공개 서비스 단계에서는 서비스에 사용될 서버 장들의 세팅, 백업, 유지보수, 운영 이슈 처리 등을 만튼다.
- 최고의 에피소드를 꼽아본다면.
▲ 최악의 순간이 있었다. IDC 센터에서 데이터 DB 장비의 스위치를 잘못 눌러서 서버가 다운이 되었고, 복구하는 장장 2일이 걸렸다. 즉, 2일간 서비스가 중단된 것이다. 요즘 말로 멘붕(멘탈붕괴)에 이르렀다. 지금도 아찔하다.
최고의 순간도 잊을 수 없다. 영웅 온라인은 컨트롤에 약한 성인 유저 층을 위해서 ‘마우스클릭’만 해도 쉽게 3D게임을 할 수 있도록 개발했다. 당시 근육을 사용하기 어려운 '루게릭병'을 앓고 있는 한 회원도 할 수 있을 정도였다. 이 회원의 건의로 게임 내에서 '화상 키보드 기능'을 사용할 수 있도록 추가했고, 개발자로서의 삶이 뿌듯했다.
- 서버에 문제가 생길까 늘 불안할 것 같은데 스트레스 해소법은?
▲ 스트레스는 초월했다. 서버 개발자들이 있는 곳에서는 '어?!'라는 감탄사를 함부로 내뱉지 말아달라고 부탁한다. 특히 감탄사가 터질 때면 가슴이 철렁 내려 앉는다. 서버 개발자는 감정 컨트롤이 가장 중요한데, 주변의 반응에 휩쓸려 냉정을 찾기가 어려워 진다. 후배들 중에서는 서버가 다운되면 손을 덜덜 떨면서 힘들어 하는 모습을 보면 안쓰럽다. 서버개발자는 '강심장'이 되어야 한다. 좀더 강력하게 어필하자면 서버가 죽은 것이지, 우리가 죽은 것은 아니지 않는가? 담대해야 스트레스에서 벗어나 이 일을 즐길 수 있을 것 같다.
- 이토록 힘든 서버개발자의 길에 비전은 있는지.
▲ 서버 개발은 비주얼적인 결과물이 나오지 않기 때문에 팀 내에서 짧은 시간에 자신의 능력을 어필하기 힘든 분야이지만 상대적으로 다른 직군에 비해 경험이 중요하고 그만큼 경력자의 가치가 큰 직군이다. 플랫폼의 영향을 적게 받기 때문에 과거에 쌓아놓은 개발력을 유지하기 용이하고, 제품을 어필하는 것은 클라이언트지만 서비스를 주도 하기 때문에 개발팀에서 라이브팀으로 넘어온 이후에 서버 개발자가 서비스를 총괄하는 PM이 되는 경우가 많다. 내가 잘 할 수 있는 일을 꾸준히 하고 그 가치를 인정 받는 다는 것은 매우 즐거운 일이다.
- 서버 개발자를 꿈꾸는 후배들에게 한마디.
▲ 어느 분야든 그렇겠지만 필요한 사람이 부족하다. 요즘 후배들은 예전에 비해서 기본 스킬이 뛰어나긴 하지만 단기간에 좋은 결과(높은 연봉, 게임의 대박 ^^)를 얻고자 하여, 입문 초반에 서버 개발을 그만두는 경우가 많다. 서버 개발은 단기간 자신의 가치를 드러내고 인정받기가 좀 어렵다. 그 고비를 잘 넘기면 충분히 인정받는 개발자의 삶을 살수 있다고 본다.
scrapper@osen.co.kr

Copyright ⓒ OSEN. All rights reserved. 무단 전재 및 재배포 금지