* 게임 회사 사람들, 그들이 사는 세상은 어떤 모습일까? [피플온] 시리즈에서는 크래프톤 직원들의 이모저모를 낱낱이 살핀다. 이번에는 서버 프로그래머를 만났다.
서버 프로그래머는 대체 무슨 일을 할까? 서버가 다운되면 정말 새벽에 나와서 복구작업을 할까? 서버 프로그래머라는 직업이 생소한 이들을 위해 서버 프로그래머 박소영, 박지혜를 만났다.
만나서 반갑습니다. 간단한 소개 부탁드려요
박지혜(이하 지): 저는 테라 PC실 서버팀의 박지혜입니다. 2019년 7월, 인턴사원으로 들어왔다가 전환된 지 3개월 정도 됐어요.
박소영(이하 소): 저는 AlT LAB 신규 프로젝트 팀에서 근무하고 있는 6년 차 서버 프로그래머 박소영입니다. 지혜님이 속한 테라 PC 실에서 근무하다가 옮긴 지 1년 됐어요.
프로그래머라는 직업이 생소한 분들이 많으실 텐데요, 프로그래머는 어떤 종류가 있고 두 분은 어떤 일을 하고 있나요?
소: 게임 회사에서는 크게 엔진 프로그래머, 클라이언트 프로그래머, 서버 프로그래머 이렇게 세 분야가 있어요. 축구장에 비유를 해볼게요. 서버 프로그래머는 많은 사람들을 수용할 수 있는 축구장을 잘 설계해서 만들어요. 그리고 기획된 사양대로 클라이언트 프로그래머와 상의해서 그 안에서 행해지는 모든 사람들의 행동과 기능들이 올바르게 동작하도록 만드는게 저희 역할이에요.
그럼 클라이언트 프로그래머를 하다가 서버 프로그래머나, 엔진 쪽으로 옮길 수도 있나요?
소: 저희 팀에 클라이언트 쪽 일을 하다가 서버로 넘어오신 분도 있고, 클라이언트 분들은 엔진을 같이 보시기도 해요. 회사 규모나 프로젝트 상황에 따라 다른데, 회사에 따라 한 분이 다 하시는 경우도 있다고 해요. 물론 다른 파트로 이동하실 때는 그에 맞는 더 깊이 있는 역량이 필요해요.
서버 프로그래머가 되어야겠다고 생각한 계기가 있어요?
지: 대학교 1,2학년 과목으로 운영체제나 컴퓨터 구조 등을 배웠어요. 그때는 그 과목들이 프로그래밍을 할 때, 어떻게 도움이 되는지 몰라서 흥미가 떨어졌었어요.
그러다가 3학년때 게임 서버라는 과목을 배웠는데, 그 전에 배웠던 이론들의 필요성을 느꼈어요. 결국 공부를 다시 하게 되었고, 그러면서 제가 짠 코드가 내부적으로 어떻게 작동하는지를 알 수 있게 되었어요. 프로그래밍에 흥미가 생기면서 서버에 관심도 많이 생겼죠.
또 담당 교수님도 서버 담당 교수님이셔서 추천해주시기도 하셨고요.
소: 학생때 클라이언트 프로그래머를 하려면 물리에 대해 더 잘 알아야 한다고 생각했어요. 근데 제가 물리에 약하거든요(웃음). 그것도 한몫 했어요. 대학교를 다니며 게임 개발 동아리에서 게임을 직접 만들어봤는데, 그때 보이는 연출을 하는 클라이언트보다 내부적인 동작을 설계하는 서버가 더 적성에 맞는다는 걸 알았죠.
프로그래머를 하려면 컴퓨터 공학과를 나와야 하나요?
지: 저는 게임학과를 나왔어요. 꼭 관련 학과를 나와야 할 필요는 없는 것 같아요.
소: 저는 컴퓨터 공학과를 나왔어요. 보통은 컴퓨터공학과나 전산학과 졸업생이 많죠. 요즘은 게임 전문교육기관을 졸업하신 분들도 계시고요.
지혜 님은 졸업하신지 얼마 안 됐는데, 학교에서 배우던 것과 실전은 무엇이 다르던가요?
지: 학교는 “12월 20일까지 과제를 제출해” 라고 한다면, 회사는 “언제까지 할 수 있어?” 라고 말해요. 제가 정말 어려워하는 부분 중 하나죠. 아직 일이 손에 익지 않아서 그런지 얼마나 걸릴지 가늠이 안돼요. 그리고 보통은 그 기한을 지키기 어렵기도 하고요.
소: 저는 졸업한지는 좀 됐습니다만(웃음) 학교에서는 과제를 안 하면 내 학점만 안 좋게 나오고 끝이에요. 회사는 제 업무 역량에 따라서 많은 사람에게 피해를 끼칠 수 있어요. 그 피해가 회사 안에서 끝나는 게 아니고 게임을 하는 유저들한테까지 가니까 아무래도 부담감이 더 크죠.
소영님이 하고 있는 신규 사업은 모바일인가요? PC와 모바일, 각각 서버 프로그래머가 하는 일이 다른가요?
소: 네. 모바일입니다. 제가 PC와 모바일, 둘 다 겪어봤는데 크게 다른 건 없어요. 보통 PC는 C++ 언어를 쓰고 모바일에서는 다른 언어를 쓴다고 하는데 저희는 동일해요. 플랫폼의 차이로 하는 일이 다르기 보다 시간이 흐르면서 기술의 발전에 따라 사용하는 기술이 달라질 수는 있는 것 같아요.
두 분 다 테라 서버를 경험해 보셨는데, 프로그래머가 보기에 기술적으로 어떤가요?
소: 유저 분들은 좀 다르게 생각하실 수도 있겠지만(웃음) 하지만 서버 프로그래머 입장에서, 신입, 주니어 프로그래머들이 서버를 제대로 공부할 수 있는 프로그램인 건 같아요. 어떤 식으로 서버가 동작하는지, 구조를 잡아야 하는지, 기본을 탄탄히 배울 수 있도록 잘 만들어진 서버예요. 다른 프로젝트로 이동하더라도 여기서 배운 지식은 큰 도움이 되죠.
지: ‘테라’ 서버는 정말 신경 써서 만든 코드라는 걸 실감해요. 그래서 잘 이해하고 싶어요. 열심히 배워서 후에 다른 것도 만들어보고 싶고요.
흔히 말하는 ‘서버가 터진다’, ‘서버가 다운된다’라는 표현이 있잖아요. 실제로 뒤에서는 어떤 일이 벌어지나요? 그때 서버 프로그래머는 어떤 조치를 취하죠?
소: 보통은 접속자가 많아서 오류가 발생한다고 알고 있는데, 그런 경우 보다는 저희가 컴퓨터의 언어로 명령을 잘못 입력했을 때 발생하는 경우가 많아요. 쉽게 말해 오역, 오타가 있는거죠.
그럼 그 방대한 명령어를 일일이 찾는 건가요?
지: 일일이 보기엔 양이 어마어마해요. 문제가 일어난 상황이 캡쳐돼서 저희에게 날아와요. 그럼 어디에서 문제가 생겼는지 대략적으로 알 수 있어요.
서버가 다운되면 새벽에 나와서 일을 하기도 하나요?
소: 새벽에 나온 적은 없어요. 근데 다음날 아침까지 문제 대응한 적은 있죠(웃음). 업데이트 후에는 어떤 문제가 생길지 모르니까 작업자와 서버 프로그래머 최소 인원은 남아요. 업데이트 이후에 몇 시간 동안 오류가 없으면 집에 갈 수 있는 거고요(웃음).
2년 전 테라 PC실에 있을 때 긴 연휴가 있었어요. 연휴 전날 업데이트를 했는데 서버가 계속 떨어지는 거예요. 그래서 연휴 동안 회사에 나와 문제를 수정한 적이 있어요.
서버 프로그래머라고 하면 가장 많이 듣는 질문은 뭐예요?
소: 컴퓨터에 관련된 모든 질문을 해요. 블루 스크린이 뜨거나 인터넷이 안되면 다 저에게 물어보죠. 심지어 어떤 마우스를 사야 하는지 묻는 사람도 있었어요(웃음).
저도 프로그래머 친구에게 포맷을 부탁한 적이 있어요. 부끄럽네요.
소: 이건 제가 어릴 때 착각한 건데, ‘게임을 만든다’고 하면 저는 GM – 운영자일 거라고 생각했어요. 그래서 저는 ‘나중에 운영자가 되어야지’ 생각을 했거든요.
지: 맞아요. 저도 그랬어요. 그래서 주변에서 그런 말도 많이 들었어요. 운영자라면 아이템 좀 달라고(웃음).
다른 직군으로 옮겨보고 싶다는 생각은 안 해봤어요?
소: 2~3년이면 회사를 옮기는 분들이 많다고 하는데 저는 크래프톤이 좋아요. 개발 문화도 수평적이고 하고 싶은 걸 할 수 있고 그러다 보니 벌써 6년이 흘렀어요.
지: 저는 이제 막 들어와서(웃음). 크래프톤에서 오래 일하고 싶어요. 배울 것도 많고요.
두 분 다 어렸을 때부터 게임을 즐겨 했나요?
지: 어릴 때 이불 뒤집어쓰고 게임을 할 정도로 많이 했어요. ‘테일즈런너’, ‘크레이지 아케이드’ 등을 많이 했죠.
소: 저도 마찬가지예요. 저는 MMORPG를 좋아했어요 ‘디아블로2’, ‘아스가르드’, ‘메이플 스토리’도 하고요. 게임을 좋아해서 게임회사를 선택한 것도 있어요.
크래프톤의 게임을 즐기는 유저들에게 한마디 해주신다면
소: 저는 개발 중인 프로젝트라 아직 유저 분들과 만나고 있지 못한데요, 차근차근 열심히 개발하고 있습니다. 조금만 기다려주세요.
지: 이제 막 수습을 뗐어요. 열심히 ‘테라’에 몰입할 테니 많이 플레이해주세요.
컴퓨터와 소통하며 가상 공간을 만드는 프로그래머들. 크래프톤의 다음 가상 세계는 어떤 곳일지 궁금하다. 서버 안정화를 위해 밤샘도 마다않는 이들에게 박수를 보낸다. 앞으로도 수많은 노력들을 [피플온]에서 밀착 취재할 예정이다.
에디터 클토니: 게임 좋아해요. 게임 회사는 잘 모릅니다. 그래서 장인정신 넘치는 게임 유니온, 크래프톤 직원들을 탈탈 털어보려 합니다. 자칭 크래프톤패치!