넥슨 데이터분석팀에서 현재 분석가와 프로그래머 채용을 진행하고 있습니다.

채용사이트

아래 글은 얼마 전에 회사에 공유할 생각으로 적어둔 것인데요, 이 글에 공감하고 이러한 방향을 중요하게 생각하는 분들께서 이번 채용에 지원해주시기를 바라는 마음에서 약간 수정하여 블로그에 공개합니다.


기획자를 위한 메트로놈

(기획자의 전문적 직관(촉)을 숙련시키기 위한 환경으로서의 데이터 분석)

비정규적이고 예측불가능한 환경에서는 진정한 직관력이 길러질 수 없음에도 불구하고, 몇몇 사람들은 단지 운이 좋아서 성공적 판단이나 결정을 내리기도 한다. 이러한 "운 좋은" 사람들은 자신의 직관력에 대한 환상을 갖거나 과도한 확신에 빠지기 쉽다.

Daniel Kahneman, Gary Klien “Conditions for Intuitive Expertise” 중에서


"아웃라이어"라는 책에서 소위 "1만 시간 법칙"을 소개하고 있는데, 이는 어떠한 분야에 1만 시간을 투자하면 세계적 수준의 전문가가 될 수 있다는 주장으로 요약할 수 있습니다. 하지만 원래의 연구에 의하면 단순히 지금껏 투자한 시간을 모두 더한 것이 아니라 의도적 수련(deliberate practice)에 들인 시간의 합이 중요하다고 합니다(1만 시간 법칙에 대한 오해 참고).

여기에서 말하는 의도적 수련이란 기량을 향상시키기 위한 목적으로 특별히 고안된 훈련을 의미합니다. 예를 들어 바둑 기사들에게는 정석과 기보가 있고 무술가에게는 초식이 있으며 연주자들에게는 연습곡(etude)이 있습니다. 전문성 향상과 관련하여 의도적 수련과 함께 거론되는 다른 주요 요인들로는 예측 가능한 작업 환경(task environment), 정확하고 꾸준한 피드백 등이 있습니다.

요는 전문성(정확히는 전문적 직관, skilled intuition)은 그냥 얻어지는 것이 아니라 적절한 작업 환경에서 정확하고 꾸준한 피드백을 받으며 의도적 수련에 정진함으로써 길러질 수 있다는 점입니다.


기획자를 위한 작업 환경과 의도적 수련

게임 업계 종사자의 전문성 향상을 위한 작업 환경과 의도적 수련에 대해서도 생각해보면 좋겠습니다.

이를테면 프로그래머에게는 테스트 주도 개발(Test-Driven Development, TDD)이 프로그래밍 실력을 향상시키기 위한 좋은 수련의 하나라고 생각합니다. 테스트 주도 개발은 예측 가능한 환경, 정확하고 풍부한 피드백, 이를 통한 의식적 학습과 같은 조건을 만족하기 때문입니다. 넓은 의미에서 테스트 주도 개발이란 프로그래밍 과정에 내렸던 의사결정과 이에 대한 피드백 사이의 간극을 의식하고 이를 의도적으로 제어하는 기술(TDD is an awareness of the gap between decision and feedback during programming, and techniques to control that gap)을 말합니다. 풀어서 이야기해보면 1) 프로그래밍을 하는 과정에서 일어나는 의사결정들(변수 이름을 이렇게 지어야지, 함수를 짧게 만들어야겠다, 커맨드 패턴을 적용해야지 등등)이 있고, 2) 그러한 의사결정을 내린 후에 돌아오는 피드백(컴파일 에러, 버그, 성능이나 안정성의 향상, 일정 지연 등등)이 있을 텐데, 이 둘 사이의 간극을 의식하고 이를 적극적으로 제어하는 기법(이를테면 "지금은 익숙치 않은 언어와 라이브러리를 사용해서 복잡한 알고리즘을 구현하고 있으니 피드백의 간극을 좁혀야겠구나"라는 의식, 그리고 실제로 TDD 사이클을 1~2분 이내로 촘촘하게 하여 간극을 좁히는 제어)이라는 뜻입니다. 테스트 주도 개발뿐만 아니라 애자일 방법론에서 말하는 다양한 실천법들이 프로그래머를 위한 의도적 수련 역할을 할 수 있으며 이러한 환경에서 일하는 프로그래머는 다른 상대적으로 더 빠르게 역량이 향상될 가능성이 있습니다.

