넷마블 게임 퍼블리싱 서비스의 핵심! 게임퍼블리싱플랫폼실 인터뷰

<게임퍼블리싱플랫폼실>넷마블에서 퍼블리싱하는 모든 게임에 공통적으로 적용하는 서비스인 계정 생성, 인 앱 결제, 그리고 게임 내 각종 프로모션용 서비스 등을 제공하는 SDK(Software Development Kits)와 뒷단의 서비스를 합친 ‘퍼블리싱플랫폼’을 담당하는 부서입니다.
‘퍼블리싱플랫폼’은 넷마블의 전체 게임을 대상으로 서비스를 하기 때문에 어느 한 군데에 작은 장애가 발생할 경우 넷마블의 모든 게임에 영향을 미칠 수도 있습니다. 또한, 서비스 대상이 많은 만큼 모든 게임의 동시 접속자 트래픽(부하)를 버틸 수 있는 기반 기술이 필요합니다. 따라서 <게임퍼블리싱플랫폼실>에서는 안정적(Reliable)이고 높은 성능의 기반 구조를 찾아 서비스에 반영하는 업무를 하고 있습니다.
이번 시간에는<게임퍼블리싱플랫폼실>에서도 안정적인 퍼블리싱플랫폼 서비스를 연구하고 제공하는 <High Reliable 서비스팀>클라이언트 개발자들이 모여 인증, 푸시, 결제, 웹뷰 등 게임의 필요 기능을 제공하는 <SDK 서비스팀>의 이야기를 준비했습니다. 지금 만나보시죠!

Q. 현재 담당하는 직무에 대해 소개해주세요

윤정호님: <High Reliable 서비스팀>의 팀장 직무를 맡고 있습니다. 넷마블 모바일 게임의 인증과 결제, 보상 등의 서비스를 위해 팀원들과 소통하며 서비스의 안정적인 발전 방향성을 찾아가고 있습니다.
박은비님: <SDK서비스팀>에서 안드로이드 클라이언트를 개발하고 있습니다. 그중에서도 결제에 관련 서비스를 주 업무로 담당하고 있습니다.
김소담님: <SDK 서비스팀>의 iOS 클라이언트 개발자입니다. 주로 게임 내 소통과 관련된 서비스를 맡아 보이스톡과 채팅 SDK 개발 및 월드앱 개발 업무를 담당하고 있습니다.

Q.구체적으로 어떤 일을 하나요? 실제 사례를 들어 설명 주세요

윤정호님: 게임에서 공통적으로 사용하는 인증, 결제, 푸시, 프로모션 등의 *Back-end 서버 개발 업무를 수행하고 있습니다. 그중에서도 게임 사용자 인증과 모바일 게임 결제 및 보상에 관련된 기능들을 구현하고 운영하는 업무를 진행하고 있습니다. 인증과 결제 기능은 게임의 장르에 상관없이 모든 게임에서 동일한 동작을 하는데요. 공통 시스템에서 생성된 데이터들은 게임을 운영할 때 일관된 방법을 제공할 수 있습니다. 그래서 불필요한 중복 작업을 없애 각 담당자들이 자신의 핵심 업무에 집중할 수 있습니다.

* Front-End는 사용자로부터 다양한 입력을 받아 Back-End로 전달하는 Interface 기술을 의미함.
반대로 Back-End는 Front-End의 요청에 응답하기 위한 서비스 로직 개발과 관련된 기술을 의미함.

박은비님: <SDK 서비스팀>에서는 인증, 결제, 푸시, 웹뷰 등과 같이 게임에서 공통적으로 사용되는 서비스의 클라이언트 SDK를 개발해 게임 개발사에 제공합니다. 예를 들어 결제 서비스의 경우 개발한 SDK를 개발사에 배포하면 게임 개발사에서 SDK를 게임에 연동하는 작업을 거쳐 게임 내 상점에서 마켓 결제를 통해 크리스탈 등의 유료 재화를 구매하는 인앱 결제를 할 수 있게 됩니다. 더불어 모바일 운영 체제에 맞춰 구글 플레이 스토어 프로모션 코드나 앱 스토어 프로모션 결제 등 마켓 특화 기능을 지원하고 결제 방식의 맹점을 악용하는 어뷰징 유저 제재, 결제 관련 지표 및 고객 케어, 이슈 확인 등에 사용할 수 있는 데이터 전송 기능도 개발사에 제공합니다.

