In-store Computing, ZOYI

오프라인 매장을 혁신할 개발자를 찾습니다

Siwon Choi
7 min readMar 20, 2014

안녕하세요, ZOYI 엔지니어 Red입니다. 저희 회사에서는 이름 뒤에 -님, -씨를 붙이지 않기 위해 이름대신 아이디를 부르고 있어 이렇게 인사 드립니다.

이 글의 목적은 구인입니다. 처음에는 JD를 써볼까 했는데, 무슨 언어가 어쩌고, DB를 써봤네 아니네-를 적는게 효과가 없을 것 같아 이 글을 적게 됐습니다. 언어와 디비를 보고오는 개발자 보다 같은 문제를 바라볼 개발자를 찾고자 합니다. 저희가 풀고 싶은 문제를 적겠습니다. 심장 떨리고, 이게 세상을 바꿀 ‘와우’로 보이시는 분들은 지원해주세요.

요즘 저희의 관심분야는 In-store computing 입니다. 소셜커머스나 온라인 시장이 뜨고 있다지만 아직 연 200조의 오프라인 시장 규모에 비교하면 작은 시장이죠.

통계청, 신세계 유통연구소
(단위, 조 원)

그런데 두 시장의 ‘혁신’의 속도는 완전히 다릅니다. 온라인 커머스에 웹 사이트 방문자 통계를 제공하는 구글 어날리틱스 같은 툴은 기본 중에 기본으로 사용되고 있습니다. 하지만 오프라인 매장에는 방문객을 분석하는 효과적인 툴이 없고, 해봐야 알바를 풀어서 카운팅을 하는 원시적인 수준 입니다.

물론 단순 방문객을 카운팅하는 제품들은 있지만, 효과적이지 않습니다. 예를 들면 CCTV에 영상인식 솔루션을 붙여서 방문객을 카운팅하는 제품이 있는데요. 아래와 같은 오류들이 발생할 수 있습니다 (…)

영상인식 알고리즘 개발자의 자아가 담긴 탓에 시선을 뗄 수 없어서 카운팅 하고야 말아버린 실수

‘측정’이 중요한 이유는 뭘까요? 왜 잘나가는 온라인 커머스는 그렇게 많은 에너지를 들여서 통계 데이터를 모으고 분석하는 걸까요?

왜냐하면 ‘측정’하지 않으면 관리할 수 없기 때문입니다.

If you can’t measure it, you can’t manage it. — Peter Drucker

매장에 방문해서 물건을 구매하는 행위를 간단히 설명하면 ‘깔때기(Funnel)’로 설명할 수 있습니다. 매장 밖을 지나가는 유동인구가 매장 안에 들어오고, 몇몇은 결국 물건을 구매하죠. 매장 주 입장에서는 어디서 많이 고객이 떨어져 나가는지를 보고 (이탈율) 문제점을 찾아 해결하는 것으로 매출을 높일 수 있습니다.

이탈율에 대한 하용호님의 닥터캡슐 설명;;;

측정하지 않는다면, 어느 단계가 문제인지 알 수 없고, 우연히 효과적인 개선이 이루어졌다고 해도, 지속적으로 발전되기 어렵습니다.

측정부터 시작해야 합니다.

저희는 구글 어날리틱스를 전국의 모든 매장에 설치하는 것이 혁신의 시작이라고 생각합니다.

저희는 이 문제를 풀기위해 많은 기술을 검토하고 개발해서, 워크 인사이트(Walk Insights)를 만들었습니다. 저희가 사용한 기술과 그 고민은 아래와 같아요.

와이파이 해킹과 임베디드 기술

워크 인사이트는 와이파이(WiFi)를 분석해서 통계 데이터를 수집 합니다. 요즘 스마트 폰은 누구나 가지고 다니니까요. 핸드폰에서 발생하는 와이파이 신호를 분석해서 매장내에 방문자가 얼마인지, 몇 분이나 머무는지, 얼마나 다시 방문하는지를 측정 합니다.

가장 값싸게 와이파이 신호를 분석할 장비를 만드려면 어떻게 해야 할까요? 저희가 시도한 방법은 공유기 해킹입니다.