한편 기획자의 작업 환경은 어떤가요? 우선 다루는 대상(즉 게임의 전체적인 생태계) 자체가 본질적으로 복잡하고 관여하는 요인이 너무 많아서 예측성(predictability)이 떨어집니다. 그리고 의사결정(이러저러한 패치를 해야겠다)에 대한 피드백(플레이어들의 반응이나 매출의 변화)이 돌아오기까지의 시간 간격이 긴 편입니다. 또 피드백이 오더라도 구체적으로 어떤 의사결정 때문인지(법사 상향 때문? 신규 아이템 때문?) 가려내기도 어려울 때가 많습니다. 게다가 라이브 게임이 아니라 아직 개발 중인 게임이라면 기획자에게 제공되는 피드백의 양과 질은 더욱 낮아집니다.

이러한 문제를 개선할 수 있다면 기획자의 전문성 향상에 도움이 될 수 있을 것입니다.


전문적 직관(촉)을 숙련시키기 위한 환경으로서의 데이터 분석

넥슨 데이터분석 팀은 장기적으로 이러한 문제를 개선하고자 합니다.

데이터분석팀은 현재 통계학, 데이터마이닝, 기계학습, 심리학, 게임기획, 프로그래밍 등 다양한 분야의 전문가로 구성되어 있으며, 다양한 게임에서 발생하는 각종 데이터를 수집/분석하여 이를 게임 개발팀에 제공하고 있습니다.

특히 이 과정에서 얻어진 노하우를 시스템화하는 일에 집중하고 있는데요 예를 들어 매일 수백만 건의 지표를 탐색하며 규칙을 발견하고 이상 현상이 나타났을 때 이를 알려주는 자동화된 데이터 분석 엔진을 개발하여 현재 시험 가동 중입니다.

이런 식의 시스템화에는 두 가지 장점이 있습니다.

첫번째 장점은 기획자의 전문성 향상이라는 현재의 논의와 관련이 있습니다. 시스템화를 통해 개발팀에 제공되는 피드백의 양과 질을 더욱 향상시키고, 피드백 제공 기간을 단축할 수 있을 것이며 무엇보다도, 복잡한 게임 시스템에 숨어있는 규칙성(regularity)을 드러내어 예측가능성을 향상시키는 일에 일조할 수 있을 것으로 기대합니다. 비유하자면 기획자를 위한 메트로놈이라고 말할 수 있을 것입니다. 물론 메트로놈 만으로 훌륭한 연주자가 될 수는 없을 것입니다. 메트로놈을 켜놓고 어떠한 연습곡(etude)을 연주할 것인지, 즉 어떠한 의도적 수련을 할 것인지는 연주자의 몫으로 남겨져 있습니다.

두번째 장점은 데이터분석팀 내부의 분석가와 관련이 있습니다. 정형화된 반복적 작업을 시스템화하면 분석가는 더 창의적이고 실험적인 분석에 집중할 수 있게 됩니다. 이를 통해 분석가 개개인의 역량도 지속적으로 향상될 수 있을 것입니다.


마치며

요즘 인터넷을 통해 데이터 분석의 중요성에 대한 글을 자주 접합니다. 하지만 이러한 논의는 대체로 의사결정을 지원하기 위한 수단(Data-Driven Decision Making, DDDM)이라는 측면에만 초점을 두고 있습니다. 데이터분석팀에서는 이에 더하여 데이터 분석이 기획자의 전문적 직관(촉)을 향상시키기 위한 수단으로서의 역할도 할 수 있을 것으로 기대합니다. 장기적인 관점에서는 이 역할이야말로 회사 및 회사에 속한 개인의 발전에 더 중요한 가치를 줄 수 있을 것이라고 생각합니다.


참고자료

1. 아웃라이어 (말콤 글래드웰)

2. 1만시간 법칙에 대한 오해