김소담님: 개발사에서 별도의 서버 구성없이 채팅을 이용할 수 있게 제공하는 채팅(Talk) 서비스를 담당하고 있습니다. 월드 채팅이나 채널 채팅, 일반 채팅 등 게임에 특화된 형태로 SDK를 설계해 개발했고, 금칙어 필터링과 사용자 차단 등 실 서비스에 필요한 기능 개선을 진행했습니다. 더불어 게임 앱과 일반 앱에서 서로 대화를 할 수 있는 채팅 앱도 개발했습니다.

Q. 우리 팀에 자랑하고 싶은 점이 있다면?

윤정호님: 저희 팀은 매우 수평적인 구조입니다. Daily scrum(일별로 진행되는 짧은 회의. 매일 현재 상태를 업데이트하고 조율하는 것)을 진행하며 매일 회의를 통해 본인이 겪고 있는 이슈를 공유하고 자유롭게 토의해 함께 해결하는 문화를 가지고 있습니다. 이런 분위기는 팀 내 문화 활동에서도 자연스럽게 나타나는데요. 최근 문화 회식으로 방문한 방 탈출 카페에서 제한 시간보다 무려 2분이나 빨리 미션을 성공한 재미있는 경험도 있었습니다.

박은비님: 저희 팀에서는 실무 위주의 스터디를 진행하고 있습니다. 실무 위주이기 때문에 스터디에서 알게 된 내용을 업무에 바로 적용할 수 있고 서로 업무를 하며 가지고 있던 지식도 공유할 수 있어서 의미 있다고 생각합니다. 그리고 팀 연령이 전반적으로 낮아 팀 내 문화 활동도 적극적으로 하려고 하고 있습니다.

Q. 넷마블에서 근무하면서 가장 보람찼던 프로젝트가 있다면?

김소담님: 입사 초창기 참여했던 금칙어 프로젝트가 가장 기억에 남습니다. 금칙어 프로젝트는 채팅 문화 개선을 위해 이용자의 욕설을 ‘**’ 등으로 대체해 필터링하는 기능인데요. 이 과정에서 1개국의 다국어로 된 전 세계의 욕을 언어 특성에 맞게 필터링 한 점이 특히 기억에 남습니다. 예를 들어 한국어의 경우 무조건 ** 으로 필터링해도 웬만해선 대화에 지장이 없지만 영어의 경우엔 ass가 금칙어일 때 class, pass 등 cl***, p*** 으로 필터링 돼 대화를 할 수 없는 경우가 있었습니다. 그래서 많은 시행착오를 겪으면서 언어별 특징에 맞는 필터링 로직을 완성했습니다. 채팅(Talk) 서비스의 운영 기능/언어별 특성 등 다양한 측면에서 진짜 필요한 부분이 무엇인지 고민하고 진행했다는 점에서 가장 성장했던 프로젝트였습니다.

윤정호님: 회사의 획기적인 성장과 도전적인 업무들도 많았습니다. 많은 수의 게임이 오픈하며 함께 증가되는 트래픽을 처리하기 위해 기존 서비스의 설계 변경이 필수였고, 글로벌 시장에서의 도약으로 해외 환경의 높은 레이턴시(자극과 반응 사이의 시간) 즉, 사이트에 접속할 때 오래 걸리는 문제들도 함께 따라왔습니다. 이러한 문제들을 해결하기 위해 고민했던 시간과 경험은 새로운 서비스를 준비할 때 더 넓은 시야를 갖고 시스템을 설계할 수 있는 역량을 기르는 기회가 됐습니다.

Q. 현재 팀에서 가장 필요로 하는 입사자의 역량이 있다면?

윤정호님: 넷마블 플랫폼 서비스는 넷마블에서 서비스 중인 모든 게임에서 공통적으로 사용하고 있어서 서비스가 한 번 오픈된 후 장애가 발생했을 시, 근간이 되는 설계를 변경하거나 점검하는 것이 매우 예민하고 까다롭습니다. 그래서 서비스를 설계할 때 장기적인 관점으로 유연한 설계 능력이 중요시됩니다. 또한 팀 내에서 다루는 인증과 결제 서비스는 장애에 매우 민감한 도메인이기에 업무 진행에 있어서 실수를 줄이는 꼼꼼함도 중요한 포인트입니다.