이렇게 하여 3만원짜리 공유기를 해킹해서 저희의 분석 센서를 만들었습니다. 리눅스 커널 3.x에서 작업했고, IEEE 802.11 스팩을 보고 패킷을 분석했습니다. 해킹한 펌웨어가 잘못 올라가면 부팅도 안되는데 그럴땐 JTAG로 다시 강제 라이팅을 해줘야 합니다. 4MB Flash 메모리에 이 모든걸 올려야 했습니다. 임베디드 기술이 필요했지요.

빅데이터

센서 하나가 수집하는 패킷은 1초에 100여개 정도가 됩니다. 현재 저희 센서가 설치된 매장은 약 110개 정도 입니다. 단순 계산하면 초당 만개의 패킷이 중앙 디비에 저장 됩니다. 적절한 필터와 다이제스트가 필요했어요. 현재는 하루에 약 1,000만개 약 500메가씩 데이터가 쌓이고 있습니다. 설치 매장이 10만개가 되면 하루에 얼마나 쌓이게 될까요?

저희는 빅데이터를 저장하고 처리할 수 있는 인프라가 필요합니다. 현재는 Hadoop + HBase 및 그와 파생된 제품군들을 이용하고 있습니다.

센서와 연결하는 부분은 http같은 비연결성 네트워크의 경우 커넥션 오버해드가 커서 NodeJS + Socket I/O를 이용중입니다. Raw 소켓을 이용하는거 보다 웹 소켓으로 표준을 따르면 확장하기 쉬운 장점이 있습니다.

이렇게 모은 데이터는 RabbitMQ에 넣고 Java로 구현한 워커에서 처리하고 HBase에 저장합니다. 저장된 데이터는 주기적으로 MR이 돌면서 통계 데이터를 계산 합니다.

비주얼라이제이션

이뻐야 해… 뭐든지 이뻐야 해…

저희는 D3를 이용해서 통계 데이터를 렌더링 하고 있습니다. 직관적이고 효과적인 비주얼라이제이션이 필요합니다.

Embed Linux에서 부터 시작해서 Node JS 서버를 거쳐 HBase에 저장된 하루 천 만건의 데이터가 Rails + D3 를 통해 최종적으로 고객에게 전달 됩니다.

동료가 필요해요

갈길이 멉니다. 현재 3명의 개발팀이 있는데요, 앞으로 마주칠 문제들을 해결하기에는 턱 없이 부족하죠. 그래서 똑똑한 개발자를 찾습니다.

Role & Responsibility

  • 임베디드에서 부터 빅데이터 처리까지 모든 영역에서 개발을 진행할 엔지니어

Must Have / Must Be

  • 훌륭한 인성
  • 컴퓨터 사이언스 과목 중 자료구조, OS 및 기초 알고리즘 수강 혹은 그에 준하는 지식을 보유 한 분
  • 새로운 것을 만나는 것에 대한 두려움이 없는 분

Nice to Have / Nice to Be

  • 일 중독자
  • 비 개발자와 대화 가능 하신 분
  • 코드 리뷰 / CI 경험자
  • Rails, Hadoop, Java, C/C++, 및 시스템 프로그래밍 경험자
  • 학교나 가정에서 포기하신 분
  • 여성(…)

이런거 신경 안써요

  • 외모 및 패션 감각
  • 경력 및 학력

참고하세요

  • 저희는 동아리가 아니라 기술 스타트업 입니다.
  • 분명 좋은 개발 경험을 나눌 수 있지만, 일하기 편한 회사는 아닐 수 있습니다.
  • 저희는 경력과 학력을 따지지 않지만, 능력에 따라 급여를 책정 합니다.
    (평균적으로 2학년 끝낸 잘하는 인턴 200~ / 인턴 중에서도 캐 잘하면 300+)
  • 연봉 5천만원 넘으시는 분은 이번에는 정중히 거절 합니다. 친하게 지내요.
  • 인터뷰와 채용 절차가 까다로울 수 있습니다.
  • 현재 사무실이 분당에 있으나 곧 서울(선릉 근처)로 이사할 예정 입니다.

지원

  • 기간: 찾을 때 까지
  • Email: recruit@zoyi.co
  • 본인을 소개할 수 있는 서류

긴글 읽어주셔서 감사합니다.

ZOYI & Company 대표 최 시 원(Red) 올림

--

--