3. Conditions for Intuitive Expertise (Daniel Kahneman, Gary Klien)

4. Test-Driven Development by Example (Kent Beck)

5. Extreme Programming Explained (Kent Beck)

저작자 표시
신고

넥슨의 데이터분석팀에서 함께 일할 인재를 찾고 있습니다. 모집 분야는 소프트웨어 개발입니다.


1. 넥슨 데이터분석팀은?

데이터분석팀은 넥슨의 다양한 게임들을 다각도로 깊이있게 분석하여 게임 내에서 일어나는 여러 현상들을 설명/예측하고 인사이트를 이끌어내며, 이를 통해 게임을 더욱 재미있게 만드는 일에 기여하고 있습니다.

우리팀은 게임 데이터분석을 수행하기 위한 세계 최고의 잠재력을 갖추고 있습니다:

  • 넥슨은 장르별/연령대별로 풍부한 게임 라인업을 확보하고 있으며, 많은 유저층을 확보하고 있습니다.
  • 각 게임에 대한 방대한 데이터를 축적하고 있습니다.
  • 통계학, 심리학, 기계학습 등 다양한 분야의 전문가로 구성된 분석팀을 갖추고 있습니다.
  • 게임개발팀과 활발하게 교류하고 원활히 협업하고 있으므로, 설득력 있는 분석 결과가 나올 경우 빠르게 게임에 적용할 수 있습니다.
  • 효율적인 데이터 분석에 필요한 시스템 인프라를 구축하기 위한 개발 조직이 팀 내에 함께 있으며, 분석가들과 팀을 이루어 일합니다.


2. 모집 분야

데이터분석팀에서는 현재 Y프로젝트를 진행하고 있습니다. Y프로젝트의 목표는 데이터 분석의 품질을 비약적으로 향상시키기 위한 분석 시스템의 개발입니다. Y프로젝트에 참여하여 함께 일할 개발자를 모십니다.

모집 인원:

  • Y프로젝트에 참여할 개발자 O명
기간:
  • 충원시까지

필수 요건:

  • Y프로젝트는 데이터 분석의 품질을 비약적으로 향상시키고, 팀 내의 분석가들이 더욱 창의적이고 깊이있는 분석을 수행할 수 있는 기반을 마련하기 위한 프로젝트입니다. 이 프로젝트의 결과물은 1) 팀 동료들이 더욱 가치 있는 일을 할 수 있도록 돕고, 2) 각 개발팀이 더욱 재미있는 게임을 만들 수 있도록 돕고, 3) 사람들이 게임을 더욱 재미있게 즐기도록 하는 가치를 만들게 됩니다. 특정 기술에 대한 지식보다는, 기술이 만들어내는 이러한 가치들을 중요하게 생각하는 분을 환영합니다.
  • 웹 개발 경험:
    • 기본적인 HTTP 이해
    • 기본적인 HTML, JS, CSS, DOM 이해
    • ASP, ASP.NET, JSP/Servlet, Python 등 CGI(혹은 CGI 확장) 개발 경험 1개 이상
    • 마이크로소프트 SQL Server 전반 및 T-SQL 기본 지식

우대 요건:

  • .NET 개발 경험
  • 소켓 프로그래밍 경험
  • Power Shell, WSH, Python, Ruby 등을 이용한 자동화 경험
  • 애자일 방법론(XP, 스크럼 등) 이해
  • 테스트 주도 개발 경험

지원 방법:

  • http://career.nexon.com/nexon에 접속하신 후 "데이터분석팀"으로 지원
  • 해당 페이지의 채용 공고는 분석가를 채용하기 위해 작성된 것이므로 해당 페이지의 모집 요강이 아닌 이 글의 모집 요강에 맞추어 지원서를 작성해주세요.
  • 채용과 관련한 공식적인 문의는 http://career.nexon.com 에서 "1:1 문의"를 통해 해주시면 됩니다.
  • 기타 궁금한 점이 있으시면 자유롭게 alankang@nexon.co.kr 로 메일을 주시기 바랍니다.


감사합니다.

저작자 표시
신고
< Newer     Older >

티스토리 툴바