스타크래프트의 비공식 한글 패치인 ‘한스타‘를 기억하는 분들이 많으실 겁니다. 블리자드에서 한글 채팅과 유즈맵 한글화를 지원하기 전까지 저를 비롯한 거의 모든 스타 유저의 집에 한스타가 깔렸었는데요. 실행할 때마다 뜨던 송창규, 황민재, 임중근이라는 세 사람의 이름이 나중엔 친숙하기까지 하셨을 겁니다. 뭐하는 사람이라 아마추어로서 이런 걸 만들었는지 궁금하셨죠?
그래서 제가 한스타 개발자이자 넥슨 개발자이신 송창규님을 만나봤습니다.
신림동 캐리: 안녕하세요.
송창규: 안녕하세요.
신림동 캐리: 말씀은 많이 들었습니다.
송창규: 네? 어디서?
신림동 캐리: P에 있는 H씨 아시죠?
송창규: 네, 아는 사이죠.
신림동 캐리: 제 구남친입니다.
송창규: 아, H와….
요즘 섭외에 많은 도움 되고 있는 H오빠, 빨리 논문 통과하시길 바다 건너에서 간절히 소망하고 있습니다. 이제 졸업할 때도 됐잖아요.
신림동 캐리: 많은 사람이 송창규님을 한스타 개발자라고 알고 있는데, 그 이후의 커리어는 베일에 싸여 있다.
송창규: 베일에 싸여 있는 게 아니라 관심이 없는 거 아닌가?
신림동 캐리: 세상은 30대 남자에게 별로 관심이 없다. 아무튼 간단한 소개 부탁한다.
송창규: 1999년에 한스타를 개발하고 2002년 넥슨에 입사해 CA BnB, CA 테트리스, 디지팡, 빅샷, 버블파이터, M2 등의 개발을 했다.
신림동 캐리: 자, 그럼 본격적인 인터뷰로 가보겠다.
송창규: 어떤 질문이 나올지 무척 기대된다.
신림동 캐리: 충격적이고 예민한 질문을 던지고 싶긴 한데 아무튼 못 먹어도 고.
신림동 캐리: 어떤 소프트웨어와 도구 없이는 살 수 없다?
송창규: 예전에는 나에게 맞는 도구와 설정을 깐깐하게 맞추었는데 요새는 머신을 어떤 걸로 바꾸어도 부담 없이 잘 쓸 수 있도록 적응했다. 막 OS를 설치한 컴퓨터에서도 작업할 수 있다.
신림동 캐리: 그건 너무 무던한 게 아닌가! 그럼 작업 장소도 구애받지 않나?
송창규: 회사 일은 회사에서만 하는 편이다. 회사 업무가 아니면 집에서 작업하거나 주말엔 카페로 맥북에어 들고 나가서 개인 작업을 하곤 한다.
신림동 캐리: 작업하는 동안 음악 듣나? 듣는다면 어떤 음악을?
송창규: 당연히 일할 때는 노동요가 필요하다. 예전에는 비트가 강한 하나의 음악을 반복해서 트는 걸 제외하곤 작업할
땐 음악을 듣지 않는 편이었는데, 요샌 화이트 노이즈(rainymood.com이나 coffitivity.com)를 깔아두고 클래식이나 멜로디가 약한 음악을 작은 볼륨으로 튼다. 숙면할 때도 좋다.
신림동 캐리: 일하지 않을 때는 뭐하나?
송창규: 혼자 개인 취미로 코딩하거나, 친구들이랑 놀러 가서 술판을 벌이거나, 음악에 관련된 활동을 한다.
신림동 캐리: 여자친구 없으신가 보다.
송창규: 있었는데 얼마 전에 그렇게 됐다.
신림동 캐리: 심심한 위로의 말씀을 건넨다.
송창규: 마침 신림동 캐리님이 인터뷰하자고 하셨을 때라, 웁스랩 인터뷰를 읽으며 ‘신림동 캐리님은 커플 브레이커인가?’ 싶었다.
신림동 캐리: 아니거든! 그 분이랑 송창규님 말고는 이런 일 없었거든!
이 분이 큰일 날 말씀을 하시네요. 신림동 캐리는 당신의 연애에 지장을 주지 않습니다. 그러니까 부디 제 섭외에 응해주세요.
신림동 캐리: 송창규님을 인터뷰한다고 하니 주변에서 이것 저것 물어보더라. 일단 결혼은 하셨는지 궁금하다는 질문이 있었다.
송창규: 내 나이가 그렇게 많진 않다!
신림동 캐리: 아무래도 일찍부터 개발에 이름을 알리시다 보니 ‘원로 개발자’라는 이미지가 있다. 네이버 지식iN을 보면 98년도에 컴퓨터 관련 회사원이고 취미 생활로 제작했다는 답변이 있다.
송창규: 아니다. 한스타를 만들 무렵에 나는 대학교 1학년이었고 같은 한스타팀이었던 민재와 중근이는 각각 고등학생과 중학생이었다.
신림동 캐리: 그렇구나. 아직 이 자리를 빌려서 송창규님은 아직 젊으며 여자친구도 없다는 걸 어필해라.
송창규: 그러게, 결혼은 무슨요.
솔로입니다. 곧 크리스마스입니다.
신림동 캐리: 개발자라는 게 연애에 영향을 끼친다고 생각하는가?
송창규: 연애 성향에 크게 영향을 끼친다고 생각한다.
신림동 캐리: 오, 여태까지 인터뷰한 다른 개발자분들은 거의 다 별로 상관없다고 약을 팔… 아니 주장하셨는데 이런 의견을 들으니 신선하군. 계속 말해봐라.
송창규: 일단 개발자 사이에서 A라고 말하면 A는 A다. 그렇기 때문에 ‘뭐 먹을까? 햄버거 먹을래?’ 라는 질문에 여자가 ‘햄버거도 괜찮은데….’라고 하면 햄버거 먹으러 가는 게 공돌이고, ‘화 안 났어?’ 물었을 때 여자가 ‘화 안 났어. 괜찮아….’라고 하면 ‘화 안 났구나. 괜찮구나.’ 하는 게 공돌이고, 여자가 ‘나 그냥 집에 갈래….’라고 하면 ‘집에 갈 거야? 잘 가!’ 하는 게 공돌이다.
신림동 캐리: 내가 공대생과 사귀며 겪었던 많은 시대와의 불화가 주마등처럼 스쳐 간다.
송창규: 한마디로 개발자는 여자 사람과 프로토콜 미스매치 에러가 잘 난다.
신림동 캐리: 왜 그럴까?
송창규: 난 오랜 블랙박스 디버깅을 통해 사회화가 그나마 되긴 했지만, 여전히 있는 그대로 말하지 않는 건 좀 불편하고 있는 그대로 말하는 게 편하다. 다른 개발자도 그럴 거다. 현상이 있으면 이유와 원인을 알아야 하고 부정확하거나 잘못된 게 있으면 고치고 해결하고 넘어가야 하는 게 공돌이다 보니 ‘왜 그렇게 되는데?’와 ‘그건 그게 아니라….’로 얘기를 하다 보면 여자 사람의 ‘그래서 지금 내가 잘못했다는 거야?’에 불을 붙이기 쉽다.
신림동 캐리: 맞아. 공돌이와 사귀면서 돌려 말하면 안 된다. 괜찮다고 하면 진짜 괜찮은 줄 알거든!
송창규: 난 눈물이 참 없는 사람인데 과거에 삽질한 기억들이 떠올라서 갑자기 눈물이 나네. 그래도 공돌이가 참 착하고 편리하고 좋아요. 여자 사람님들, 원석 같은 숨은 공돌이를 잘 발굴하세요!
신림동 캐리: 그러고 보니 요즘 제가 모태솔로였던 공돌이를 사귀고 있는데요.
송창규: 오, 축하드린다.
신림동 캐리: 축하할 일이 아니다. 이 기분을 어떻게 설명하면 좋지?
말하자면 공대생을 사귀는 건 이런 기분입니다.
신림동 캐리: 아, 그러고 보면 아까 말한 H오빠 말이다. 왜 내가 차였는데 H오빠 주변의 사람들은 나를 싫어하지? 굳이 말하자면 불쌍한 건 나잖아! 그리고 H오빠와 나는 오히려 지금도 잘 지낸다고!
송창규: 그래도 주변 사람들 입장에선 헤어지면 다 그런 거지.
신림동 캐리: 헤어지면 다 쌍년, 쌍놈이라지만 그래도 내가 모태솔로 하나 구원했는데 고마워하지는 못할 망정!
신림동 캐리: 이 어플 없이는 내 생활이 훨씬 불편했을 것이다 하는 건?
송창규: simplenote와 dropbox 정도?
신림동 캐리: 역시 드롭박스는 사랑이다.
신림동 캐리: 최근에 읽은 개발에 대한 인상적인 책을 든다면?
송창규: 요새 읽은 책 중에는 인상적인 게 없는 편이고, 개발에 관해서 읽은 것들 중에선 ‘rust‘에 관한 내용이 인상적이었다. 기본적인 아이디어를 기술하는 데 있어서 사람이 하지 않아도 될 뻔한 내용을 일일이 기술하지 않아도 되고, 실수하기 쉽지 않은 구조를 가지고, 안정성을 수준별로 담보할 수 있고, 그러면서 성능을 크게 희생시키지 않는 것이 지금 소프트웨어 엔지니어링이 나아가야 할 방향이라 생각한다. 예전에 Haskell STM을 보면서 그 가능성에 신선한 충격을 받았었는데, Haskell과는 조금 다르지만, rust 또한 그런 방향성과 철학을 잘 발전시키고 있는 것 같다. 많은 프로그래머가 직관적으로 쉽게 이해하고 기술하게 하는 덴 아직 부족한 것 같지만.
신림동 캐리: 밤을 새워야 한다면 커피가 좋은가, 에너지 드링크가 좋은가?
송창규: 둘 다 좋다. 하지만 새벽에는 커피전문점이 문을 닫으므로 에너지 드링크를 더 마시게 된다.
신림동 캐리: 소문에 의하면 송창규님의 인생에서 콜라를 빼놓을 수 없다던데? 물 대신 콜라를 마신다던데?
송창규: 콜라를 많이 좋아한다. 회사에서도 책상을 온통 콜라가 뒤덮고 있다.
신림동 캐리: 송창규에게 콜라란?
송창규: 넥타(신의 음료)!
신림동 캐리: 그 정도인가?
송창규: 제일 좋아하는 음료긴 하지만 요새는 그렇게 많이 마시지 않는다. 물론 내 기준이다. 주위 사람들은 그렇게 생각하지 않는다. 내가 콜라를 좋아한다고 외국 나갔다오는 지인들이 외국 콜라를 사다 주는 게 모이다 보니 나라별 콜라 콜렉션이 생겼다. 사우디아라비아, 남아메리카공화국, 유기농 콜라, 장 폴 고띠에 한정판, 콜렉션 립밤까지 있다. 작년에는 친구들이 콜라를 담아둘 전용 냉장고와 콜라 네 박스를 사줬다.
신림동 캐리: 콜라를 보면 생각나는 그 사람이 되셨군.
송창규: 그렇다. 이제는 주위 사람들이 콜라만 보면 내 생각이 난다고 한다.
신림동 캐리: 구여친들 불쌍하다. 콜라만 보면 화날 거 아니야.
신림동 캐리: 이 정도면 콜라 성애자 아닌가?
송창규: 부정할 수가 없군.
신림동 캐리: 저 콜라 그림이 들어있는 시계는 뭔가?
송창규: 스마트폰이랑 연결되는 ‘pebble‘이라는 스마트워치다. 전화나 문자 알림은 물론 Nike+ Running이나 만보기, 손목 네비게이션, 폰카 셔터 기능, 홈오토메이션으로 집안 전등이나 문 조작도 가능하다. 페북 댓글이나 카카오톡 메시지를 전화기를 꺼내보지 않고 확인해도 되는 게 정말 편하다.
신림동 캐리: 오오, 신기하다!
송창규: 킥스타터에 처음 소개됐을 때 뽐뿌가 왔다가 한글 지원이 안 된다고 해서 뽐뿌신이 물러가셨는데, 최근 뒷자리에 있는 하재승이란 친구가 ARM 계열로 된 펌웨어를 디스어셈블해서 코딱지만한 메모리에 조합형 한글을 우겨 넣는 한스타같은 짓을 해줬다. 한글을 지원하는 핵펌 덕분에 마음 놓고 질렀다. 새 SDK가 뜨면 지하철/버스 도착 정보가 뜨는 앱을 개발해보려 한다.
신림동 캐리: 카페인 하니까 말인데, 마감을 지키기 위해 이렇게까지 일해봤다 하는 에피소드 있나?
송창규: 빅샷이라는 게임을 2년여간 개발하다 처음 클로즈드 베타를 열 때였다. 처음으로 수많은 유저를 받아본 멀티쓰레디드 서버가 오픈하자마자 마구 터져나가서 잠도 못 자고 밤샜다. 크래시하면 덤프 확인하고 수정하고 빌드해서 디플로이하기를 반복하고 있었다.
신림동 캐리: 개발팀은 죽을 맛이었겠다.
송창규: 그러다가 나중엔 아예 IDC 서버에 비주얼 스튜디오를 깔아서 Edit and Continue를 켠 디버그 모드로 실행했다. 당시 유저들은 서버가 시도때도없이 죽다 어느 순간 갑자기 안정되다 가끔 한 번씩 5~20초간 서버응답이 없는 현상을 겪으며 “응? 렉이 좀 있네?” 했을 거다. P2P 라서 게임플레이는 멈추지 않았으니까. 그때 개발팀 한켠에는 “서버 Access violation 떴다! 빨리 고쳐! 유저 떨어져 나가기 전에!”라고 외치며 신의 손놀림으로 5초~10초 만에 스택 프레임을 돌려가며 Null checking/예외조건 처리를 코딩해 넣은 뒤에 Edit and Continue 신공을 하는 피폐한 나와 또 한 명의 서버개발자가 있었다. 그땐 정말 힘들었지.
신림동 캐리: 한스타가 그야말로 피씨방마다 다 깔리던 시절이 있었다. 블리자드에선 반응 없었나?
송창규: 아, 있었다. 심지어 메일도 왔다!
송창규님이 말씀하시는 한스타 개발 비하인드 스토리는 송창규-개발=0이라 쓰고 평생 개발자라고 읽는다, 송창규 1에서 계속됩니다.