박은비님: <SDK 서비스팀>에서 주로 하는 클라이언트 SDK 파트는 버그 등 문제가 생겨 수정이 필요한 경우에 게임 이용자가 게임앱을 업데이트해야만 해당 문제가 해결됩니다. 개발자의 선에서 끝나지 않고 이용자의 대처가 함께 병행돼야 하기 때문에 특히 조심스러운데요. 최대한 문제가 발생하지 않도록 디테일을 잘 챙길 수 있는 꼼꼼함이 중요합니다. 또한 개발 기술들이 짧은 주기로 변화하고 새롭게 등장하기 때문에 기술 정보와 리스크 분석에 대한 관심이 많으면 좋을 거 같습니다.

Q. 신규 입사자(경력직)가 입사 후 담당할 메인 업무를 꼽는다면?

윤정호님: 팀 내에서 주 도메인 인증과 결제에 대한 서비스를 주 업무로 진행하게 됩니다. 인증과 결제 서비스는 플랫폼 서비스 중에서도 신뢰성에 대한 중요성이 매우 높은 서비스이기에 단순히 기능을 구현하는 데서 멈추지 않고 운영적인 측면에서도 더욱 높은 신뢰성 확보를 위한 추가 업무도 함께 진행할 것입니다. 또한 기본적인 서비스 개선 및 운영 업무와 향후 차세대 플랫폼 개발 업무도 참여할 예정입니다.

김소담님: <SDK 서비스팀>은 Android/iOS 플랫폼에 대한 이해를 기반으로 한 SDK 개발이 업무가 메인입니다. 게임에서 필요한 서비스가 다양해 선택의 폭이 넓기 때문에 지원하시는 분의 관심 분야를 말씀해주시면 그에 맞는 업무가 주어질 예정입니다. 다만, 팀 내에서 특정 업무를 늘 같은 사람에게만 맡기거나 치우치지 않도록 업무 분담을 일부 조정할 순 있으니 다른 분야도 함께 경험하실 수 있습니다.

Q. 팀에서 가장 바쁜 시기와 작업이 있다면?

박은비님: 가장 바쁜 때는 매년 새로운 OS 버전 발표(Google IO, WWDC) 나 새로운 모바일 모델들이 발표가 되는 시기입니다. 이 시기에는 신규 기능, 정책, 디자인 등을 리서치하고 현재 제공하고 있는 서비스에 문제가 있을만한 부분은 없는지, 있다면 어떻게 대응을 할지, 새롭게 적용할만한 부분은 있는지 논의하고 대응하는 작업을 합니다. 하나라도 놓치면 이용자분들이 사용할 때 크고 작은 문제들이 발생할 수 있기 때문에 꼼꼼히 살펴야 합니다. 그 밖에 평소에는 게임 개발사에서 게임 개발을 하고 있는 시기에 SDK를 연동하며 생기는 문의들에 대한 대응이나 게임 출시 전후 리스크 파악 및 기술 지원 업무로 바쁜 편입니다.

Q. 마지막으로 넷마블에서 이루고 싶은 목표나 꿈이 있다면?

윤정호님: 현재 게임퍼블리싱플랫폼실 내에서 준비 중인 차세대 플랫폼 구축 프로젝트를 성공시키는 것입니다.

박은비님: 큰 그림을 잘 그릴 줄 아는 개발자가 되고 싶어요. 넷마블 퍼블리싱 플랫폼은 넷마블에서 서비스하는 모든 게임에 적용되고 플랫폼 기능들이 유기적으로 연결돼 있어 전체 서비스의 큰 그림을 잘 그릴 줄 알아야 좋은 결과물을 만들어 낼 수 있다고 생각합니다. 그래서 기능 하나를 개발해도 유연한 구조로 설계하고 전체적으로 영향을 받을만한 부분은 없는지 리스크를 사전에 파악하는 등 전체적인 그림을 튼튼하게 그려 안정적인 서비스를 제공하고 싶습니다.

김소담님: 개인적으로 서비스를 자체적으로 발의해서 만들어 보는 게 목표입니다. 서비스를 만들 때 외부의 요구 사항에 맞게 개발을 하는 것도 중요한 역량 중 하나이지만, 고객이 필요한 부분이 무엇일까 고민하고 스스로 발전시켜 미리 제공하는 것도 중요하다고 생각합니다. 기회가 된다면 요구 사항을 직접 발의해 주도적으로 리딩 하는 프로젝트를 진행해보고 싶습니다.

▶ 넷마블 개발 직군 지원하기 ◀

Front-end 개발 ·  iOS/Android 개발 · Back-end 개발 · 웹 플랫폼 개발

Tags: