스토리 홈

인터뷰

피드

뉴스

조회수 1771

[직무] PO(Product Owner) : 미미박스 프로덕트 살림꾼 PO 직무 소개

안녕하세요. 미미박스의 소식을 전달하는 Ava입니다.오늘은 미미박스의 PO(Product Owner)는 어떤 업무를 하고 있는지 소개해드리려고 합니다!아직 당신이 만나지 못한 당신의 아름다움을 미미박스에서 만날 수 있도록, 상상과 협업을 통해 최고의 고객 경험을 만드는 미미박스의 PO(Product owner) !PO는 위에 말씀드렸듯 Product Owner의 약자입니다. Product는 미미박스 커머스 플랫폼, 안드로이드 앱, iOS 앱 등 미미박스가 제공하는 모든 서비스를 말하죠! PO는 미미박스 프로덕트의 오너로써 가장 근본적인 자리에서 '고객 경험'에 대한 고민을 하고 프로덕트를 만들어가고 있습니다. 이러한 업무를 하는 미미박스의 PO가 어떤 마음가짐을 가지고 있는지, 구체적으로 어떻게 일을 하는지 키워드와 함께 소개해드립니다. PO는 크게 두 가지를 계속 생각하는 일입니다.동시에 프로덕트를 매일 같이 살펴보고 버그가 있는지,고객 반응은 어떤지도 세심하게 살펴야 합니다. 즉, 프로덕트에 대한 목표를 설정하고, 회사 내의 협업을 이끌어 최고의 고객 경험을 만드는 프로덕트 살림꾼인 것이죠. 회사 전략에 따른 경영진의 요청, 고객의 소리, 내부 직원들의 피드백, 그리고 PO의 경험과 직관까지한 프로덕트는 수많은 목소리 가운데 있습니다. PO는 프로덕트가 지속적으로 성장할 수 있도록 이런 수많은 니즈의 우선순위를 설정하고 정의할 수 있어야 합니다. 우선순위가 정해졌다면 동료, 혹은 대표를 설득해서 끌고 나갈 수 있는 의지와 깊이가 있어야 합니다.PO는 조직의 협업을 이끄는 역할을 합니다. 크게 기술 조직과 영업조직을 연결하는 역할을 하죠. PO는 영업조직의 데이터, 정보, 전략을 받아 기술 조직에서 설계할 수 있도록 기획하고, 반대로 기술 조직에서 할 수 있는 것들을 파악하고 구현하여 영업조직 운영이 더 빠르게 될 수 있도록 기획합니다. PO는 혼자 아웃풋을 낼 수 있는 직무가 아닙니다. 프로덕트의 성장을 위해 영업, 프로모션, 디자인, 기술 등 다양한 조직과 끊임없이 커뮤니케이션해야 합니다. 우리는 왜 이걸 만들어야 하는지 설득과 토론을 통해서 전문가들이 유기체처럼 움직일 수 있도록 만들어야 하죠.  예를 들면 고객 경험을 개선하기 위해서 UX 디자이너와 커뮤니케이션을 통해 PO의 전략이나 콘셉트에 맞는 디자인을 스스로 고민하고 만들어 낼 수 있게 해야 합니다. 반대로 디자이너에게 미적인 감각을 요구하는 게 아니라 경청을 통해 실무자의 전략에 대한 의견이 얼마나 합리적인 지도 빠르게 이해할 수 있어야 합니다. 즉, 회사에 있는 전문성을 잘 융합해 최고의 고객 경험을 만드는 예술인 것이죠.미미박스의 PO는 파괴적 혁신과 기본적인 고객 경험, 이 두 가지 방향을 동시에 기획해야 합니다. 기본적으로 고객이 예측할만한 탄탄한 프로덕트를 구축할 수 있어야 합니다. 동시에, 기존 커머스와는 다른 파괴적 혁신을 품은 프로덕트를 기획해야 하죠.  이를 위해 기존의 프로덕트에 대해 계속 질문을 던져야 하고 개선, 혹은 혁신을 위한 위한 새로운 생각의 틀을 만들어가야 합니다.  현재 미미박스는 데이터를 통해 추천 경험을 강화할 계획을 가지고 있습니다. 자 여기서부터는 PO의 상상이 시작되는 것이죠PO는 어떤 팀에서 어떤 것을 구현할 수 있는지 파악하고 있어야 합니다. 미미박스의 PO인 Ryan은 풀스텍 개발자의 경력을 가지고 있으며, 타 커머스 업체에서도 일을 했었습니다.또한 프로덕트를 기획해본 경력이 있었죠. 이런 경력으로 테크팀에서 누가 뭘 구현할 수 있을지, 커머스에는 어떤 기능이 필요한지 빠르게 알 수 있습니다.즉, PO 직무를 하기 위해서는 기술적 배경지식(개발, 디자인 등)과웹&모바일 프로덕트 기획해본 경험이 있어야 합니다.두 번째는 커뮤니케이션 스킬입니다. 전략이나 콘셉트, 문제 등 추상적인 것을 정의하고,데이터를 기반으로 실무자들과 커뮤니케이션할 수 있어야 합니다.  마지막은 가장 중요한 건데요. 바로 문제 해결 의지입니다. PO는 스스로 목표와 전략을 설정하고 리드해야 하죠. 다양한 협업관계 속에서 깊이와 의지가 부족하다면 이것도 저것도 아닌 결과물이 나올 수 있어요. 그렇기 때문에 확고한 문제 해결 의지를 가지고 있어야 합니다. 다시 한번 미미박스를 살펴보세요. 당신의 상상을 펼칠 수 있는 부분이 보이나요?미미박스와 함께 게임체인저가 되어보세요!
조회수 2078

초기에 할만한 ASO (앱스토어 최적화) 팁

지난번 '문돌이가 어설프게 디자이너 대타로 일하는 법'에 이어 이번에는 PM의 마케터 따라하기의 다양한 방법론에 대해 논해보고자 한다. 사실 필자는 대기업에서 약 5년간 기획자로 재직하면서 다양한 마케팅 업무를 수행하였다. 특히, 캐논 플레이샷 캠페인은 필자가 처음 발의하여 현재 3회로 이어지고 있는 캐논의 연간 캠페인이 되기도 했다. 뭐 이런 마케팅에 대해서는 나름 자신감 충만한 채로 퇴사하여 스타트업을 하고 있지만, 실제 모든 마케팅 업무를 대행사에 일임하며 기획-보고-예산따기 업무만 하던걸 '난 마케터야'라고 착각하고 있었다는 걸 깨닫는건 그리 오래걸리지 않았다. (이거 뭐 써먹을데가 있어야지 참고)당장 앱 하나를 만들어 앱스토어에 런칭하면서 ASO (App Store Optimization, 앱스토어 최적화)의 세계에 대해 알게 되었다. 아마 SEO (Search Engine Optimization, 검색엔진 최적화) 작업에 대해서는 많이들 들어봤지만 ASO는 처음 들어보는 사람도 있을 것이다 (나도 우리 개발자가 얘기해 줘서 알게 되었다.)ASO의 정의는 찾아보면 다 재각각인데 대충 다음과 같이 정리할 수 있을 듯 하다. (내 개인적인 정의이다)앱스토어에서 내 앱의 가시성을 증대시키기 위한 일련의 모든 활동들여기서 '가시성'이란 단어가 핵심인데, 영어로 visibility, 즉 내 앱이 앱스토어상에서 사람들에게 최대한 잘 검색되고 잘 눈에 띄게 만들기 위한 모든 노력을 ASO라고 부르는 것이다. 크게 다음 영역이 있다.1. 앱스토어 제목 및 키워드 관리2. 앱 아이콘 및 스크린샷 최적화3. 리뷰 관리ASO는 물론 애플의 앱스토어와 구글의 구글플레이스토어가 기본개념은 같지만 디테일한 전략은 살짝 다르다. 이 글에서는 애플의 앱스토어 기준으로 작성된 방법론임을 미리 밝혀둔다. 그리고 또하나 당부할 것은, 아래같이 ASO 작업을 잘 해놓는다고 해서 갑자기 내 앱의 다운로드가 막 증가하고 그러진 않는다. (키워드 선정을 잘 해놓으면 내 앱소개 페이지의 임프레션이 늘긴 한다.) 바크 (Bark)앱도 한때 소셜네트워크 무료 부분에 25위까지 순위가 치솟은 적이 있었지만 ASO때문만은 아니였으나 ASO를 잘 해놓으면 트래픽이 발생했을때 어느정도 순위를 최대한 끌어올려주는 역할은 할 것이다. ASO는 앱스토어 순위 상승의 직접적인 영향을 주지는 않지만 앱 트래픽이 발생했을 때 이를 최대한 끌어올려주는 역할은 한다.앱스토어 제목 및 키워드 관리앱스토어에 앱을 올릴 때 PM이 (원래는 마케터가) 다음 3가지를 꼭 미리 작성해서 전달해야 한다.1. 타이틀2. 컨텐츠3. 앱 키워드여기서 컨텐츠는 사실 ASO에서 그리 중요하지 않은데, 그 이유는 앱 검색할때 검색 순위에 컨텐츠의 내용이 전혀 포함되지 않기 때문이다. 하지만 내 앱을 이미 찾고 나서 그 앱에 대해 알기 위해서는 역시 큰 역할을 하기 때문에 내용은 충실히 작성하되 처음 3줄은 정말 공들여서 작성하기 바란다. 왜냐하면 앱스토어 들어가면 처음 3줄만 보이고 그 밑에는 생략되기 때문이다.앱스토어 검색 순위에 영향을 미치는건 (다운로드, 리뷰수 등을 제외하고) 앱의 타이틀과 키워드라고 할 수 있다. 여기서 앱의 타이틀과 키워드가 1:1의 동일한 중요도를 지니는지, 타이틀에 있는 단어에 좀더 중요도를 주는지는 확실치 않다. 중요한건 타이틀과 키워드가 모두 앱 검색순위에 영향을 미친다는 것은 기정사실이라는 것이다.타이틀에는 [앱의 이름 - 중요한 키워드를 포함한 설명] 이런 식으로 작성한다. 예를들면 아래 예시에서 보시다 시피 SoundCloud라는 앱은 SoundCloud - Music & Audio라고 작성되어 있는데 앞에가 앱의 이름, 뒤에가 본인 앱을 대표하는 가장 중요한 키워드로 설명하고 있다. 만일 당신의 앱이 대학생의 수강신청을 돕는 앱이고 앱 이름이 '대학돌이,' 앱이 표방하는 가장 중요한 가치가 수강신청을 쉽고 빠르게 해주는 거라고 한다면 타이틀을 이렇게 만들어 볼 수 있을 것이다.대학돌이 - 원클릭으로 1분만에 대학생 수강신청 완료보다시피 앱 설명 부분에 '원클릭,' '대학생,' '수강신청'이라는 중요 키워드가 포함되어 있는 것을 알 수 있다.앱 타이틀은 '앱 이름 - 중요 키워드를 포함한 앱 설명'이 포함되도록 작성한다.앱스토어 키워드 선정이제 가장 중요한 키워드 선정에 대해 알아보자. 앱스토어의 키워드는 사실 애플이 구글처럼 검색관련 기술이 잘 발달되지 않아서 궁여지책으로 만들어 놓은 검색 툴이라고 한다. 즉, 보통은 검색엔진이 알아서 컨텐츠를 파악해서 사용자의 검색어 입력에 따라 가장 연관성 높은 앱을 추천해 주어야 하는데 애플은 그 연관성 높은 키워드를 앱을 올리는 사람이 직접 100자 이내에서 정해버리는 아주 고전적인 방법인 것이다. 수 많은 한국 앱들을 보면 이 100자 조차 채우지 않고 키워드를 대충 정해서 올리는 걸 많이 봐왔는데, 키워드가 제대로 작성되어 있지 않으면 내 앱이 앱스토어에서 아예 안보일 수도 있으니 주의하도록 하자.앱스토어 키워드 작업은 크게 다음과 같은 순서로 한다.1. 키워드 브레인스토밍2. 앱키워드 분석툴로 트래픽/혼잡도 체크3. 키워드 100자 이내로 최적화하기1. 키워드 브레인스토밍우선 키워드 작업에 있어서 아주 훌륭하면서 무료인 사이트를 하나 소개하겠다. 바로 SensorTower라는 사이트 이다. 이 사이트는 원리는 모르겠으나 애플 앱스토어의 수많은 앱들의 키워드, 순위, 트래픽, 혼잡도 등을 트래킹하여 실시간으로 수치를 확인해 볼 수 있는 분석 툴이다. 물론 엄청나게 비싼 유료툴이지만 내가 하는 방법처럼 사용하면 무료로 대부분의 기능을 사용할 수 있다.SensorTower는 ASO 키워드 관리를 위한 비싼 툴이지만 무료로 사용 가능한 방법이 있다.위의 사이트에 회원가입을 한 후, 프로덕트 앱에 내 앱을 등록할 수 있는데, 만약 아직 앱스토어에 라이브된 내 앱이 없다면 그냥 아무거나 등록해 놓도록 하자. (Default는 페이스북으로 되어있다) 이때 주의할 것은 내가 하려는 ASO작업이 한국 마켓을 기준으로 하려고 하면 내가 등록한 앱의 Country 세팅을 Korea로, 미국 마켓을 기준으로 하려고 하면 US로 세팅해 놓는다. (이 세팅은 언제든지 바꿀 수 있다.) 이걸 먼저 해 줘야 앞으로 설명할 키워드 트래픽 분석 수치를 지금 세팅한 국가를 기준으로 반환한다.우측 상단의 'Country'탭을 한국, 미국 등 다양한 마켓을 기준으로 세팅할 수 있다.내 앱의 키워드를 백지에서 만드는건 매우 어려운 작업이라서 나는 다음과 같은 꼼수를 사용한다.경쟁사 앱, 유명한 앱 등의 벤치마킹할 앱의 키워드를 검색해서 거기에서 괜찮은것 골라내기요즘 유행하는 신조어들을 구글링하여 내 앱과 어울리는 단어들 캐치하기내 앱인 바크(Bark)를 기준으로 설명해 보면 바크는 경쟁앱들이 카카오톡, 라인등과 같은 메신저앱들과, 1km, 모씨, 어라운드등과 같은 익명/위치기반 앱들, Tinder, Badoo등과 같은 데이팅앱들이 있다. 이 앱들을 위의 SensorTower에서 검색해 보면 다음과 같이 해당 앱의 키워드를 볼 수 있다. 이런 유명한 앱들의 키워드 중 마음에 드는 단어들을 엑셀 시트에 잘 정리해 놓는다.틴더의 키워드이다. 사실 이런 유니콘앱들은 ASO이런거 안해도 앱스토어에서 잘보인다.요즘 유행하는 신조어들은 구글링을 통해 금방 검색 가능한데, 이걸 왜 하냐하면, 위와같이 유명 앱들이 선정해 놓은 키워드들은 대부분 이미 키워드 혼잡도가 매우 높은 앱들이다. 우리 앱이 이제 막 출시했거나 아직 다운로드수가 충분하지 않다면 저런 chat과 같은 단어들은 검색창에 치면 우리앱은 한 1000순위 바깥으로 밀려나 있어서 검색될 확률이 zero이기 때문에 키워드 선정 백날 해놔봤자 초기에는 쓸모가 없다. 따라서 나는 이런 일반적인 단어 40% + 신조어 60%의 비율로 선정해 놓는다.신조어를 선정하는 기준은 다음과 같다.1. 내 앱의 타겟이 자주 쓰는 단어들이다.2. 키워드 혼잡도가 매우 적어서 저 단어를 검색하기만 하면 바로 내 앱이 검색될 수 있는 키워드바크 앱을 예로 들어 설명해 보자. 바크 앱의 메인 타겟은 15-30세의 젊은 층이다. 이 중에서도 대학생의 사용 비중이 높다. 그러면 요즘 대학생들이 자주 쓰는 단어 중에서 핫한 신조어들이 뭐가 있는지 한번 보자. 인터넷에 대충 구글링 해봤더니 다음과 같은 단어들이 눈에 띈다.개이득, 꿀잼, 엄친딸, 안습, 열폭, 볼매, 금사빠...사실 아는 동생한테 물어보니 "형 저런단어 이미 옛날껀데 촌스러워서 누가 써?" 라는 대답이 돌아왔지만, 아무튼 난 모르는 단어들이니 한번 이 단어들을 SensorTower에서 트래픽 조사를 해보자.2. 앱키워드 분석툴로 트래픽/혼잡도 체크SensorTower의 트래픽 검색은 App Store Optimization > Keyword Rankings에서 할 수 있는데, 5개 까지만 무료이고 그 이상부터는 돈을 무지막지하게 비싸게 내야 하는 유료툴이다. 나는 어떻게 활용하냐면 검색할 키워드 리스트를 미리 엑셀시트로 정리해 놓은 후, 5개씩 검색한다음에 검색 결과를 엑셀시트에 복사해 놓고, 다시 모두 지우고 다음 5개를 입력하고.. 이런 노가다를 통해 무료로 사용하고 있다. 키워드를 보통은 한 500개정도 서치해 보게 되는데 이를 5개씩 해야하니 거의 하루 종일 걸린다. 돈 있으면 유료로 사용하는걸 강추한다...아무튼, 여기에 '익명,' '채팅'의 일반적인 단어 2개와 '개이득,' '꿀잼'의 신조어 2개를 비교해 보도록 하자. 차트에서 Traffic은 내가 세팅해놓은 국가에서 사람들이 얼마나 이 단어를 찾아보느냐 이고, iPhone Difficulty는 현재 이 키워드가 얼마나 혼잡하느냐 (이 키워드를 점유한 앱이 얼마나 많은가) 이며, 'iPhone Apps'는 실제로 이 키워드를 사용하는 앱이 몇개나 있는지를 보여주는 탭이다. 이 3개가 가장 중요한 정보이다.Traffic, Difficulty, iPhone Apps 요 3개만 보면 된다.보다시피 '채팅'같은 단어는 트래픽이 5가 넘는다. 사람들이 매우 많이 찾는 단어라는 뜻이다. 혼잡도는 무료 6이 넘는다. 그만큼 이 키워드를 점유한 앱이 차고 넘친다는 뜻이다. 이런 앱에 바크와 같은 초기 앱을 같다 넣어봤자 검색창 한 100번쯤 넘기면 보일게 뻔하다. 하지만 저기 '개이득'이라는 단어를 보라. 사실 이런 단어를 솔직히 누가 찾아볼까 싶었는데 수치상으로는 트래픽이 3이 넘는다. 높은 수치는 아니지만 최소한 '익명'이라는 단어보다는 많이 찾아본다고 나온다. 뭐 '개'라는 단어랑 트래픽이 연관되서 수치가 왜곡되는지는 모르겠지만, '개'를 따로 찾아보면 트래픽은 4.1이 나온다. 솔직히 왜곡된 가능성이 없지는 않지만 초기에는 이것저것 해볼만한건 1%의 가능성이라도 다 해보는게 중요하다. '개이득'의 혼잡도를 보면 0.1이고 등록된 앱은 2개다. 이중 하나가 바크 앱이다. 이 말은 유저가 이 단어를 검색하면 내 앱이 아예 최상단에 뜬다는 얘기이다. 여기서 또하나 유추 가능한 것은 당신의 앱 이름을 아예 저런 단어로 만들어 버리고 광고 캠페인에서 저 키워드를 사람들한테 각인시키는 광고를 한다면 이 방법이 매우 효과적일 것이란 거다.앱스토어에 '개이득'을 치면 바크 앱이 가장 먼저 뜬다.아무튼, 나는 이런식으로 일반적인 단어 40%, 신조어 60%의 비중으로 키워드를 한 500개정도 추려서 위의 트래픽 조사 작업을 진행해서 엑셀 차트로 만들어 놓았다. 여기서 단어들을 최대한 트래픽이 많으면서 혼잡도가 적은 단어들을 선정하는 것이 이 방법론의 핵심이다.이런 식으로 SensorTower에서 5개씩 찾아본 트래픽 수치를 엑셀차트에 기록해 놓는다.3. 키워드 100자 이내로 최적화하기위 작업을 다 했으면 이제 내가 작업한 리스트에서 트래픽이 높으면서 혼잡도가 낮은 단어들을 추려서 100자 이내로 세팅한다. 아까도 말했듯이 내 앱을 설명하기 위해 꼭 필요한 일반적인 키워드들 40%, 아직 선점되지 않은 핫한 단어들 60%정도의 비중으로 추린다. 후자의 경우 혼잡도가 1이 넘고 이미 등록된 앱이 20개 이상일 경우에는 선정하지 않도록 한다. 어차피 앱 검색 페이지가 한 3페이지 이후로 밀릴 가능성이 크니 키워드 낭비이다. 또한 단어 두개가 조합되서 또다른 서치 키워드가 되는 경우 둘다 등록한다. 예를들어 사람들이 '익명채팅'이라고 검색할 수도 있고, '익명'이라고, 또는 '채팅'이라고도 검색 가능할 것이다. 이럴 경우 '익명채팅,' '익명,' '채팅' 이렇게 3개를 등록하는게 아니라 그냥 '익명,' '채팅' 이렇게 두개만 검색하면 저 3가지 케이스가 다 커버가 된다는 뜻이다. 100자 단어 카운터 역시 SensorTower에서 제공해 준다.최대한 키워드를 99이상이 되도록 꽉 채워서 완성한다.지금까지 초기에 할만한 앱스토어 최적화 작업에 대한 방법론을 살펴보았다. 이 외에도 앱스크린샷 잘 만드는 법, 앱 아이콘이 눈에 띄는 법 등등 다양한 최적화 방법론이 있다. 물론 이전 글들과 마찬가지로 내가 설명한 방법론은 조금 야매스러운점이 있다. 진짜 ASO전문가 들은 앱 인덱싱이라고 불리는 기법을 활용해서 저 키워드 작업을 아주 과학적으로 운용한다고 하는데 나는 솔직히 전혀 모르는 분야이다. 이 친구의 미디엄 블로그 글에 다양한 방법론들을 소개해 놓았으니 혹시 이 분야가 궁금한 사람들은 방문해 보기 바란다.글쓴이는 스팀헌트 (Steemhunt) 라는 스팀 블록체인 기반 제품 큐레이션 플랫폼의 Co-founder 및 디자이너 입니다. 비즈니스를 전공하고 대기업에서 기획자로 일하다가 스타트업을 창업하고 본업을 디자이너로 전향하게 되는 과정에서 경험한 다양한 고군분투기를 연재하고 있습니다.현재 운영중인 스팀헌트 (Steemhunt)는 전 세계 2,500개가 넘는 블록체인 기반 앱들 중에서 Top 10에 들어갈 정도로 전 세계 150개국 이상의 많은 유저들을 보유한 글로벌 디앱 (DApp - Decentralised Application) 입니다 (출처 - https://www.stateofthedapps.com/rankings).스팀헌트 웹사이트 바로가기
조회수 717

비트윈이 사용자를 분석하는 방법 - VCNC Engineering Blog

 빅데이터분석이 최근 이슈가 되면서 관심이 많으실 것 같습니다. 비트윈팀도 데이터 분석 참 좋아하는데요, 저희도 한번 해보았습니다. 이번 포스팅에서는 비트윈팀의 데이터 분석 노하우를 아낌없이 공유해드립니다.왜 사용자의 데이터를 분석해야하는가요?비트윈같은 서비스는 초기 단계에는 앱을 기획하고 만들어낸 팀에 아이디어에 의해 계속해서 발전하고, 유지됩니다. 하지만 기능이 점점 다양해지고 사용자가 점점 많아지면서 사용자들의 앱 사용패턴을 점점 예측하기 어려워집니다. 게다가 비트윈은 해외 진출을 구상 중이었는데, 개인 혹은 팀의 아이디어만으로 해외에서의 사용패턴을 정확히 알기는 어려웠습니다.이런 시점에 필요한 것이 사용자 분석입니다.사용자들의 사용패턴을 분석해 보는 방법은 여러 가지가 있습니다. 초기에 해볼 수 있는 가장 직관적이고 쉬운 것은 비트윈을 사용하는 자기 자신의 사용 패턴을 돌아보고 분석해보는 것입니다. 또 친구들이나 익명 사용자들의 사용패턴을 물어보거나, 관찰하는 방법들이 있습니다. 이런 방법은 매우 효과적이고 많은 아이디어를 주지만 여러 가지 한계점이 있습니다. 지역적, 시간적인 한계 등이 그것입니다.그래서 택할 수 있는 방법이 실제로 사용자들의 행동을 컴퓨터로 수집해서 분석하는 것입니다. 말 그대로 '데이터 분석'을 하게 되는 것입니다.무엇을 분석할지 알아야 합니다데이터로 분석할 수 있는 것은 무궁무진합니다만, 먼저 데이터가 있어야합니다. 비트윈과 같이 서버와 통신하는 앱은 사용자들이 서버에 요청을 할 때마다 엑세스 로그를 남기게 됩니다. 이 엑세스 로그는 사용자들의 사용패턴을 고스란히 담고 있어, 소중한 데이터가 됩니다.엑세스 로그 분석은 전혀 어렵지 않습니다. 엑세스 로그에서 특정 행동에 해당하는 내용을 세는 것만으로도 여러 가지 유의미한 값을 얻어낼 수 있습니다. 하루 동안의 로그를 한줄씩 읽어서 메시지에 관련된 로그를 카운트하면 그날의 메시지 전송 건수를 얻을 수 있는 것입니다. (참 쉽죠?)엑세스로그에서 가입, 메시지, 사진, 메모 등 기본적인 내용에 해당하는 것들을 카운트하는 것만으로도 꽤 자세하게 앱 전체 사용자들의 전반적인 사용통계를 얻어낼 수 있습니다. 이제 해당 데이터를 엑셀에 넣어서 차트를 그려보면, 사용 통계에 대한 그럴싸한 차트가 그려집니다.엑세스 로그 분석에 성공했다면 좀 더 다양한 분석을 해볼 수 있을 텐데요, 사용자별 행동패턴 분석이나, 나라별, 혹은 아이폰, 안드로이드 디바이스별 분석 등 다양한 분석을 시도해볼 수 있습니다. 분석을 하기 전에 중요한 것은 무엇이 궁금한지, 어떻게 궁금한 데이터를 모을지 아이디어를 먼저 내는 것입니다. 여러 예제들을 찾아보며 공부해보면, 금방 좋은 아이디어를 얻으실 수 있을 겁니다.물론 여기서 중요한것은 개인정보나 사생활의 보호입니다. 로그가 유출되었을때의 보안 문제 뿐 아니라, 데이터 분석팀에게조차 개인정보가 노출된다면 곤란합니다. 이 문제에 저희가 어떻게 대처하고 있는지는 글 뒷부분에 자세히 알려드리겠습니다.특정 기술에 구애받지 말고 다양하게 구현해봅시다처음에는 로그 파일을 돌며 간단한 string을 검사하는 스크립트와 엑셀로도 충분했지만, 점점 복잡한 분석을 할수록 다양한 기술이 필요해집니다. 비트윈 사용자 분석도 점점 다양해지고 복잡해지면서 여러 가지 기술들을 사용하고 있습니다.비트윈 사용자 분석은 처음에는 6줄짜리 간단한 shell script에서 시작되었습니다.cat 2011-10-31.log | grep /messages | grep POST | wc -l cat 2011-10-31.log | grep /photos | grep POST | wc -l cat 2011-10-31.log | grep /memos | grep POST | wc -l cat 2011-10-31.log | grep /like | grep POST | wc -l cat 2011-10-31.log | grep SIGN | wc -l cat 2011-10-31.log | grep REL | grep POST | wc -l 이런 스크립트를 만들어서 결과를 이메일로 공유하거나, 엑셀로 만들어 놓곤 했습니다.여기에 비트윈 분석은 조금 더 발전하여, 로그파일을 쿼리하여 Map Reduce 작업이 가능한 Hive를 사용하고, PHP로 통계 웹사이트를 만들어 차트를 그리기 시작했습니다. 이 방식은 처음에는 매우 편리했지만 차츰 쿼리만으로 원하는 결과를 얻기가 힘든 다소 복잡한 분석이 필요해지기 시작했습니다.현재는 모든 로그를 분산 데이터베이스인 HBase에 Date Key와 User Key로 넣고, 코드 생산성이 좋은 Scala로 직접 Map Reduce코드를 작성해서 데이터들을 분석하고 있습니다. 그래서 충분히 scalable하면서도 꽤 편리하게 이용할 수 있는 데이터베이스를 활용하고, Scala의 좋은 expression을 활용하여 짧고 유지보수나 확장이 쉬운 코드로 분석을 수행하면서도 Java와 호환되는 Scala의 특성을 이용하여 Map Reduce 코드 작성을 효과적으로 하고 있습니다. 이렇게 분석한 데이터는 MySQL에 넣어서 2차로 가공하고, Scala Web Framework인 Play Framework을 이용하여 분석 사이트를 구축하고 D3 Chart를 이용해서 Visualize하고 있습니다. 이렇게 함으로써 편리한 MySQL 쿼리 사용의 장점을 취하고 멋진 차트를 효과적으로 그려낼 수 있습니다.좋은 Visualization은 멋질 뿐만 아니라 손쉽게 아이디어를 공유할 수 있게 해줍니다.앞으로는 더 빠른 성능을 위해 Hive를 더 잘 사용해보거나, Elastic Search같은 index engine들을 사용해 볼 계획도 가지고 있습니다. 또한 End point들에서 직접 성능을 측정하여 중앙으로 모아서 분석해보려는 생각도 가지고 있습니다.기술을 선택함에 있어서 정답은 없는 거 같습니다. 널리쓰이는 MySQL같이 scalability가 좀 떨어지지만, 다양한 쿼리로 높은 생산성을 낼 수 있는 데이터베이스도 있고, HBase같이 scalability가 좋지만, 데이터를 저장하는 형태에 제한이 있어 생산성이 조금 떨어지는 데이터베이스도 있습니다. 저희는 앞서 소개드렸듯이 이 두 가지를 모두 혼용하여 사용하고 있습니다. 각자가 마주한 상황에 맞게, 또 각자가 익숙한 기술에 맞게 설계하고, 사용해보면 됩니다.개인정보 보호는 철저하게빅데이터 분석이 개인정보를 침해하는 빅 브라더가 될 수 있다는 우려들이 나오고 있습니다. 300만이 넘는 커플들의 비밀스러운 일기를 담고 있는 비트윈 서비스는 당연하게도 모든 업무를 진행하는 데 있어 보안과 개인정보를 최우선으로 하고 있습니다. 데이터 분석에서도 분석할 수 있는 내용을 상당히 제한받더라도, 예외 없이 그 원칙을 지키고 있습니다.비트윈의 API서버는 AWS클라우드에서 운영되고 있는데, 사용료가 상당히 비싸기 때문에 큰 컴퓨팅 파워를 사용해야 하는 데이터분석까지 AWS에서 하기엔 좀 부담이 되었습니다. 그래서 PC급 컴퓨터 여러 대를 구입하여 사무실 구석에 쌓아놓고 사용하고 있습니다.하지만 문제는 보안이었습니다. AWS의 비트윈 API서버는 다중으로 보안이 유지되고 있지만, 사무실에 있는 서버에 사용자들의 개인정보를 담아둘 수는 없는 일이었습니다. SECO*이 사무실을 지켜주고 있긴 하지만 보안회사에 고객들의 소중한 개인정보를 맡기고 안심할 수는 없으니까요. 그리고 설사 보안 문제가 잘 해결된다고 해도, 분석을 수행하는 비트윈 데이터분석팀원에 개인정보 혹은 사생활이 노출된다면 그 또한 문제라고 생각하였습니다.그래서 저희가 생각해낸 방법은 '익명화'입니다. Access Log들을 저장할 때 사용자의 아이디를 전부 단방향 salted-hash하여 누구인지 알 수 없게 만들었습니다. (물론 salt key는 데이터 분석팀은 알 수 없습니다.) 그리고 애초에 Access Log에는 '어떤 사람'이 '50글자짜리 메시지를 보냈다' 라던가, '사진을 올렸다' 정도만 기록이 되기 때문에, 이를 통계적으로 분석하는 것은 유의미하지만, 사적인 정보를 담고 있지는 않습니다.익명화되어 처리되고 있는 로그는 개인정보는 거의 담고 있지 않으면서도, 유익한 분석 결과를 만들어줍니다.이런식으로 운영을 한다면 데이터 분석팀에서도 사적인 정보(예: 메시지 내용)에 대해서는 접근할 수 없기 때문에, 회원들의 소중한 개인정보와 사생활을 지킬 수 있습니다. 어떤 분석을 수행할 때 언제나 비트윈팀은 언제나 보안과 사생활 보호의 원칙을 지킬 수 있는 범위에서만 진행하고 있습니다.아이디어의 공유, 그리고 액션아이템이 무엇보다도 중요합니다데이터 분석의 목표가 무엇인지, 왜 해야 하는지 생각해보면, 무엇을 해야 하는지 알 수 있습니다. 바로 분석으로부터 얻은 아이디어를 공유하고 액션아이템을 정하고 실천하는 것입니다.데이터를 visualization하는것이 중요한 이유가 여기에 있습니다. 보기 좋은 떡이 먹기도 좋다는 말이 있듯이, 데이터도 먹기 좋아야 합니다. 여러 사람이 쉽게 이해할 수 있어야 아이디어를 공유하고 의사결정을 내리기가 수월하기 때문입니다.민트&베리 사용량 분석. 연인들이 쓰는 앱이라 사랑표현이 인기가 많군요. 디자인팀이 이런 자료를 참고하여 이후 디자인 아이디어를 내는 데 도움이 되면 좋겠죠?비트윈팀은 매번 데이터 분석 미팅을 진행하고 나면 액션아이템을 정하고 실천합니다. 저희가 어떤 식으로 의사결정을 내리고 행동하는지에 대해서는 비트윈 팀블로그의 VCNC는 데이터분석에 기반해 어떤 결정을 내렸나 포스팅을 보시면 도움이 되실 것 같네요.맺으며이번 포스팅에서는 비트윈팀이 어떻게 무엇을 분석하는지 간단하게 다뤄봤습니다. 의견이나 참견 모두 환영이니 댓글 많이 남겨주세요! 다음번 포스팅엔 기술적인 부분에 대해 좀 더 자세하게 다뤄보도록 하겠습니다.
조회수 4630

Elasticsearch X-Pack Alerting 체험기

Logstash로 로그를 수집한 후 Elasticsearch와 Kibana로 분석하는 방법을 다룬 글은 많다. 그런데 이상하더라 이 말이지. 로그를 분석하고 경향을 파악하는 정도라면야 괜찮은데 심각한 오류 로그를 발견했을 때 Slack이나 이메일 등으로 알람 받을 수단이 마땅치 않더라. 사람이 키바나 대시보드를 5분마다 확인할 수도 없는 노릇이다. (이건 새로운 차원의 고문?)이런 생각을 먼저 한 사람이 있기 마련이라 Yelp의 elastalert라던가 Elasticsearch의 X-Pack을 활용하면 이런 문제를 해소할 수 있다. 오늘은 그 중에서 후자를 살펴볼 예정이다.경고! X-Pack은 Elasticsearch가 유료 서비스 시장을 열려고 야심차게 미는 모양인데 “자기네가 직접 만들었으니 쿨하겠지?”라고 쉽게 생각하면 하루 안에 절벽 아래로 떨어지는 끔찍한 기분을 맞이할 수도 있다.X-Pack은 가격이 상당한데 Alert 등을 설정하려면 전적으로 RESTful API에 의존해야 한다. 적어도 아직까지는! 이 사실을 깨닫자마자 당황할 수 있는데 침착하자. 이것은 시작일 뿐이다. 여러분이 검색엔진의 초보라면 그 다음 난관은 검색 쿼리를 작성하는 것이다. “나는 그냥 OutOfMemoryError 로그를 발견하면 알람을 보내줬으면 좋겠어"라고 쉽게 생각했겠지만 그 간단한 결과를 얻으려면 험난한 여정을 거쳐야 한다."search" : { "request" : { "indices" : [ "", ], "body" : { "query" : { "bool" : { "must" : { "multi_match": { "query": "OutOfMemoryError", "fields": ["message", "log"] } }, "filter" : { "range": { "@timestamp": { "from": "{{ctx.trigger.scheduled_time}}||-5m", "to": "{{ctx.trigger.triggered_time}}" } } } } } } } }음… 좋다. 일단 이렇게 작성한 쿼리가 제대로 된 것인지 테스트하려면 어떻게 해야 하는가? 검색 API로 대충 테스트해볼 수는 있다.GET logstash-2017.02.2*/_search { "query" : { "bool" : { "must" : { "multi_match": { "query": "OutOfMemoryError", "fields": ["message", "log"] } } } } }어찌어찌 잘 나온다. 그래서 잘 돌 줄 알았지? 그럴 줄 알고 있다가 이런 메시지를 만난다.Trying to query 1157 shards, which is over the limit of 1000. This limit exists because querying many shards at the same time can make the job of the coordinating node very CPU and/or memory intensive. It is usually a better idea to have a smaller number of larger shards. Update [action.search.shard_count.limit] to a greater value if you really want to query that many shards at the same time.음… logstash 인덱스를 매시간마다 분할했더니 샤드가 꽤 많아진 모양이다. 그래서 최근 두 개의 인덱스로 검색 대상을 제한하려고 한다. Date math support in index names라는 문서에 인덱스 이름을 동적으로 바꾸는 법이 나와 있긴 하다. 그런데 막상 내가 짠 게 어떤 값이 나오는지 확인하는 방법은 제대로 안 나온다. 예를 들어 가 logstash-2017.02.22t01로 해석되는지 어떻게 아는가? 많은 삽질 끝에 방법을 찾았다.를 URL 인코딩한다.그렇게 얻은 값 을 가지고 인덱스 조회 API를 호출한다. GET /3Clogstash-{now-1h/d}t{now-1h{HH}}>그러면 다음과 같이 결과가 나와서 인덱스 이름이 어떻게 해석됐는지 확인할 수 있다.{ "logstash-2017.02.23t01": { "aliases": {}, "mappings": { /* 중략 */ } }여기까지는 전적으로 검색 쿼리 작성 경험이 부족해서 발생한 삽질이다. 하지만 애플리케이션 로그 분석을 패턴화하지 않고 이렇게 검색 쿼리를 복잡하게 짜야 한다니 아직 갈 길이 멀다는 생각이 든다. DataDog 또는 NewRelic 같은 상용 서비스를 참고해서 개선하면 좋겠다.이제 결과를 알람으로 보내면 된다. 이래저래 고생하다 대충 아래와 같은 형태로 완성했다.PUT _xpack/watcher/watch/outofmemoryerror { "trigger" : { "schedule" : { "cron" : "0 0/4 * * * ?" } }, "input" : { "search" : { "request" : { "indices" : [ "", "" ], "body" : { "query" : { "bool" : { "must" : { "multi_match": { "query": "OutOfMemoryError", "fields": ["message", "log"] } }, "filter" : { "range": { "@timestamp": { "from": "{{ctx.trigger.scheduled_time}}||-5m", "to": "{{ctx.trigger.triggered_time}}" } } } } }, "sort" : [ { "@timestamp" : {"order" : "desc"}}, "_score" ] } } } }, "condition" : { "compare" : { "ctx.payload.hits.total" : { "gt" : 0 }} }, "actions" : { "notify-slack" : { "throttle_period" : "5m", "slack" : { "message" : { "to" : [ "#ops", "@dev" ], "text" : "로그 모니터링 알람", "attachments" : [ { "title" : "OutOfMemoryError", "text" : "지난 5분 동안 해당 오류가 {{ctx.payload.hits.total}}회 발생했습니다. 가장 최근의 오류는 다음과 같습니다.", "color" : "warning" }, { "fields": [ { "title": "환경", "value": "Prod", "short": true }, { "title": "발생시각", "value": "{{ctx.payload.hits.hits.0._source.@timestamp}}", "short": true }, { "title": "메시지", "value": "{{ctx.payload.hits.hits.0._source.message}}", "short": false }, { "title": "확인명령어", "value": "`GET /{{ctx.payload.hits.hits.0._index}}/{{ctx.payload.hits.hits.0._type}}/{{ctx.payload.hits.hits.0._id}}`", "short": false } ], "color" : "warning" } ] } } } } }4분마다 검색 쿼리를 실행해서 최근 5분 간의 레코드를 감시하기 때문에 동일한 오류에 대해 2회 연속으로 알람을 받을 가능성이 있다. X-Pack은 이를 우회할 방법을 제공하지 않는 것 같다. 그래서 쿼리가 발견한 레코드의 인덱스 ID를 Slack 메시지 중 확인명령어 필드에 넣었다. 알람이 두 번 왔지만 인덱스 아이디가 동일하다면 오류가 한번 발생한 것으로 간주하면 된다.참고 문서위의 Alert를 작성하며 도움을 받은 문서는 다음과 같다.Multi Search Template은 검색 쿼리를 짤 때 도움이 됐다.Search Input 문서는 검색 쿼리 또는 검색 결과를 작성할 때 어떤 변수를 사용할 수 있는지 설명한다. 예) {{ctx.payload.hits.hits.0._source.message}}Watcher APIsSlack ActionDate math support in index names 문서는 인덱스 이름을 동적으로 바꾸는 법을 설명한다.기타Elasticsearch Cloud는 기본적으로 이메일 발송을 지원하기 때문에elasticsearch.yml 설정에 xpack.notification.email를 추가하지 않아도 된다. 아니, 추가하면 잘못된 설정이라며 거부한다. Illegal이라고만 하지 이유를 자세히 알려주지 않기 때문에 삽질하기 쉽니다. Invalid addresses라고 오류 로그가 찍히면 이것은 설정 문제가 아니다. 이메일 설정 메뉴로 가서 Watcher Whitelist에 수신 이메일 주소를 등록하면 문제가 해결된다.테스트용 로그 메시지를 Fluentd로 보내고 싶다면 fluent-cat 명령을 이용한다.echo '{"message":"Dummy OutOfMemoryError"}' | fluent-cat kubernetes.logOriginally published at Andromeda Rabbit.#데일리 #데일리호텔 #개발 #개발자 #개발팀 #인사이트
조회수 1405

에이스프로젝트 추천도서 - 그래픽팀 편

안녕하세요기업문화가 좋은 야구게임 개발사에이스프로젝트입니다!에이스 추천도서 3탄!이번에는 에이스프로젝트의 금손 아티스트! ‘그래픽팀’편이랍니다.3D부터 원화, UI까지 다양한 그래픽 작업을 하는 그래픽팀.디자이너에게 인사이트를 주는 추천도서가 무엇인지 볼까요?에이스프로젝트 그래픽팀이 추천하는 도서 Best 6!1. 컬러앤 라이트; 리얼리즘을 위한 색과 빛을 그리는 방법 - 제임스 거니[ 이미지 출처 : 예스 24 ]원화 파트 추천도서! 디지털 페인팅의 원리를 설명해주는색채 표현력에 도움이 되는 책2. 3D 게임 비주얼과 연출의 기술 - 오노 코지[ 이미지 출처 : 예스 24 ]연출 추천도서!재미있게 만들어주는 연출의 기술을 알기 쉽게 설명해주는 책3. 열혈 강의 유니티 게임 프로그래밍 - 주세영[ 이미지 출처 : 예스 24 ]테크니컬 아티스트(TA) 추천도서!내가 만든 그래픽 리소스를 직접 게임으로 구현해보고 싶다면 이 책 한 권으로 가능!유니티와 기초 스크립트가 이해하기 쉽게 설명되어 누구나 따라 할 수 있다!4. Creating Stylized Characters - 3dtotal(COR)[ 이미지 출처: amazon ]유럽 감성의 쉽고 재밌는 캐릭터 컨셉 잡기5. 게임 아키텍처 & 디자인 - 앤드류 롤링스, 데이브 모리스[ 이미지 출처 : 예스 24 ]기획자뿐 아니라 개발자 모두가 읽어야 할 필수 고전 도서6. 갓 오브 워 아트북 - 소니 인터랙티브 엔터테인먼트, 산타 모니카 스튜디오[ 이미지 출처 : 예스 24 ]게임은 개별적인 예술의 표현이며 동시에 스토리텔링을 위한 시각적인 요소에 의존하는 매체다양한 분야의 그래픽 작업을 하는 만큼, 책도 정말 다양하네요.대부분은 캐릭터, 원화 스케치 과정이 레퍼런스 위주로 되어있어 참고하기 좋다고 하네요!이상. 그림으로 말하는 그래픽팀의 추천도서였습니다 :)다음은 '개발팀'의 추천도서로 찾아올게요 :)
조회수 509

Digital marketing summit 2018

우리 브랜드의 옷을 입는 사람은 어떤 브랜드의 음료를 마실까?  1000여 명의 마케터가 모인 Digital marketing summit 2018! Shared customer를  주제로 오픈서베이의 황희영 대표가 발표했습니다.   마케터가 나의 고객이라 생각하는 소비자는 사실 많은 브랜드를 동시에 소비하고 있습니다. 자사의 데이터만으로 소비자를 이해하려하는 것은 마치 초승달을 보고 달의 모양을 판단하는 것과 같습니다. A브랜드에서 화장품 저관여 구매자로 분류하는 소비자가 실은 B브랜드에서 적지 않은 금액을 소비하고 있을 수도 있으니까요.    이를 돕기 위해 오픈서베이는 그간 수집한 매장 방문 및 구매 데이터를 기반으로 소비자의 교차 구매와 교차 방문을 분석하고 그 결과를 공유했습니다.Shared customer 분석을 통해 새로운 기회를 발견할 수 있습니다. 동일 카테고리 내의 교차 구매 및 방문 분석으로 우리 브랜드로 채워지지 않는 소비자의 Unmet needs를 확인할 수 있습니다. 또한 같은 소비자를 공유하는 다른 카테고리의 브랜드와의  Co-promotion이나 collaboration이 가능합니다. 온오프라인 채널 확장 시 벤치마킹이나 경쟁, 혹은 협업할 파트너 브랜드를 찾을 수도 있습니다.  오픈서베이 부스에서는 ‘마케터의 운명을 바꿔줄 로또킷’과 함께 <마케터 리포트 2018>을 나눠드렸습니다. 다양한 산업군, 회사규모, 연차로 구성된 319명 마케터의 목소리를 담았습니다. 많은 마케터가 마케팅 목표 달성을 위한 중요 업무로 ‘고객의 니즈와 이용행태를 파악’하고 ‘소비자 데이터를 분석하여 인사이트를 도출하는 것’을 꼽았습니다.  ‘Shared customer – 우리 브랜드의 옷을 입는 사람은 어떤 브랜드의 음료를 마실까’는 4월 중 내부 고객 초청 세미나로 다시 한번 진행될 예정입니다.관해 궁금하신 점은 오픈서베이 팀([email protected])으로 문의주시면 됩니다.#오픈서베이 #데이터분석 #시장분석 #마케터 #마케팅 #이벤트참여 #이벤트후기
조회수 768

[Tech Blog] How we pipe data

버즈빌에서는 미국과 일본을 비롯한 전 세계 30개국에서 1,700만 이상의 유저의 행동에 대한 데이터를 수집하고 있습니다. 이 데이터에는 유저들이 잠금화면에서 어떤 Action을 수행하는지부터 잠금화면에 어떤 광고가 노출되고 유저들이 어떤 광고를 클릭 하는 지 등의 정보들이 포함되는데요. 이러한 데이터는 여러 종류의 다른 소스로부터 오고 각기 다른 종류의 DB (MySQL, DynamoDB, Redis, S3 등등) 에 저장됩니다. 하지만 데이터를 분석하고 활용하기 위해서는 이렇게 흩어져서 저장된 데이터들을 한 곳으로 모으는게 필수적입니다. 그래서 저희 팀에서는 이렇게 다양한 소스로 부터 발생해서 다양한 DB에 저장된 데이터를 어떤 과정을 통해 한 곳으로 모을 것인가에 대해서 고민하게 되었습니다. 그리고 고민 끝에 각각의 DB에 저장된 데이터를 하나의 큰 데이터 스토리지에 모을 수 있는 ‘데이터 파이프라인’을 구축하는 계획을 세우게 되었습니다. 하지만 다양한 소스로부터 수집된 수많은 데이터들을 잘 유지해가며 하나의 큰 DB에 모을 수 있는 데이터 파이프라인을 구축하는 것이 쉽지 않았는데요. 이 포스팅을 통해서 버즈빌에서는 어떻게 각각의 데이터들을 수집하고 저장하는지 또 이런 데이터들을 통합하기 위한 파이프라인을 어떻게 구축했는지 공유하고자 합니다. 본격적인 이야기에 앞서 현재 버즈빌에서 모든 데이터가 모이는 데이터 스토리지로 사용 중인 RedShift에 대해 이야기하고 싶습니다. 개인적으로는 정말 쓰면 쓸수록 감탄이 나오는 데이터 스토리지라고 생각합니다. Redshift는 AWS에서 관리하는 SQL기반의 열기반 스토리지(SQL based columnar data warehouse)이며 복잡하고 대규모의 데이터 분석에 적합합니다. 고객들로부터 생성된 수많은 종류의 데이터를 기반으로 다양한 인사이트를 얻고자 하는 많은 기업들(Yelp, Coursera, Pinterest 등)이 사용하고 있는 솔루션 이기도 합니다. 버즈빌에서는 여러가지 특징을 고려하여 Redshift를 도입하게 되었는데요. 그 이유는 아래와 같습니다.  Performance Performance Performance.     Column 기반 스토리지 -> 필요한 Column에만 접근한다.   Join이나 aggregation이 많은 복잡한 쿼리도 쉽게 계산할 수 있다.   분산 저장 방식 (Distributed Storage)   Date Ingestion이 빠르다. (Ingest first, index and clean later)     Horizontal Scalability   sharding이나 clustering에 추가적인 complexity가 필요하지 않다. 데이터가 원래 노드에 저장되기 때문에 horizontal scaling을 위해서는 그냥 추가적인 노드만 붙이면 된다. 다른 AWS서비스들과 쉽게 연동이 가능하다. (장점 이자 단점)    하지만 몇 개의 아쉬운 점들도 있습니다. :  다른 RDBMS와 달리 Mutilple indice를 지원하지 않는다.  1 Distribution Key and 1 Sort Key   MySQL이나 다른 RDBMS처럼 uniqueness나 foreign key constraint를 걸 수 없다.     모은 데이터를 어떤 방식으로 Redshift로 옮겨야 할까요? 버즈빌이 구축한 데이터 파이프 라인은 크게 3갈래의 메인 루트가 있습니다.   1) Athena Preprocessing Batch job을 통해서 (잠금화면 활동, 광고 할당) Why? 전처리 작업(Preprocessing)이 필요한 가장 큰 이유는 들어오는 데이터의 어마어마한 크기 때문입니다. 또 어떤 데이터들은 너무 raw하기 때문에 애널리스트나 데이터 사이언티스트가 분석에 활용할 수 있는 형태로 바꾸기위해 전처리가 필요하기도 합니다. 버즈빌에서는 이런 데이터들을 처리하기 위해서 AWS Athena를 사용하고 있습니다. Athena는 과금 방식이 Athena 쿼리로 읽은 데이터의 사이즈를 기반으로 하기 때문에 다른 EMR이나 MapReduce solution들을 사용했을때보다 상대적으로 적은 비용으로 활용할 수 있다는 장점이 있습니다. How?  먼저 S3로 데이터를 보냅니다. 그 후, Athena를 활용하여 데이터를 가공/처리합니다. 가공된 데이터를 읽어서 Redshift로 보냅니다. (COPY command 활용)  Pros?  서버를 따로 가질 필요가 없습니다. (EMR 클러스터나 서버를 관리할 필요가 없음) 경제적입니다. (S3에서 1TB를 읽을때마다 $5 정도의 비용)  Cons?  사용량이 몰리는 시간대 (12:00 AM UTC)에는 일부 쿼리가 실패할 수 있습니다. -> 중요하고 필수적인 데이터는 Athena가 아닌 다른 방법을 통해 처리하는것이 적합합니다. PRESTO DB의 기능을 (아직은) 온전히 활용할 수 없습니다.     2) Firehose를 통해서 (Impression, Clicks, Device, Events) Why? Kinesis Firehose는 Redshift, Elasticsearch, S3와 같은 최종 목적지까지 다양한 데이터들을 안정적으로 옮길 수 있는 파이프라인을 제공할 뿐 아니라 Fluentd와 매끄럽게 잘 연동된다는 점에서 굉장히 뛰어난 서비스 입니다. Fluentd는 서버로부터 firehose까지 데이터가 안정적이고 꾸준하게 전달 될 수 있도록 도와줍니다.  따라서 firehose와 fluentd의 연동을 통해서 따로 두개의 파이프라인 ( SERVER -> S3, S3 -> Redshift) 을 관리할 필요 없이 데이터 소스부터 최종 저장소까지 이어지는 하나의 파이프 라인만 관리할 수 있게 됩니다. How?  (https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)  적절한 data format과 원하는 ingestion period를 설정하여 Firehose delivery stream을 만듭니다.   conf["user_activity"] = { "DataTableName": "user_activity", "DataTableColumns": "user_id, app_id, activity_type, timestamp", "CopyOptions": "FORMAT AS JSON "s3://buzzvil-firehose/sample/user_activity/jsonpaths/user_activity_log-0001.jsonpaths" gzip TIMEFORMAT AS "YYYY-MM-DDTHH:MI:SS" ACCEPTINVCHARS TRUNCATECOLUMNS COMPUPDATE OFF STATUPDATE OFF", "jsonpaths_file": "buzzvil-firehose/sample/user_activity/jsonpaths/user_activity_log-0001.jsonpaths", } configuration = { "RoleARN": "arn:aws:iam::xxxxxxxxxxxx:role/firehose_delivery_role", "ClusterJDBCURL": "jdbc:redshift://buzzvil.xxxxxxxxx.us-west-2.redshift.amazonaws.com:5439/sample_db", "CopyCommand": { "DataTableName": sample_table, "DataTableColumns": conf[type]["DataTableColumns"], "CopyOptions": conf[type]["CopyOptions"], }, "Username": db_user, "Password": db_password, "S3Configuration": { "RoleARN": "arn:aws:iam::xxxxxxxxxxxx:role/firehose_delivery_role", "BucketARN": "arn:aws:s3:::firehose_bucket", "Prefix": "buzzvil/user_activity/", "BufferingHints": { "SizeInMBs": 64, "IntervalInSeconds": 60 }, "CompressionFormat": "GZIP", "EncryptionConfiguration": { "NoEncryptionConfig": "NoEncryption", } } }  2. Fluentd docker containers을 각각의 서버에서 세팅하고 실행합니다.  @type tail path /var/log/containers/buzzad/impression.json pos_file /var/log/containers/td-agent/impression-json.pos format none tag firehose.impression @type kinesis_firehose region us-west-2 delivery_stream_name "prod-buzzad-impression-stream" flush_interval 1s data_key message  3. Firehose에서 데이터를 잘 모아서 Redshift 문제없이 보내고 있는지 모니터링 합니다.  Pros?  빠르고 안정적인 데이터 전송이 가능합니다. 모니터링이 편합니다.  Cons?  Schema가 자동으로 바뀌지 않습니다.( Redshift의 Schema를 수동으로 일일히 변경해주어야 합니다.)     3) MySQL Asynchronous Loads를 통해 (Ads, Contents, Ad Provider, Ad Publishers) Why? 여러대의 RDS MySQL DB로부터오는 데이터간의 sync를 맞춰가며 Redshift로 데이터를 복제하기 위해서는 3가지의 테크닉을 활용해야만 합니다. (이 방법은 소개하고 있는 세 메인 루트 중에서 가장 매력도가 떨어지는 방법입니다..) How?  FULL_COPY  MySQL 테이블 전체를 복사해서 SQL insert를 통해서 Redshift에 복사합니다.     INCREMENTAL_COPY  이전에 복사한 가장 마지막 Primary key부터 시작해서 새로생긴 row들을 읽어서 Redshift로 복사합니다.     UPDATE_LATEST_COPY  이전에 복사한 가장 마지막 타임스탬프부터 시작해서 새로 생성되거나 업데이트된 row들을 Redshift로 복사합니다.(중복된 값은 삭제).    Pros?  데이터의 특징에 맞게 잘 조정된 방법입니다. binary log를 통한 Replication보다 훨씬 다루기 쉽습니다.  Cons?  MySQL을 잘 조정하기 위해 여러대의 서버나 lambda를 다루어야만 합니다. -> Redshift sync task를 위해서 안정적인 schema altering을 할 수 있을 만큼 Redshift의 ORM이 발전된 상황은 아닙니다..    어떤 데이터를 다루는지에 따라서 위에서 소개한 3가지 방법 중 어떤 방법을 활용해야할지가 달라진다고 할 수 있습니다. 예를 들어 Transactianl log 같은 데이터들의 경우에는 firehose를 통해 전달하는 방법이나 먼저 aggregate하는 과정을 거친 후에 Redshift에 저장하는 식으로 처리를 해야 합니다. 그리고 MySQL에 저장된 fact table같은 데이터들은 CDC (change data capture) sync method를 통해서 Redshift에 데이터를 전달하고 동기화를 하는 과정이 필요합니다. 버즈빌에서는 위에서 소개해드린 3가지 방법을 적절히 조합해가면서 BD 매니저나 애널리스트들이 서비스간 플랫폼간의 데이터분석을 쉽게 할 수 있는 데이터 환경을 구축하기 위해서 노력하고 있습니다.
조회수 860

Top Five Games Made in Seoul

 Based in a country seeing huge growth in its video game sector, Korean game studios have been releasing big hits in the past few years. As seen in our previous post, the Top Ten Things to do in Seoul for Gamers, Koreans of all ages have been diving headfirst into gaming culture. Mostly focused on digital gaming like mobile and PC, the gaming industry has been growing at an annual rate of 4.3% (Statista). Although the most popular games by far are MMORPGs, we tried to diversify the list for all types of players to enjoy.  MapleStory  MapleStory - Source: maplestory.nexon.net  MapleStory has been around for years and only continues to be a huge favorite in Korea and around the world. An extremely social game, it sees players work to improve their own character’s skills while chatting, looting and even getting married to others. The 2D element gives the game an almost retro vibe, even though it has been updated many times, including the release of a sequel. Create your avatar, choose your class and find out how to fulfill your quest by defeating the Black Mage.   Ragnarok Online  Ragnark Online - Source: mmoculture.com  You guessed it, another tried and true MMORPG. Based on a comic of the same name by Lee Myung-jin, this 3D game features a constantly changing timeline that players must interact and adapt with within the specific world. The key part of the game is choosing the “job” of your character. With that choice come make-or-break strengths and weaknesses that can determine the gameplay for you. Starting at 13 but growing to 50 classes, the choice is daunting but crucial as your job can change as well. Whether you want to try out the newest sequel, the mobile version, or even watch the animated TV series, Ragnarok Online is definitely one to check out.   Blade & Soul  Blade and Soul - Source: www.bladeandsoul.com  Developed by one of the most notable studios in Korea, NCSOFT, this fantasy martial arts game was only released in Western countries 2 years ago, but had been out in Korea and Japan since 2012. A super renowned character customization system gives the game an update from the more traditional fighting style games. There are four playable races that reference the four Chinese Symbols of Azure Dragon, Vermillion Bird, Black Tortoise and White Tiger. Definitely a must for fans of combat-driven games.   ANIPANG  ANIPENG - Source: anipang-for-kakao.en.softonic.com  Finally a change of pace! ANIPANG is a mobile puzzle game, and also the first Korean game to reach 20 million downloads. Filled to the brim with squishy animal faces, this match-3 style game can be enjoyed alone or by competing with friends. Whether it’s killing time waiting for the bus or just wanting to beat that one tricky level, ANIPANG can be played anywhere at any time.   Lineage  Linage - Source: mmogames.com  Rounding out this list is Lineage, a video game series released in the 90s and still receiving sequels and spin-offs to this day. Taking you back to medieval times, this game is one of the most successful MMORPGs to date. The realistic siege warfare and constant lore updates makes it a fun and addictive way to pass the time. The mobile release of the game broke records and had fans eager to play, so don’t miss out. 
조회수 46755

'영업'은 여러분이 생각하는 그런 일이 아닙니다

 우리 모두는 '영업직'이라는 말을 들으면 반사적으로 어떤 이미지를 떠올린다. 무더운 날씨에 넥타이를 동여매고 한 손에 자켓을 든 채 땀범벅이 되어 돌아다니고, 실적 압박에 마음고생하며, 무슨 일만 터졌다 하면 가서 고개숙여 사과하는 사람의 이미지. 사실 그렇게 틀린 건 아니다. 고급 외제차에 핸드메이드 스리피스 수트를 입고 환한 미소를 짓는 영업사원은 없으니까. 주변에 그런 영업사원이 있다면, 집에 옥장판이 필요하지 않는 한 멀리하는 게 좋다. 명함에 보석 이름이 써있거나 할 가능성이 높다.·대충 이런 느낌이고, 실제로 이런 느낌이다. 그렇기 때문에, 대부분 구직자들은 영업직군을 상당히 기피하는 경향이 있다. 사실 한국에서 '영업'이라는 단어가 휴대폰을 팔거나, 정수기를 팔거나, 보험을 팔거나...하여간 고객에게 찾아가 뭘 팔아야 영업이라는 인식이 있다. 물론 그게 아주 중요한 역할임에는 틀림없지만, 사실 꼭 그렇지만은 않다. 그래서 오늘은 영업이 무엇인가를 설명해보려 한다.1. 기업의 손과 발 A라는 회사가 있다. 뛰어난 기술력으로 기존 시장에 대파란을 불러일으킬 제품을 만들었다. 광고도 끝내주게 뽑았으니 이제 팔기만 하면 된다. A사 사장은 떼부자가 될 꿈에 젖어 주문 결제 목록을 확인했다. 하지만 주문 건수는 0건이었다. A사는 영업부가 없었기 때문이다. 아무리 좋은 것을 만들더라도, 그것이 왜 좋은 지 고객과 얼굴을 맞대고 설명할 사람이 없다면 아무런 의미가 없다. 이제 막 출시된 제품을 놓고 고객에게 먼저 연락이 와서 '제발 우리에게 이 물건을 팔아주십시오!'라고 말하는 일 따위는 절대로 일어나지 않는다. 아무리 뛰어난 기술과 제품도 제 스스로 구매자를 찾아가 돈과 바꿔오진 않기 때문이다. 이것이 뭐가 얼마나 어디에 좋은 지, 어떤 효과를 낼 수 있는 지 설명할 수 없다면 어떤 제품도, 어떤 서비스도 팔리지 않는다. 기술 영업이라는 직군이 생긴 이유도 바로 이것이다. 세상에는 생각보다 팔아야 할 것들이 많고, 그것들을 팔기 위해서는 영업사원의 부지런한 노력이 필요하다. 영업은 여러분이 생각하는 그 이상으로 중요한 직군이다. 머리로 아무리 좋은 아이디어를 떠올리더라도, 실제로 이행할 손과 발이 있어야 의미가 있는 것이다. ·반짝이는 아이디어에는 금손이 필요하다.2. 사과하는 기계가 아니라 기업의 얼굴이다 기획자, 마케터, 디자이너, 개발자, 경영지원팀....이런 직군은 사과할 일이 거의 없다. 있어도 회사 내부적인 일을 해결하기 위한 것이 대부분이다. 개발자나 디자이너가 고객에게 가서 머리숙여 사과하는 광경을 본 적이 있는가? 자기 회사에서 그런 광경을 본 사람이 있다면 당장 도망치라고 말하고 싶다. 다음 차례는 당신이 될 테니까. 내가 하지도 않은 일을 가지고 누군가에게 사과하러 간다는 건 분명 즐거운 일은 아니다. 잘못은 다른 사람이 했는데, 왜 가서 굽신거리는 건 나인가. 당연히 불합리한 일이다. 그러나 제품이나 서비스를 팔기만 해서는 기업이 제대로 돌아가지 않는다. 사후지원과 고객만족 관리도 영업이 하는 중요한 일 중 하나이다. CS부서를 따로 둘 정도로 규모가 큰 기업이라도, 어지간한 일은 영업사원 선에서 해결이 된다. 영업사원에게 단정하고 정돈된 옷차림을 요구하는 것도 기업의 얼굴로서 해줘야 할 일이 있기 때문이다. 실제로 증권사 시절 겪은 일이다. 나의 고객 중 한 명이 고령으로 세상을 떠났다. 상당한 자산가였고, 잘 찾아오지 않는 자식들이 있었다. 그리고 그들은 고객이 생전에 구매한 채권을 가지고 시비를 걸기 시작했다. '앞으로 살 날이 몇 년이나 남았다고 10년 만기 채권을 사게 한 거냐' '노인에게 이런 걸 팔다니 제정신이냐' 등등, 온갖 매도의 말이 전화상으로 울려퍼졌다. 기록을 찾아보니, 그 채권을 사고싶다고 먼저 제안해 온 건 그 고객이었다. 일단은 검은 넥타이를 매고 장례식장으로 향했다. 사실 금융회사 영업직으로 일하게 된다면 심심찮게 보는 장면이긴 하지만, 재산 분할을 놓고 가족들이 아귀처럼 서로를 물어뜯는 광경은 썩 보기 좋은 일은 아니다. 일단 가자마자 멱살을 쥐어잡히기도 했고. 일본에서는 사망 사실을 인지한 순간 증권사가 고객의 모든 계좌를 동결시키고 상속과 재산분할에 대한 협의가 끝날 때 까지 아무 것도 할 수 없게 만든다. 그들은 바로 그게 불만이었던 것이다. 담담하게 설명을 시작했다. 일단 망인이 그 채권을 사겠다고 한 것은 채권 발행 주체가 신용도가 매우 높은 기업이었고, 은행 이자율과 비교해서 상당히 높은 수익을 얻을 수 있기 때문이었으며, 현재 계좌가 동결된 상태이지만 상속과 재산 분할에 대한 합의가 끝나는 대로 합의된 비율에 따라 각 상속자의 계좌로 이관될 것이다. 연로한 분에게 10년 만기 채권을 팔게 된 점은 윤리규칙상 아무런 문제가 되는 일은 아니나, 가족들에게 불편을 끼쳐 매우 죄송하다. 그리고 나는 고객이 타계하기 전 나에게 감사의 의미로 써주었던 손편지를 꺼내 가족들에게 건넸다. '제게도 할머니 같은 분이셨습니다.' 이 한 마디로 모든 불만은 사라졌다. 그 날 제일 슬퍼하던 건 가족들이 아니라 오히려 나였을지도 모르겠다. 만약 CS부서에서 이 일을 전화로 해결하려 했다면 FINMAC의 중재까지 받아야 하는 일이 되었을 것이다. 비록 사는 사람과 파는 사람으로서 관계를 맺고 있지만, 실제로 얼굴을 마주보고 대화를 나눈다는 것의 힘은 생각보다 강력하다. 영업사원은 편의점 직원이 아니다. 말 한 마디 없이 물건을 받고 돈을 내기 위해 영업사원을 부르는 사람은 없다. 자연스레 주변 얘기도 하고, 궁금한 것에 대해 물어보고, 앞으로의 경제 상황이 어떻게 돌아갈 지 대화를 나누다 보면, 싫더라도 유대감이라는 것이 생긴다. 그리고 그 관계는 굉장히 다양한 곳에서, 생각지 못하게 활용되기도 한다. 사과는 아무나 할 수 있는 게 아니다. 오로지 기업의 얼굴로 활약하는 영업직만이 할 수 있는 일이다.3. 대부분의 영업사원은 실적의 노예가 아니다 특히 보험이나 정수기, 카드처럼 단기적인 실적에 집중하는 회사에서 이런 일이 많다. 물론 증권사도 마찬가지지만, 화이트보드에 이름이나 1과, 2과, 3과 하는 식으로 부서를 죽 써놓고, 그래프를 그리거나 숫자를 써놓거나 하며 독려라는 이름의 압박을 넣는다. 일본에서는 이런 할당량을 '노르마(Norma)'라고 하는데, 증권사 중에서는 노무라 증권이 사람을 개미핥기처럼 훑어내기로 유명하다. 오죽하면 노르마 증권이라고 하는 별명도 있을 정도로. 여기서, 여러분이 흔히 떠올리는 대기업에 그런 영업사원의 이미지가 있는 지 한 번 생각해보자. 그리고 그 회사들에 영업부가 있는지 생각해보자. 물론 내부적으로 실적의 압박이 있는 건 어쩔 수 없는 일이다. 어떤 기업도 '이만큼이면 많이 벌었지 뭘'하면서 만족하지 않는다. 기업의 최전선에서 활동한다는 건, 탐욕의 최전선에서 움직이고 있다는 것과 다르지 않은 말이다. 그 탐욕을 온 몸으로 받아내는 일이 쉬울 리는 없다. 하지만 카드사나 보험사 영업직처럼 사람을 쥐어짜내는 건 생각보다 그리 흔하지 않다. 이런 곳은 애초에 위촉직이니 계약직이니 하면서 자기네 사원으로도 안 쳐준다. 동료 내지는 같은 그룹의 소속원으로서의 유대감조차 필요없다는 뜻이다. 오히려 일반적인 기업의 영업사원은 만화 '미생'에 가깝다. 회사에 필요한 거래를 위해 밤을 새며 일하기도 하고, 전국을 돌며 쪽잠을 자기도 하지만 만화 속 인물들이 괴로워하는 건 일과 실적이 아니라 사람과 직장 내 파벌 같은 것들이 원인이다. ·현실의 많은 영업사원은 이쪽에 더 가깝다.4. 모든 부서의 교집합 회사에서, 제품이나 서비스를 만들 때는 다양한 과정을 거친다. 지금 보고 있는 더 팀스 서비스를 예로 들자면, 기획파트에서 생각한 기획안이 백엔드 개발자에게 넘어가 기능적인 기반을 짜고, 디자이너가 디자인을 하면, 프론트엔드 개발자가 실제로 어떻게 나타낼 것인가를 구현한다. 마케팅파트에서는 이 기획에 대한 브랜딩이나 마케팅 방법을 생각하고, 그렇게 모든 사람들이 만들어 낸 서비스를 내가 가져다 영업하고 있다. 영업을 하기 위해서는 그 과정의 모든 것을 알면 알수록 좋다. 현장에서 무리한 요구를 하거나 흰구름 잡는 소리를 해도 대응이 가능하기 때문이다. 그래서 모든 부서의 교집합이라고 할 수 있다. 우리는 기술영업, 제품영업 식으로 굳이 분류를 나누지만, 모든 영업은 사실 하나다. 제품을 판다고 해서 기술을 모를 순 없다. 하다못해 정수기를 팔래도 이 정수기가 뭐가 좋은 지 알아야 하는 것이다. 여러 사람들이 힘겹게 만든 것을 그저 팔기만 하면 되는 일이지만, '그저' 팔기만 하기 위해서도 상당히 많은 노력이 필요하다. 그래서 영업현장과 동떨어진 기획안은 반드시 망하고(안 팔아주니까), 기획의도를 무시한 영업은 나중에 큰 문제에 휘말린다(대충 파니까). 기업의 모든 부서가 쥐어짜낸 정수를 머릿속에 담고, 다른 사람 앞에서 퍼포먼스를 하는 것이다. 그래서 난 영업을 기업의 종합예술이라고 생각한다.·말하자면 이런 느낌이다.5. 스타트업의 영업 대부분의 스타트업은 영업을 크게 중요하다고 여기지 않는 것 같다. 사실 크게 틀린 일은 아니다. 영업부를 두어가면서 뭘 팔 정도면 스타트업 수준은 아니지 않을까. 하지만 영업에 힘을 쏟는 걸 터부시하는 듯한 느낌을 가끔 받을 때가 있는데, 이건 확실히 틀렸다. 현장에서 영업사원으로 일하던 사람의 관점에서 말하는 것이지만, 스타트업 업계에서는 영업을 '낡은 관습'이라고 생각하는 것 같은 느낌을 받는다. 굳이 우리가 만든 서비스를 돌아다니면서 팔지 않아도, 정말 좋은 것이니까 누군가 사줄 것이라는 믿음이 있는 것 같다. 온라인이나 기타 마케팅 채널은 충분히 활용하고 있으니까. 사실 처음 스타트업에서 일하기 시작할 때, 초반 2개월 정도는 '스타트업은 샤이한 사람들만 하는 건가?'하는 의문이 들 정도였다. 전혀 그렇지 않다. 굳이 영업부나 영업팀을 둘 필요까진 없더라도, 반드시 누군가는 그 직무를 소화해야 한다. 회사의 대표나 마케팅 팀이 겸업하는 형태로라도, 영업은 무조건 필요한 것이다. 좋은 마케팅 수단을 이용해서 이미지나 브랜드를 알리는 것 역시 필수적인 일이다. 하지만 좋은 마케팅 수단은 영업직군이 해야 할 일을 줄여줄 순 있어도 완전히 대체할 순 없다. 현장의 사람들이 느끼는 것들을 체크하고, 직접 발로 뛰며 브랜드를 알리는 것 만큼은 꼭 필요하다. 여차할 때 전화 걸어 '어 그거 어떻게 되고 있어요?'같은 질문을 걸 수 있는 사람은 있어야 하지 않는가. 나의 경우도, 부족하나마 기획 회의에 참여하기도 하고, CS업무를 맡거나, 경영지원 업무를 동시에 하면서 영업 직무를 수행하고 있다. 아직까지는 영업파트로서의 일이 크게 필요하지 않지만, 그래도 사람이 있고 없고는 다를 것이라고 생각하고 있다. 외연 확장이 중요한 만큼, 전담해서 할 사람도 필요할 것이다.·스타트업의 영업부서는 배우자 같다. 어릴때는 있으면 좋고, 없어도 크게 아쉬울 것은 없다.그리고 나이가 들면 그 좋은 점을 알게 된다. 영업에 대해서 죽 말했지만, 결론은 여러분이 생각하는 것처럼 무작정 힘들고, 짜증나고, 실적 압박에 목이 조여오는 그런 직군은 아니라는 것이다. 만약 그랬다면 다른 직군보다 돈을 많이 줘서 사람을 끌어모았거나, 아예 다른 직무로 대체했을 것이다. 영업부가 없는 회사를 본 적 있는가? 가장 흔하다는 것은 가장 필요하다는 것과 같은 말이다. 어느 정도 규모 이상에서,  영업사원이 필요없는 회사를 난 한 번도 본 적이 없다. 누구나가 구한다는 것은 누구나가 필요로 한다는 것이다. 물론 독특하고 더 재미있을 법한 직군은 세상에 많다. 하지만 영업도 나름의 재미와 보람이 있다. 이 재미와 보람을 느끼는 법에 대해서는 다음에 쓰려고 한다. 개발자, 디자이너, 기획, 마케팅...잠깐 생각해도 세상엔 수많은 직군이 있다. 그리고 세상의 모든 일은 노동력을 제공하고 대가를 받는다는 공통점을 가지고 있다. 노동은 분명 신성하지만, 즐겁고 행복한 것은 아니다. 그래서 노동을 하면 돈을 받는 것이다. 영업이 힘든 만큼 다른 직군도 저마다의 힘든 점이 있다. 바꾸어 말하면, 영업은 다른 직군이 힘든 만큼 힘든 일이다. 세상에 합법적으로 편하게 버는 돈은 복권밖에 없다. 여러분이 다른 직군을 알아보고 생각하는 만큼, 영업직군에 대해서도 진지하게 고려하는 시간을 가졌으면 좋겠다.#더팀스 #THETEAMS #영업 #인사이트 #경험공유 #직무분석
조회수 969

옛날 얘기

내가 7~8살이던 시절에는 부모님이 사주신 닌텐도 고전 게임기를 즐겼고(89년도) 마리오, 동키콩 등의 초기 버젼의 게임들을 밤 늦게까지 했다. 당시 교육 분위기가 그랬는지 부모님이 개방적이었는지 모르겠지만 내가 게임기를 사달라고 하지도 않았는데 부모님은 게임기(패밀리)와 수백가지 게임이 들어있는 게임팩을 선물해주셨고 아마도 맞벌이로 저녁 늦게 귀가하셔서 그런지 나는 하고 싶은 만큼 게임을 했었다. 외동이라 형제 자매와 싸울 일도 없었고.당시에는 울트라맨 피규어나 후레시맨 합체로봇, 부메랑이라는 만화에서 나온 건전지 자동차, 레고가 유행했고 부모님은 내가 갖고 싶은 것을 잘 사주셨다. 게임을 하거나 조립식 장난감을 가지고 혼자 의성어를 내면서 놀기도 했다. 조립하는 것을 좋아해서 레고나 건담 피규어나 미니 자동차, 과자 상자에 들어있는 조악한 조립식 장난감을 열심히 조립해서 혼자 전쟁놀이를 했던 건데 어머니는 혼자 노는게 짠했다고 하신다.초등학교 2학년 때까지는 연탄 보일러를 떼는 대방동 골목길 주택에 살았다. 겨울이면 아침마다 아버지가 보일러 연탄을 바꿔놓고 출근하셨다. 어머니는 동네에서 피아노 학원을 운영하셨다. 나는 하교해서 어머니 학원에 가서 피아노를 배우거나 동네 쌀집, 통닭집, 미용실에 가서 놀거나, 친구네 집에서 페르시아의 왕자 같은 게임을 하거나 했다. 줄로 감아서 던져서 돌리는 팽이와 딱지를 가지고 놀거나 구슬 치기도 했다.초등학교 3학년 때 서초동으로 이사왔는데 그 때는 별 생각 없이 따라왔지만 나름 좋은 학군을 따라 적당한 시기에 전학을 온 것이었고 어머니는 자식의 학군을 위해 한 동안 꽤 먼 길을 출퇴근 하시다가 학원을 정리하셨다. 그 무렵 집에 컴퓨터가 놓였다. 486 컴퓨터였을 것 같은데 워크래프트를 했던 기억이 난다. 서이초등학교에 다녔는데 혼자 축구공이나 장난감 석궁, 부메랑 같은 것을 가지고 가서 아이들이 있으면 같이 공을 차고 없으면 혼자 벽에 공을 차면서 놀다가 석양을 보면서 귀가하곤 했다. 평발이라서 오래 뛰면 발이 아팠는데 아파서 못 걸을 때까지 뛰어다녔다.슈퍼패미컴이라는 게임기를 가진 친구네 집이 또래들의 아지트가 되어 매일 그 집에서 모였다. 마리오카트나 드래곤볼 같은 콘솔 게임을 하다가 컴퓨터로 멀티플레이 탱크 게임을 하다가 삼국지를 하다가 대전 격투 게임을 지칠 때까지 했다. 초등학교 때의 여가는 축구와 게임이 전부였던 것 같다.초등학교 5~6학년 때는 방과후 특별활동으로 MS-DOS와 GW-BASIC 등의 프로그래밍을 배웠다. 94~95년도 인 것 같은데 당시엔 5.25인치 플로피 디스크를 이용했다. MS가 뭔지도 DOS가 뭔지도 몰랐고 사실 프로그래밍을 제대로 배웠던 기억은 없고 선생님 몰래 고인돌 같은 게임을 했다. MS가 마이크로소프트라는 회사였고 DOS를 앞세워 당시 OS 시장에서 IBM과 애플 등과 전쟁을 치르던 중이라는 것도 20년 가까이 지나서 알았다.중학교 때는 오락실도 열심히 갔다. 철권과 킹오브파이터, 1942, 매탈슬러그를 했다. 가스렌지에 불꽃을 일으키는 장치를 오락실 기기 동전 넣는 곳에서 누르면 동전을 넣지 않아도 플레이할 수 있었는데 몰래 하다가 걸려서 혼난 적도 있다. 겁이 많아서 나쁜 짓은 별로 안 했던 것 같은데 게임은 너무 하고 싶어서 그랬나보다. 독서실 간다고 하고 오락실을 갔던 적도 많은데 한 번은 아버지에게 걸렸는데 크게 혼내지 않으셨던 게 기억이 난다.컴보이라는 휴대용 게임기를 항상 휴대하고 다니면서 다 깬 게임을 또 하고 또 하고 했다. 재미있어서라기 보다는 부모님이나 친구들과 함께 있는게 아닐 때 혼자 시간을 보낼 수 있는 방법이 마땅치 않았다. 만화책 대여방, 비디오 대여방에서 만화책과 비디오를 대여해서 보곤 했다. 당시에 3.5인치 디스크 5장~10장에 달하는 RPG게임이나 연애 시뮬레이션 게임이 유행했고 인터넷 시대 이전에 PC통신의 시기가 있었는데 나는 당시 유행하던 커뮤니티나 채팅 보다는 게임이 재미있어서 PC통신은 자료실 정도만 이용했던 것 같다. 중학교 2학년 무렵 플레이스테이션을 가진 친구네 집을 매일 들러서 늦게까지 놀다가 귀가하곤 했다. 철권이나 파이널판타지7을 플레이했다.중3 때 스타크래프트가 출시되었고 PC방이 유행하기 시작했다. 지금과 같은 PC방 분위기가 아니라 사무실 같은 곳에 컴퓨터만 많이 갖다놓은 느낌이었는데 시간 당 2천 원인가 3천 원인가 중학생에게 비싼 가격이어서 느긋하게 게임하지 못하고 한 두 시간 바짝 하고 헤어지곤 했다. 난 중 2~3때 항상 의기소침해 있었고 학교에 가기 싫었고 부모님과는 말도 잘 안 했었는데 어머니는 그 때 속상했다고 하신다.고1 때는 써클 활동으로 '전산반'에 가입했는데 3차에 걸친 면접과 10:1에 달하는 경쟁율이었다. 100명 정도가 지원을 해서 10명 정도를 뽑았다. 실력을 본다기 보다는 이 써클에 얼마나 들어오고 싶은지 열정을 보여야 가입을 할 수 있다는 게 전통이었는데 지금도 전산반 선후배 동기들과 친하게 지내는 것을 보면 그런 전략이 먹히긴 했던 것 같다. 그 전에는 축구나 게임 말고는 뭔가 열심히 했던 것이 없던 것 같은데 이 써클은 일단 가입부터 빡세고 선배들이 무서워서 열심히 활동을 하게 됐다.방과후에 매일 남아서 축제나 체육대회 준비를 하거나 프로그래밍, 3D 모델링, 에니메이션 툴 등을 배웠고 선배들을 만나면 복도가 울리도록 크게 인사를 해야 했다. 나는 그게 싫지가 않았는데 어느 정도의 규율과, 축제라는 목표와, 프로그래밍/그래픽 툴 공부라는 성장과, 매일 모이고 크게 인사를 하면서 느끼는 소속감이 좋았던 것 같다. 그리고 반 친구들보다도 써클 친구들과 동고동락을 하게 되다보니 더 친하게 지냈다.나는 MAX로 3D 에니메이션을 만들었는데 아주 어설픈 실력이었겠지만 내가 혼자서 어떤 결과물을 만들어냈다는 것에 뿌듯했었다. 데스크탑 컴퓨터를 부품별로 사서 직접 조립했었고 친구네 집 컴퓨터가 고장났다고 하면 출장 수리를 해주고 짜장면을 얻어먹기도 했다. PC용 건반 게임인 비트매니아가 유행했고 오락실에서 펌프나 이지투디제이 같은 게임을 잘하는 친구가 멋있어 보였다. 2학년 방학 때는 학교 전산실을 쓸 수 있었는데 전산반 친구들과 거의 매일 스타크래프트를 하면서 친목을 다졌다.고등학교 2학년 여름방학부터 공부를 하기로 마음먹어서 원래 반에서 10~15등 하던 등수가 3학년 부터는 전교 2~3등까지 올랐다. 그 시기에 메가스터디의 인터넷 강의가 생겼는데 학원에 가지 않고 인터넷 강의를 2배속으로 들으면서 공부했고 나에게 잘 맞았다. 공부를 한참 하던 시기에 반에서 나에 대해 뒷담화를 하는 친구가 있었는데 뭔가 이 상황을 정리하지 않으면 공부에 집중할 수 없을 것 같았고 내가 선택한 방법은 한 번 주먹다짐으로 결판을 내는 것이었다.중학교 때 자존감이 낮기도 하고 외소하고 겁도 많았던 시기에 나를 괴롭히던 친구들이 있었고 고등학교 와서는 친구들과 잘 지내고 성적이 오르면서 자존감이 높아져 있었는데 이 히스토리를 알고 있고 아니꼽게 보던 친구가 비아냥 거리는 소리가 간간히 들렸고 한 동안 참고 피하다가 어느 날 내가 날을 잡아서 시비를 걸고 치고 받았다. 내가 겁이 많은 성격인 건 여전했고 싸움을 해봤던 사람도 아니었지만 이 상황을 어떤 식으로든 해결을 해야한다는 생각이 강하게 들었다나는 그 시기를 내 삶에서 용기를 내어 뭔가를 깬 최초의 시기라고 생각하는데 자연스러운 상태라면 내가 절대 하지 않았을 법한 일을 행하기로 선택을 했고, 그 결과 그 친구는 뒷말을 하지 않았고 나는 내가 할 일에 집중할 수 있었다. 화가 나서 싸운 게 아니라 문제를 해결하기 위해 나름의 해결책을 실행했다. 부연하자면 내가 그 친구를 때려서 겁을 주거나 한 건 아니고 덩치가 나보다 컸기 때문에 내가 많이 맞았는데, 나에 대해 '건드리면 성가시다' 정도로만 인지시켜도 충분했다. 고2 담임선생님은 서울 안에 대학을 못 갈것이라고 했는데 내신과 수능이 엄청 올라서 연세대 공대에 02학번으로 입학했다.자존감이 올라 있었기 때문에 대학교 1~2학년 때 굉장히 많은 친구들을 사귀었고 동아리 활동을 했고 수백권의 책을 읽었고 연애를 했고 여러 공모전에 도전해 수상도 했다. 대학 때는 공강 때마다 당구 대신 레인보우식스라는 FPS를 친구들과 자주 했고 클래식 기타 동아리 활동도 했다. 동아리 연주회나 여름 MT에 가고 조인트 동문회를 하고, 주량 모르고 선배가 주는 술을 받아 마시다가 필름이 끊기는 등 성인이 되어 해볼 수 있는 것들을 최초로 경험했다. 아직도 생각나는 당시의 경험들은 내가 그래도 풍성한 대학생활을 했구나 하고 안도하게 해준다.2학년을 마치고(2004년) 아버지가 하시던 휴대폰 대리점에 도움이 필요하기도 하고 내가 어깨 수술을 받아 거동도 불편해서 휴학을 하고 대리점에 앉아 책을 많이 읽었다. 대리점 컴퓨터가 전산 업무 빼고는 할 수 없었고 손님이 뜸한 지점이었기 때문에 시간이 많이 남았는데 학교 도서관에서 책을 엄청 빌려와서 하루 종일 읽었다. 줄을 칠 수 없으니 컴퓨터에 책 내용을 요약 타이핑하면서 읽었는데 그 때 내용을 파악하고 정리하는 실력이 늘었던 것 같다.복학하지 않고 그 해 겨울에 병역 특례 회사에 입사해서 22살에 처음 회사 생활을 시작했다. 그 이후로 계속 개발을 했고 외주 개발도 하고 스타트업들의 개발팀장이나 CTO를 맡으면서도 복학을 안 하다가 2010년에 복학해서 2012년에야 졸업했는데 항상 일이 가장 중요했기 때문에, 학교 수업은 교수님들께 양해를 구하고 일주일에 한 두 번 잠깐 씩 가서 발표를 하거나 프로젝트 제출을 해서 딱 졸업을 할 수 있을 정도의 학점을 받았다.집에서 학비 지원을 받기 어렵기도 했고 일을 하는데 졸업장이 얼마나 의미 있을까 싶어 복학을 안 할까도 진지하게 고민했었는데 장학금과 내가 번 돈으로 학비를 낼 수 있었기 때문에, 그리고 결혼을 한다면 고졸 보다는 대졸이어야 허락을 받기 쉬울 거라는 생각에 졸업을 했다. 이제 회사 생활은 그만하고 사업을 해야겠다는 생각에 2013년에 인썸니아 개인사업자를 냈다. 정부지원사업 제출 마감 전날인데 급하게 사업자를 내야 했고, 그 고민을 했던 시간이 새벽 4시였기 때문에 꽤 어울리는 이름이라고 생각했다.
조회수 1153

[바풀] 보노보노들을 위해

나는 학교 다닐 때 한 번도 과외를 받아본 적이 없다.일대일로 누군가에게 무언가를 배우는 행위가 '과외'라면 - '과외'의 사전적 정의는 '정해진 과정 이외에 하는 공부'이긴 하다 - 열아홉에서 스무 살로 접어들 때 실용음악학원에 가서 드럼을 배웠던 것이 전부다.대신 가르치는 일은 여러 번 해봤다. 대학생 때는 주로 중고등학생 과외를 했고, 휴학하고는 학원에서 초중생을 가르쳤다. 첫 번째 직장을 관두고 그다음을 위해 공부를 할 때도 초등학교 방과후교사를 하면서 아이들을 가르쳤다. 전문가가 아니었고 전업 교사도 아니었다. '가르치는 일'에 대한 사명 때문이기보다는 '내가 할 수 있는 일 가운데 오랜 시간을 투자하지 않고 돈을 벌 수 있는 일'이기 때문에 했다는 사실을 부정할 수 없다. 그렇다고 해서 수업도 대충 한 건 아니다. 시작한 계기가 무엇이든 간에 내가 무언가를 알려주고 설명했다면 상대방이 그것을 알아듣고 이해해야 의미가 있으니까 열심히 했고, 성의를 다했고, 특별히 더 많은 관심과 더 자세한 설명이 필요한 아이들에게는 어떻게 더 가르쳐줘야 할지를 고민했었다.그렇다고 해서 그 일이 적성에 맞는 건 아니었다. 과외보다는 학원이나 방과후학교에서 여럿을 한꺼번에 가르쳐야 할 때 더 힘들었는데, 아이들을 하나하나 붙잡고 가르쳐줄 수 없다는 점이 특히 그랬다.십 수명의 아이들이 일제히 나 하나를 보고 있고, 특정 문제를 설명하는 사람은 나 하나에 내가 설명하는 방식도 일단은 하나인데, 아이들의 표정을 살펴보면 어떤 아이는 이미 설명이 끝나기도 전에 알아 들었지만, 대부분의 아이들은 설명이 끝나도 여전히 알아듣지 못한 것이 명백했다. 그렇다고 해서 마지막 한 명이 알아들을 때까지 다르게 설명하고 반복해서 설명하는 건 불가능하다. 이미 알아들은 아이들이 있기 때문이다.당시 본래 학년보다 한 학년 낮춰 방과후수업을 듣는 남자아이가 하나 있었는데, 특히 기초가 많이 부족해서 다른 아이들이 문제를 스스로 풀어보는 동안 최대한 일대일로 설명도 해주고 해 봤지만 한계가 있었다. 나름대로는 할 수 있는 걸 다 했는데도 아이가 여전히 모르고 있다는 사실을 깨달았을 때는 사실 기운이 좀 빠졌다. '내가 이만큼 설명했는데도 모르다니!'의 의미가 아니라, '아, 이 친구는 앞으로 점점 더 어려워지겠구나...' 하는 안타까움 때문이었다. 따로 붙잡고 정말 인내심 있게 처음부터 하나하나 가르쳐주지 않으면 일반적인 수업을 전혀 따라갈 수 없을 텐데, 그럼 점점 더 교실에 앉아 있는 시간이 괴롭겠구나 하는 생각이 들어 안타까웠다. 그럼에도 불구하고 나는 점점 더 그 아이에게 할애하는 시간을 줄여가고 있었다. 끝까지 책임져 줄 수 없었기 때문에 포기하고, 다른 아이들에게 하나라도 더 알려주자는 마음을 나도 모르게 먹었던 것 같다.이제는 더 이상 누군가를 가르치는 일을 하지 않는다. 남은 것은 이제 배우는 일뿐이다.그런데 세상의 모든 일은 조금씩 연결이 돼 있는 건지 - 그렇다고 믿는다 - 지금 하는 일도 예전의 그 경험들과 무관하지 않다. 내가 일하고 있는 회사 바풀은 에듀테크 기업이다. 에듀테크란 교육에 기술을 접목한 것이고, 교육의 문제를 기술로 풀어나가는 것이다. 요즘 보면 기존에 오프라인이나 PC로 하던 것을 고스란히 모바일로 옮기기만 하고도 에듀테크라는 이름을 부여받는 경우도 있지만, 진짜 에듀테크는 새로운 기술로 새로운 방식의 공부방법을 제시하고 그를 통해 궁극적으로는 교육문화를 바꿔나가야 할 사명이 있다고 믿는다.바풀은 2012년 3월 바로풀기라는 공부질문앱을 출시해 지금까지 무료로 운영해오고 있고, 올초에는 바로풀기에도 곧 적용될 '문자인식(OCR | Optical Character Recognition)' 기술을 활용해 영어 지문을 촬영하면 사전 검색을 해서 자동으로 단어장을 만들어주는 바로단어장을 내놓기도 했다.그리고 지난 3월 말부터는 바풀공부방이라는 채팅과외앱을 서비스하고 있다. 바풀공부방이 나오기 전에도 과외앱들은 많았지만 기존의 과외앱들은 크게 2가지로 나뉜다.- 과외를 중개해주는 앱- 동영상 강의를 시청취하는 앱과외를 중개하는 앱은 정확히는 과외중개앱이라고 불러야 하고, 동영상을 서비스하는 앱은 비록 그것이 맞춤 동영상이라고 해도 과외라 부르기에는 무리가 있다. 과외를 하는 이유는 일대일로 쌍방향 대화를 통해 배울 수 있기 때문이다. 그런 의미에서 바풀공부방은 우리나라에서는 현재 유일한 진짜 과외앱이다. 학생들이 실제로 앱에서 과외를 받기 때문이다.앱에서 어떻게 과외를 받을까?카톡 하듯이 채팅으로 한다.학생 - 공부하다가 모르는 문제가 나오면 사진을 찍어 공부방 채팅창에 올린다.선생님 - 풀이해주고 필요한 개념을 설명해준다.(곧바로 터치펜을 이용해 풀거나 노트에 풀이해 사진을 찍어 공유하는 방식)학생 - 설명을 들어도 잘 모르겠다면 또 질문한다.선생님 - 설명을 해도 모르는 건 관련 개념이 부족한 거니 관련 개념을 설명한다.학생 - 설명을 듣다 보니 그 설명 중에 또 모르는 부분이 생긴다.선생님 - 이렇게 설명해서 못 알아들으니 저렇게 설명한다.학생 - 이제 알겠다고 생각해서 알겠다고 한다.선생님 - 일단 알겠다고 하고 보는 학생도 많이 만나봤으니 정말 아는지 응용문제를 내준다.학생 - 정말로 푼다.이런 식이다. 물론, 완전히 이해한 게 맞는지 확인하려고 제출한 응용문제를 못 푼다면 다시 이전 단계로 돌아가게 된다. 그래서 경우에 따라서는 한 문제를 완전히 푸는데 한 시간이 넘게 걸리기도 한다.더구나 채팅이기 때문에 일방적으로 수업이 진행될 수가 없다. 카톡을 생각해보면 상대방이 메시지를 확인하지 않는다거나 읽고도 대답하지 않는데도 혼자서 대화를 하는 것이 불가능하다는 사실을 쉽게 알 수 있다.간혹 이렇게 설명하면 글자를 언제 다 치고 있어? 라고 말하는 분들이 있는데, 요즘 학생들은 생각보다 채팅을 훨씬 더 편하고 익숙하게 사용한다. 수학의 경우는 텍스트보다는 그림이 더 많기도 하고.선생님들은 누굴까?교재가 없어도 수업이 가능하다면 말 다 한 것 아닌가.바풀공부방이 기존 과외와 다른 점은 정해진 교재가 없다는 점이다. 학교든, 학원이든, 심지어 과외도, 대개는 교재를 정해놓고 진도를 나가는 방식으로 수업을 한다. 진도는 대개 가장 늦게 따라오는 학생이 아니라 가장 잘 따라오는 학생, 많이 양보해도 웬만큼 따라오는 학생들을 중심으로 나간다. 혹은 전체 목표를 정해놓고 무조건 쪼개서 조금씩 나간다거나.하지만 바풀공부방은 대부분의 학생들이 공부하다가 모르는 문제가 생기면 질문을 하는 것에서 시작한다. 학교나 학원에서 배웠지만 혼자서 다시 문제를 풀어보니까 잘 모르겠다 싶은 것, 바로 지금 궁금한 것을 질문한다. 그러면 선생님 입장에서는 이거 난감하다. 언제, 어떤 질문을 할지 모르는 상태에 웬만큼 준비가 돼 있어야 하니까.천재 수학자도 풀지 못하는 문제가 있다는데, 바풀공부방 선생님들은 어떻게 이 상황에 대처가 가능하냐면 경험이 풍부하기 때문이다. 중고등학교 수학 문제는 대개 유형이 있다. 처음 접하는 문제라도 비슷한 유형을 많이 가르쳐봤다면 웬만큼 소화할 수 있다.바풀공부방 선생님들은 대학생이 거의 없고 대부분 전현직 학원 강사이거나 현재 공부방을 운영 중인 공부방 원장이거나 오랜 기간 교직에 몸담았던 퇴직교사이거나 교사 자격증까지 따고도 출산과 육아로 경력이 단절된 경단녀로 이루어져 있다. 짧게 하고 관둘 가능성이 적은, 전업/전문 선생님들인 거다.써본 학생들의 반응은 어떨까?화 안 내고 친절한 선생님을 그토록 원했을 줄이야.서비스 초기 학생들의 반응을 보며 의외였던 것 중 하나가 '선생님이 정말 친절해서 좋아요' '계속 질문해도 화 안 내고 끝까지 자세하게 설명해주니까 계속 질문할 수 있어요'였다. 사실 우리는 내심 '스마트폰으로 하니까 정말 편해요', '내가 원하는 시간에 할 수 있어서 좋아요' 같은 반응이 훨씬 더 많을 거라 생각했는데 학생들의 만족도를 표시하는 키워드는 '친절'이었다.이런 반응은 그동안 중고등 학생들이 '선생님이 불친절하다'라고 느껴왔거나 '선생님은 불친절할 것이다'라고 예상해왔거나 '선생님이 화를 내지 않을까' 불안했다는 것을 뜻하는 것이다.이렇게 쉬운 걸 물어봐도 되나?이렇게 쉬운 걸 물어본다고 다른 사람들이 흉보지 않을까?선생님이 바빠 보이시는데 자꾸 물어봐도 되나?지금쯤이면 이해가 안 돼도 이해되는 척해야겠지?이렇게 설명 듣고도 이해 못하면 선생님이 화내시겠지?그런데 채팅으로 질문하니까 일단 선생님의 표정이 보이지 않으니까 눈치 보지 않고 얼마든지 물어볼 수 있고 물어보면 물어보는 대로 자세하게 설명해주시니까 학생들의 만족도가 높을 수밖에 없는 것 같다. 서비스 시작한 지 이제 100일 정도 됐는데 4주 수업 재결제율이 무려 83%에 이른다.내가 다니는 회사이기 때문에, 나에게 월급을 주는 회사이기 때문에 이러고 있는 게 아니다. 그냥 시간 때우고 돈 벌러 다니는 회사라면 이런 글을 쓰지 않을 것이다. 나는 진심으로 우리 서비스가 잘 되면 학생들이 좀 더 행복해질 수 있을 거라고 믿는다.공부에 관심이 없고, 공부가 하기 싫은 사람은 공부를 안 하고 다른 걸 찾아서 하면 된다.하지만 공부를 하고 싶고, 잘 하고 싶은데 도와주는 사람이 없거나, 제대로 도움을 받을 만한 형편이 안 되는 학생들에게는 누군가 있어줘야 하지 않나? 근데 학원은 완전한 해결책이 아니고, 일반적인 과외는 너무 비싸니까 그렇다면 누구나 웬만큼 만만하게 써볼 수 있는 교육 서비스가 있어야 하지 않나? 그런 생각으로 회사에 다니고 열심히 일한다.예나 지금이나 결국 공부는 누가 대신해줄 수 없는 게 맞다. 어차피 혼자서 외롭게 해야 할 싸움이라면 제대로 할 수 있도록 도와줄 사람이 필요하다. 얼마간 잘 도와주면 언젠가부터는 혼자서도 잘 간다. 모든 걸 다 알게 되는 것이 아니라, 모르는 걸 어떻게 공부해야 할지를 알게 되는 것이다.#바풀 #경험공유 #보노보노 #조언 #인사이트 #기획 #마케팅 #운영 #성장
조회수 1733

가격과 편의성은 B2B SaaS서비스의 핵심이 아니다.

SaaS 서비스는 기존의 소프트웨어를 서비스로 만드는 것이다. 이건 누구나 다 아는 이야기다. SaaS의 최대 장점은 기존의 소프트웨어 솔루션 대비 저렴한 가격과 편의성이다. 이것도 맞다. 하지만 B2B 시장에서는 틀리다.종종 다른 회사에서 진행하는 B2B SaaS 서비스에 대한 소개 발표를 들을 때가 있다. 회사의 대표 또는 임원이 나와서 이렇게 설명을 한다. "우리 회사의 서비스는 기존 패키지 보다 훨씬 저렴하며 사용하기도 편합니다. 그리고 기존의 패키지 솔루션의 핵심 기능을 모두 담았습니다." 아마 해당 회사의 새로운 SaaS 서비스는 기존 패키지 솔루션의 핵심 기능을 담기 위해 많은 노력을 했을 것이다. 그런데 이런 서비스는 성공하기 힘들다.먼저 알아야 하는것은 B2B 솔루션을 사용하는 구성원의 성향이다. B2B 솔루션 또는 서비스를 사용하는 담당자는 해당 분야의 전문가이다. 이 담당자들은 솔루션을 사용해서 자신의 역할을 더 잘하는 것을 목표로 삼는다. 이들에게 가격과 편의성은 중요한 것이 아니다. 자신의 전문성에 맞는 수준의 솔루션이 필요한 것이다. 해당 분야에 워낙 밝다보니 사용법이 어려워도 크게 문제되지 않는다. 하물며 기능이 어려운걸 좋아하기 까지 한다.이 문제를 해결할 수 있는 방법은 2가지가 있다. 하나는 전문가 그룹을 피해가는 것이다. 타겟을 기존 전문가가 아닌 비 전무가가 있는 그룹으로 하면 된다. 예를 들면 스타트업이나 SMB 시장을 목표로 잡는 것이다. 하지만 SMB 시장에서 SaaS로 돈을 번다는 것은 쉬운 일이 아니다. 북미나 중국처럼 시장의 규모가 크다면 비 전문가 그룹부터 시작하는 것도 좋은 전략이기는 하지만 국내에서는 쉽지 않다.내가 생각하는 가장 좋은 전략은 SaaS만이 제공해 줄수 있는 핵심 기능을 만들거나 기존 솔루션이 제공 못하는 기능을 추가하는 것이다. 많은 기능을 만들라는 것이 아니다. 해당 서비스를 이용해야만 할수 있는 기능이 있어야 한다는 것이다. 이 전략은 기존의 전문가 그룹도 공략할 수 있으며 글로벌 서비스를 할 때도 차별화 전략을 쓸수 있는 장점이 있다. 물론 쉬운일도 아닐뿐더라 서비스 설계에서부터 고민을 해야 하는 문제이다.와탭이 2016년에 어플리케이션 모니터링 서비스를 내 놓을 때도 같은 고민을 하였다. SaaS 서비스는 외부망을 사용하기 때문에 데이터를 수집하는 데 있어서 내부망을 사용하는 소프트웨어 솔루션 대비 불리한 상황에서 서비스를 제공해야 하는 특성이 있다. 이를 해결하기 위해 와탭은 전세계 어느 리전이든 수집 서버를 제공하는 멀티리젼 기능을 추가했고 기존 어플리케이션 모니터링 솔루션에서는 제공하지 못하던 메소드 기반의 분석 기능도 만들었다. 기존의 많은 어플리케이션 모니터링 솔루션을 사용해본 경험을 가진 전문가 집단이 반할 만한 기능을 만들기 위해 설계에서 부터 많은 공을 들였는데 이건 와탭의 첫번째 SaaS 서비스인 서버 모니터링을 서비스 하면서 배운 경험을 살린 것이기도 하다.와탭의 첫번째 서비스인 서버 모니터링은 오픈 소스를 기반으로 만들었고 기존의 솔루션을 SaaS 로 변환하는 것만으로도 모든 고객이 충분히 만족 할거라는 가정에서 시작했다. 하지만 B2B 전문 담당자에게는 우리의 가정이 통하지 않았고 와탭의 서버 모니터링은 절반의 성공을 거둔것으로 만족해야 했다. SMB 시장에는 편하게 사용할 수 있는 모니터링 서비스로 인식되었지만 전문가의 눈높이를 맞추는건 쉽지가 않았던 것이다. 하지만 그 경험은 현재 와탭의 DNA에 고스란히 남아 새로운 서비스에 녹아 들어 더 좋은 서비스를 만드는데 사용되고 있다. 그리고 이제 곧 서버 모니터링을 대체하는 와탭의 인프라스트럭처 모니터링이 오픈 될 예정이다. 와탭의 실시간 데이터 저장 기술이 그대로 반영되어 서버의 모든 프로세스 정보를 모니터링하고 추적할 수 있으며 수집 주기도 5초 단위로 나타나기 때문에 실시간 성을 지닌 서비스이다. 오픈소스로 구현이 불가능하며 기존의 다른 솔루션과도 차별성을 둔 제품이다.    길게 이야기 했는데 마지막으로 정리하겠다. B2B SaaS 서비스를 만든다면 기존 솔루션을 서비스로 전환하겠다는 생각으로 만들지 말아라. 현재나 곧 다가올 미래의 상황에 최적화 된 새로운 방안을 제시하는 서비스를 만들어야 한다. 그렇게 된다면 SaaS 고유의 가격과 편의성은 서비스의 날개가 되어줄 것이다.  #와탭랩스 #와탭 #SaaS #SaaS서비스 #SaaS기업 #B2B #B2BSaaS #인사이트 #경험공유 #조언

기업문화 엿볼 때, 더팀스

로그인

/