더우니까!! 힘드니까!! 원스톱 차량 서비스 – 비트링크

 

차량 관련 전문 IOT & 인공지능 서비스를 제공하는 비트링크.
설립 5개월 만에 기업 가치 22억 원!? 월평균 250% 성장!?
화려한 수식어도 좋습니다만, 무엇보다 사람이 먼저 아니겠습니까.

비트링크에 일하는 사람들이 궁금해서 검색 좀 해봤죠.
그런데, 그 어떤 인터뷰도 찾아볼 수 없었습니다.

설마… 오늘의 인터뷰가 처음인 걸까!? 싶었는데..
처음이랍니다. 아.. 어깨를 짓누르는 부담감을 느끼지만,
생애 첫 인터뷰를 로켓펀치와 함께한 비트링크 여러분…사…사랑…합니다.

안녕들하세요~
안녕하십니까아아!!!

오늘 인터뷰할 분은 비트링크의 삼총사 되겠습니다.
박범상님. 동관도님. 탁용한님.

이름  : 박범상 (1986년)
직책  : 대표이사
하는 일 : 총괄 경영 및 운영
근무 횟수 : 비트링크(7개월)
최근 읽은 책 : 오가닉 비즈니스
내 인생의 히로인 : 조카

이름  : 동관도(1989년)
소속  : 미래사업본부
직책  : 팀장(차장)
하는 일 : 총괄 전략 책임자
근무 횟수 : 비트 링크(7개월)
최근 읽은 책 :  소크라테스의 변명
내 인생의 히로인 : 현재 여자친구

이름  : 탁용한 (1986년)
소속  : 운영팀
직책  : 매니저(과장)
하는 일 : 총괄 운영 책임자
근무 횟수 : 비트링크(7개월)
내 인생의 히로인 : 여행

대개 자기소개로 인터뷰를 시작한다!!!
범상 / 4차 산업혁명의 자동차 분야를 이끌어갈 비트링크의 박범상 대표라고 한다.  반갑다! 창업을 준비 시작한 지 6년 차 됐다. 말 안 해도 다들 짐작하겠지만, 많은 실패 속에서 한 줄기 희망을 발견하고 작년 11월 23일 비트링크를 설립하게 됐다.

관도 / 전략 및 기획을 총괄 책임하고 있는 영업팀 팀장 동관도 되겠다. 작년 2월 대표님을 만났는데 대표님이 너무 멋진 거라. 성품과 역량에 반했다고 할까!?? 그때부터 지금까지 함께하고 있다.

용한 / 비트링크 운영을 총괄 담당하고 있는 탁용한 과장이다. 대표님과는 몇 년 전에 서핑 사업을 통해 인연을 맺었다. 비트링크를 시작하면서 연락을 주셨다. 그리고  보시다시피!!!

비트링크 소개는 누가 하나!?
범상  /  꼭 대표여서 하겠다는 건 아니지만… 내가 하겠다. 비트링크는 IOT 기반의 디바이스를 차량에 부착해서 차량 정보를 Mobile과  Web으로 솔루션을 내주는  ‘차량 위치 및 상태 관제 서비스 CHAVY’ B2B 서비스를 하고 있다.

뭐..현재 보편화 된 스타트업 아닌가.
범상 /  시대 흐름과 정신을 반영한 차량 전문 서비스를 하고 있다는 명확한 차별성이 있다. 말이 너무 뜬구름 잡기 같나!?

뜬구름 잡기 같다.
범상 / 허허허.  조금 더 자세히 설명하자면, 지금 현재 시장에서 자동차 관련된 서비스를 업으로 삼는 기업들이 많은 건 사실이다. 춘추전국시대를 방불케 할 정도지. 중요한 건, 이러한 치열한 경쟁 속에서 누구 하나의 절대 강자는 아직 나타나지 않았다. 우리는 고객이 정비, 소모품, 보험, 사고, 주유 등 모든 것을 서비스적으로 엮어 비용을 최소화시키고 이익을 극대화해준다.  우리의 인프라, 서비스, 가격정책, 신뢰를 통해 우리는 분명 춘추전국시대의 진나라가 될 거다!!!

여태껏 많은 대표님들을 만나 봤지만, 이렇게 강렬한 눈빛의 대표님은 처음이다. 안 그래도 더운데 뜨겁다!!!
범상 / 허허허. 아직은 대외비 프로젝트가 많다 보니  많은 내용을 전달할 수 없는 것이 너무 아쉽다. 자세한 향후 계획에 대한 설명은 어렵지만, 5개월 만에 기업가치 22억, 월 250% 성장이 우리를 대변해주고 있다고 생각한다. 기대 많이 해 달라.  그 이상을 보여드리겠다.

설립 5개월 만에 기업 가치 22억 원!? 설명 좀 해 달라.
범상 / 사실 가치라는 것은 허망할 따름이다. 사업은 언제 어떻게 될지 아무도 모르는 정말 재미있는 특성을 가지고 있거든. 그 속에서 가치를 논하는 건 솔직히 의미가 없다고 생각한다.  하지만 성장에 대한 관점에서 가치는 매우 중요한 지표라고 생각한다. 이 기업이 얼마나 잘하냐, 얼마나 빠르냐, 좋은 팀인가를 직접적으로 나타내주는 지표니까.

수많은 실패를 겪었다고… 들었다.
범상 / 아…다 이야기하려면!? 밤을 새워도 모자란다. 비트링크를 시작하기 전에는 렌터카 중개 서비스의 공동대표로 있었다. 내 업무 스타일이 앉아 있기보다는 필드에서 뛰는 걸 좋아하다 보니 자연스럽게 렌터카 대표님들과 이야기를 나누고 차와 관련되어 무엇이 정말 필요한지, 지금 시장이 얼마나 불합리화 한 지 알게 됐다. 그 속에서 ‘차량 위치 및 상태 관제 서비스’ CHAVY 를 만들었다. 그리고 비트링크가 시작된 거지.

그동안 터득한게 있다면?
범상 / 간단하다. 사업의 원리는 ‘필요한 것’ 혹은 ‘해결해야 할 것’을 주면 된다.

개인적으로 존경하는 기업가가 있는데, 그분이 지금 대표님이 하신 말을 똑같이 하더라. 갑자기 박대표님이 너무 멋있어 보인다???
범상 /허허 허허… 허허… 그. 런. 가. 요.

성장의 원동력은?
범상 / 미친 실행력!??? 우리는 온라인이 아닌 오프라인에서만 영업일 기준 10일 만에 IOT 디바이스  3,000대 선주문을 완판했다. 총 100개가 넘는 업체에게 10일이라니.. 이런 미친 실행력을 좋아하지 않을 사람은 없겠지.

그럼 이제 관도님, 용한님도 이야기 좀 하자.  연애 스토리만큼이나 재밌는 게 대표님과의 스토리더라.
관도 / 나도 원래 창업을 하고 있었다. 나름대로의 실패를 한참 겪고 있었던 때였지. 우연찮은 기회에 대표님을 알게 되었고, 대표님께서 계시던 예전 회사(렌터카 중개 서비스)에 사무 공간도 내주셨다. 그러던 중 대표님 예전 회사에서 운영팀장 일을 봐주게 되었고, 그때부터 같이 일을 시작했다.

일해보니 어떻던가.
관도 / 나도 창업을 3~4년 해오면서 정말 수많은 사람을 만나봤다. 그런데 정말 우리 대표님같은 분은 단언컨대 한 명도 없었다. 진정한 기업가다.  세상에 큰 변화를 가져올 것이라고 확신한다.

여기..혹시…도를 아십니까!?? 는 아니겠지.  용한님 이야기도 들어보자.
용한 / 대표님과의 인연은 오래 전으로 거슬러 올라간다.  서핑 사업을 같이 했다.

대표님은 렌터카 사업을 하셨다더니…서핑 사업도 하신 건가.
용한 / 나도 대표님도 서핑을 무척이나 좋아하거든. 같은 취미와 목표를 두고 몇 년을 지내다 보니 자연스레 친해지게 됐다. 대표님이 렌터카 중개 서비스를 운영하시면서 잠시 떨어지게 되었는데, 비트링크를 시작하면서 날 불러 주셨지. 사실 사업 아이템이 아닌 대표님만 보고 들어왔다. 대표님은 무조건 성공하실 분이다.

이리도 눈 하나 깜짝 안 하고 말씀들 하시는 거 보니 진짜인 것 같다.
관도 /  대표님 자랑이 좀 과했나!? 대표님을 한 마디로 설명하자면,  워크 홀릭!? 너무 일만 하시고, 일적인 자리만 가지시니.. 솔직히 개인적으론 이제 연애를 하셔야 할 텐데.. 그런 생각이 든다.

관도님은 여친님과 햄 볶고 계신 것 같던데…말만 하지 말고, 소개를 해드려라.
관도 /  아…대표님은 워커홀릭이지만, 우리한테 일을 강요하진 않는다. 일하는 사람 스스로가 우러나서 일을 하게끔 만드는 분이다. 그래서 나도 대표님 스스로가 우러나서 연애를 하도록!!! 햄을 열심히 볶고 있는데…아직 부족한가 보다. 더 열심히 햄 볶도록 하겠다.

용한님도 대표님을 한 마디로 표현한다면?
승리자!? 오랜 시간 옆에서 지켜봐 왔지만, 다짐한 것은 무조건 해낸다. 세상 혼자 살아가는 사람인 거 같다.

두 분에 따르면, 대표님이 회사에서 제일 열정적으로 일하는 것 같다!?
범상 / 처음에는 모든 스타트업이 그렇듯 자기가 하는 일이 정해져 있지 않아서 이것 저것 다 했다. 지금은 외부로부터 일거리를 만들어 오는 거? 투자유치, 인프라 구축에 집중하고 있다.

팀 분위기는 어떤가.
범상 / 항상 잘해준다고 생각하지만 대표의 생각과 행동이 늘 같을 순 없겠지? 팀 분위기는 나보다 옆에 두 분께 여쭤보시는 게…

대표님 앞에서 여쭤보기 좀 그렇지만….두 분, 팀 분위기 어떤가?
용한 / 좋다!!??

관도 / 음…적당하다!??? 라고 표현하는 것이 좋을 것 같다. 모두가 너무 일적인 관계는 아니면서 그렇다고 개인적인 관계도 아니거든. 개인적으로 공동을 목표를 이루기 위해선 공과 사가 분리되어야 된다고 생각한다. 그 점에 있어선 우리 팀 분위기는 적당하다!???

대표님. 두 분의 대답. 만족하십니까?
범상 /  허허허. 뭐.. 나쁘지 않네요.

현재, 진행 중인 프로젝트는?
범상 /  지금까지의 서비스는 B2B 중점에서 렌터카, 법인 차, 화물차 등에 적합한 서비스였다면,  지금 은 B2C 중점의 서비스를 준비하고 있다. 정말 많은 심혈을 기울이고 있다. 9월 서비스 출시 예정이니 많은 기대 부탁 드린다. 아 물론 고객에게는 무료 서비스로 제공되고, 리워드 시스템을 적용한다.

뭐..또..회사에 대해서!! 자랑할 거 있으면 맘껏 하시라~
범상 / 가장 큰  자랑은 너무나도 좋은 사람들과 가치 있는 일을 한다는 것. 예전에도, 지금도 그렇지만 지금 이 순간이 나한테 있어서 가장 인복이 좋은 시기인 것 같다. 모두가 일인 기백을 해주니까. 최근에는 KB스타터스도 최종 합격해서 KB금융그룹과 같이 협업도 할 수 있게 됐다.  앞으로도 더 많은 기회들을 지금 회사에 머물고 계시는 분들과 함께 준비하고 완성시키고 싶다.

관도 / 빈말이 아니고, 정말로!! 진심으로!! 말하는 건데, 회사의 가장 큰 자랑은 대표님이다. 대표님은 흔히 말하는 정말 ‘난’ 사람이다. 업계에선 대표병이라는 말이 있지 않나. 몇 가지 성과를 바탕으로 자아도취에 빠져 이런저런 못난 모습을 보여주는 분들이 있지 않나. 우리 대표님은 이러한 분들과 확연히 다르다. 항상 무언가를 창출하고 만들어 가는 대표님이 회사의 큰 자랑이다.

[개발] IoT 시스템 개발/펌웨서 경력, 신입 채용합니다 

모바일 챗봇 솔루션 및 프론트엔드 경력, 신입 채용

서버 개발 및 구축, 유지보수 신입 및 경력직 채용

채용이 한창이던데, 채용 조건은?
범상 / 열정. 그거 하나면 된다. 너무 뻔한 대답인가? 제대로 말한다면 ‘빠르게 결과를 만들어 낼 수 있는 사람’이라고 하겠다. 그런 사람치고 열정이 없는 사람이 없거든. 그러기에 열정이 가장 중요하다. 웃자고 하는 소리지만 열정 페이는 아니고~ 페이는 정당하게 드립니다!!!:)

어떤 사람이 왔음 좋겠나.
관도 / 솔직히 말씀드리면, 열정도 열정인데.. 하나를 말하면 열 개를 알아듣는 사람!??? 능력 좋고 사람 좋고, 그런 사람이 들어왔으면 좋겠다.

용한 / 사람이 먼저 아닌가? 좋은 사람이 좋은 결과를 만들어 낸다. 좋은 사람이 들어왔으면 좋겠다.

복지랄까? 비트링크로 오면 이것만은 보장한다!?
범상 / 성과에 대한 보상. 그것만은 반드시 보장한다. 비트링크를 업계 최고 대우를 해주는 회사로 만드는 것이 목표 중 하나 거든.

관도 / 연차. 휴가는 확실히 보장한다. 입사 하자마자 1년 연차 15일 드리고, 자유롭게 사용하실 수 있다.

용한 / 우리 사무실이 패스트 파이브에 있다 보니, 커피, 맥주, 시리얼, 우유는 무제한 제공한다.

비트링크의 최종 꿈은 뭔가.
범상 / 차를 가신 분이라면 모두가 우리 서비스를 이용하는 것. 나아가서 세계적인 차량 관련 서비스 업체가 되고 싶다. 자동차 서비스를 통한 혁신!? 자동차란 단어에 빠질 수 없는 수식어가  되는 게 목표다.

세분의 개인적인 꿈이라면.
범상 / 마을을 만들고 싶다.  내가 사랑하는 가족. 친구. 동료. 그분들의 지인 등 모두가 행복하게 어울려 살수 있는, 돈 걱정 없이 살수 있는 마을을 만들고 싶다.

관도 / 나는 철학을 좋아한다.  욕심이 있다면 정말 2,000년 뒤에도 잊히지 않는 사람이 되고 싶다. 돈이 많다? 이런 걸로는 안되겠지. 2,000년 전 제일 부자가 누구인 줄 아나?  라는 질문을 들으면 답변할 수 있는 사람이 몇 명이나 있을까.  하지만 약 2,000년 전 유명한 철학자를 아느냐 했을 때, 소크라테스, 플라톤, 공자, 맹자 등의 인물을 말하지 않나. 나는 그런 인물이 되고 싶다. 2,000년이 지나서도 잊힐 수 없는 사람!!!

용한 / 취미가 서핑이다. 서핑을 통해서 대표님을 알게 되기도 했고. 대표님과 비슷하게 서핑 타기 좋은 바다가 있는 섬, 마을을 사서 즐기면서 행복하고 싶다.

이타적인 사람이 큰 일을 한다더라. 마을을 만들면 놀러 겠다. 마지막으로 하고 싶은 말이 있다면 맘껏 하시라.

관도 / 벌써 끝인가. 아쉽다.

떠날 때를 알고 떠나는이가 아름답다고 하지 않나. 지금은 떠날때다. 너무 덥다 🙂      범상 / 뜻깊은 시간을 주신 로켓펀치에 감사드리고, 이 글을 읽고 계셔 주시는 모든 분께 축복이 깃들길 바란다.  우리 비트링크도 더 열심히 해서 여러분들과 함께 성장하고 성공하고 싶다.  비트 링크는 모두에게 열려 있으니, 협업, 공동사업, 입사 등 제안하고 싶은 분들이 계시면 언제든지 환영합니다.^^

관도 / 마지막이란 말은 하지 말아 달라. 앞으로 로켓펀치를 통한 인터뷰를 자주 하고 싶다.ㅎㅎ 이 인터뷰의 마지막을 짓자면 우리 B2C 서비스 나오면 꼭 이용해주세요^^

용한 / 이런 인터뷰를 처음 해보는데 행여나 잘못한 것은 없는지 걱정이 된다. 그래도 이런 시간을 가질 수 있어 너무 좋았다. 오늘도 내일도 모두들 행복하길 바라요~

유난히 유쾌했던 오늘의 인터뷰 🙂

박범상님. 동관도님. 탁용한님께 감사드리며
이 글을 읽으시는 여러분도~ 시원한 여름 보내시길. 

 

 

[법무 가이드] 주주총회 결의에 문제가 있다면 어떠한 소송이 가능한가요?

안녕하세요. 정호석 변호사입니다.

절차와 내용에 문제가 있는 상태로 주주총회 결의가 되었다면 결의에 대해 이의를 제기하려면 어떻게 해야 할까요? 결의가 이루어지면 결의가 유효하다는 것을 전제로 하여 그에 따른 후속 절차가 이루어지고 법률관계가 형성되기 때문에 빠른 시간 내에 결의의 효력을 부인할 필요가 있습니다.

하지만, 기간에 상관없이 그 효력을 부인할 수 있거나 일방 당사자가 결의의 효력 여부를 판단할 수 있다면 수 많은 주주와 채권자들이 관계되어 있는 법률 관계는 더욱 불안정해집니다.

그렇기 때문에 상법은 주주총회 결의의 하자에 대하여, 원칙적으로 소송을 통하여만 다툴 수 있도록 하고, 하자의 유형에 따라 제기할 수 있는 소송의 종류를 달리 정하고 있습니다.

주주총회 결의의 하자에 대한 소송은 크게 1) 취소소송, 2) 무효확인소송, 3) 부존재확인소송으로 구분이 됩니다(부당결의취소, 변경의 소도 있지만 분류 기준에 약간의 차이가 있어서 이번 분류에서는 제외를 하겠습니다).

주주총회 결의 취소의 소는 ‘주주총회의 소집절차 또는 결의 방법이 법령 또는 정관에 위반하거나 현저하게 불공정한 때 또는 그 결의의 내용이 정관에 위반한 때’에 제기할 수 있습니다. (상법 제376조 제1항) 이 경우에는 주주와 이사, 감사가 소를 제기할 수 있으며, 결의일로부터 2개월 이내에 소송을 제기해야 한다는 제소기간의 제한이 있습니다.

주주총회를 소집하는 이사회결의에 하자가 있는 경우가 ‘주주총회 소집통지에 하자가 있는 경우’로서 바로 주주총회 결의 취소의 소를 제기할 수 있는 대표적인 예입니다.

주주총회 결의 무효 확인의 소는 ‘주주총회결의의 내용이 법령에 위반하는 실질적 하자가 있는 경우’에 제기할 수 있습니다(상법 제380조). 법상 결의 무효 확인의 소를 제기할 수 있는 사람에 제한이 없기 때문에 확인의 이익이 있는 사람이라면 누구든지 소송을 제기할 수 있으며, 제소기간에도 제한이 없습니다. 아직 법원의 명시적인 입장이 나온 것은 아니지만 주주총회결의 내용이 법령에 명백하게 반하는 경우뿐만 아니라 다수결의 남용에 해당하는 경우에도 주주총회 결의 무효 확인의 소를 제기할 수 있다고 보는 것이 맞습니다.

주주총회 결의 부존재 확인의 소는 ‘총회의 소집절차 또는 결의방법에 총회결의가 존재한다고 볼 수 없을 정도로 중대한 하자가 있는 경우’에 제기할 수 있습니다. 절차상의 하자를 이유로 한다는 점은 결의취소의 소와 마찬가지이지만, 하자의 양적 차이가 있다고 보시면 되겠습니다. 결의무효확인의 소와 마찬가지로 확인의 이익이 있는 사람이라면 누구든지 소송을 제기할 수 있으며 제소기간에도 제한이 없습니다.

주주총회의 하자와 관련된 다툼은 소송으로만 해결 가능하기 때문에 그 내용을 모두 이해하기는 어렵습니다. 하지만 주주총회의 하자로 인하여 그 효력을 부인하고자 할 경우, 소송을 제기해야 한다는 점, 특히 부존재에 달하지 않는 절차상의 하자가 있는 경우에는 2달 이내에 소송을 제기해야만 그 효력을 부인할 수 있다는 점만은 명심하시기 바랍니다.

모쪼록 제 지식과 경험이 회사를 운영하는데 조금이나마 도움이 되어 회사를 우뚝 세우시길 기원합니다. 감사합니다.

스타트업에 특화된 경영지원 서비스 보기

[작성자] 법무법인 세움 정호석 변호사 /
https://www.rocketpunch.com/@hoseok.jung
[출처] 법무법인 세움 / http://seumlaw.blog.me/220810826474

우리 회사 채용, 잘 홍보되고 있을까? – 로켓펀치 채용 정보 통계 기능 오픈

광고 시장 조사 전문기관 MAGNA에 따르면, 2020년에는 전 세계적으로 온라인 광고 규모가 오프라인 광고 규모를 넘어설 것으로 예측된다고 합니다. 30년도 채 되지 않은 온라인 광고가 어떻게 수백 년의 역사를 가진 오프라인 광고 시장을 이렇게 빨리 추월하게 된 것일까요? 온라인 광고는 오프라인 광고에서는 거의 불가능한 광고 효과의 직접적인 추적이 가능하기 때문입니다. 광고비를 얼마 썼을 때, 몇 명이 유입되고, 몇 명이 회원가입이나 결제 같은 광고 목표를 달성했는지 정확히 알 수 있습니다.

그럼 채용 홍보는 어떨까요? 회사의 채용을 홍보하기 위해 많은 채널에 적지 않은 비용을 사용하지만, 과연 그 채널들이 얼마나 의미 있는지, 분석하고 예산을 최적 분배하는 것은 꽤나 번거로운 일이었습니다.

로켓펀치에서 새롭게 선보이는 채용 정보 통계 기능을 통해 이 문제를 해결할 수 있습니다.

채용 정보 관리 페이지 등에서 ‘통계’ 버튼을 눌러 접속할 수 있는 채용 통계 기능을 활용하면, 어떤 채널을 통해 구직자들이 우리 채용 정보를 확인하고 지원했는지 한눈에 파악할 수 있습니다. 로켓펀치 내에서의 유입은 물론이고, 검색 엔진을 통한 유입, 페이스북이나 유투브 같은 곳의 외부 링크를 통한 유입을 쉽게 비교할 수 있습니다.

각 채널별로 지원한 사람 숫자까지 표시되므로, 각 포지션 별로 가장 좋은 채널을 선택해서 홍보를 집중할 수 있습니다.

지금 우리 회사의 채용 성과를 확인하고, 최적의 채용 홍보 채널을 선택해 보세요.

[수출입 물류 가이드] 인도 수출입 업무 규정 강화

안녕하세요

No.1 수출입 물류 플랫폼

트레드링스 입니다.

 

최근 국내 기업들의 인도수출이 늘어나고 있습니다
 
인도는 2000년 이래 매년 7~8%이상의 고속성장을 이루고 있으며,
국내 대기업들이 타 선진국에 비해 상대적으로 일찍 진출하면서
한국 기업에 대한 좋은 이미지를 가지고 있어
국내 대기업 뿐 아니라 많은 중소기업들까지 인도 시장을 잡기 위해
수출입 업무를 늘려나가고 있는데요,
 
그런데 최근 인도 세관의 규정이 강화되면서
수출입 담당자들의 각별한 주의가 요구되고 있습니다.

자 그럼 어떤 부분이 바뀌었을까요?

1. 2018년 4월 1일부터 POD Nhava Sheva인 경우 (T/S로 인랜드 지역 가는 것 포함)

1) Import & Export Code (IEC) of Importer. / 10-digit
2) GST identification No. (GSTIN) of Importer / 15 digit
3) Official email Id of Importer

내용들을 B/L DESCRIPTION 상에 필히 기재해야 합니다.
 
2. 마닐라 세관법 개정으로 인해 
1) BL 서류상 컨사이니가 실컨사이니일 경우패킹 및 인보이스 필요하며,
2) BL 서류상 컨사이니가 포워더일 경우포워더에게 패킹인보이스 제출 필요없이 
컨사이니가 마닐라 세관에 다이렉트로 패킹하고인보이스를 제출해야 합니다.

 

기존 수출, 수입 방법에 비해 조금 복잡해졌는데요,

인도로 수출, 수입을 하는 수출입 물류 담당자 분들은

해당 부분을 필히 확인하셔서 보다 안전한 수출, 수입 업무를 진행하시기 바랍니다.

 

www.tradlinx.com

 

수출입 물류 지원 서비스 알아보기 

[작성자] 정동일 수출입 전문 컨설턴트]

https://www.rocketpunch.com/@demiancd9888d1

[출처] 수출입 물류 전문기업 트레드링스

https://www.rocketpunch.com/companies/tradlinx

 

AWS 람다(Lambda)로 실시간 추천하기 – 로켓펀치의 전문기술 정보

로켓펀치의 전문기술 정보

로켓펀치에는 다양한 종류의 비즈니스 정보들이 있습니다. 홈페이지를 보면 상단 네비게이션 바의 네트워크, 기업, 채용, 투자, 비즈니스 맵 등이 상위 항목 정보로서 여러 가지 또다른 세부 정보를 가지고 있는 것을 알 수 있습니다. 이 중에서도 사람과 기업, 채용정보는 전문기술 정보를 포함하고 있는데 이는 이용자가 각 항목에서 알고 싶은 내용들을 나타내고 있습니다. 우리가 어떤 사람이나 기업에 대해서 ‘이 분은 어떤 걸 잘 하는 걸까?’, ‘여기서 사용하는 기술들은 뭐지?’와 같은 궁금증을 가지는 것은 자연스러운 일입니다. 구인을 하는 기업 입장에서 어떤 기술을 가진 사람을 원하는지 나타내는 것도, 구직을 하는 입장에서 기업이 어떤 스킬을 가진 인재를 원하는지 알아야 하는 것도 당연합니다.

전문기술의 특징

전문기술은 다른 정보와는 조금 다른 특징을 가지고 있습니다. 개인의 경력이나 기업의 이력과 같은 정보들은 각 항목이 변하지 않는 사실을 담고 있으며 여러 가지 항목의 중요도 또한 큰 차이가 없습니다(정말 알리고 싶지 않은 사실이 있다면 이야기가 다르겠지만요). 반면에 이 전문기술이라는 정보는 그 시점과 환경에 따라 각 항목의 중요도가 달라집니다.

어떤 개발자가 자신의 전문기술 항목을 채워넣을 때를 생각해보겠습니다. 이 사람은 아마도 현재 자기가 주로 다루는 프로그래밍 언어를 입력할 겁니다. 그리고 여러 가지 라이브러리와 주로 사용하는 도구 및 서비스를 추가로 입력할 수 있겠죠. 이 때 고민거리가 생길 수 있습니다.
첫 번째는 환경이 변하는 경우입니다. 이직을 한 직후 사용하는 언어와 개발 환경이 바뀐 경우 개인정보에서 이를 수정해야 할 수 있습니다. 경력이 오래 되어 더 이상 사용하지 않게 된 기술들이 생긴 경우 그것들이 자신을 나타내는 정보라고 보기에도 석연치가 않습니다. 마찬가지로 수정이 필요합니다.
두 번째는 항목 간의 상대적 중요도 차이가 생기는 경우입니다. ‘사용할 줄은 아는데 이걸 굳이 쓰는 게 맞는 걸까? 그렇다고 빼자니 아쉽고…’ 와 같은 고민은 경험한 기술들이 많으면 많을수록 느끼기 쉽습니다. 이럴 때는 여러 가지 전문기술들 중에서 선택을 해야합니다. 기업 또한 이와 같은 일들이 생길 수 있습니다.

이와 같은 문제 때문에 전문기술 정보를 입력한다는 것은 다른 정보와 비교해 상대적으로 어려운 면이 있습니다. 하지만 위에서 말했듯이 전문기술 정보는 상당히 중요한 정보입니다. 이용자가 이를 잘 입력할 수 있도록 도와줄 수 있다면 입력하는 사람에게도 그 정보를 보는 사람에게도 많은 도움이 될 것입니다. 어떻게 하면 더 잘 입력하게 할 수 있을까요?

첫 번째 방법

많이 입력할 것 같은 전문기술들의 목록을 입력란 바로 아래에 나열해 놓고, 클릭하면 입력이 되도록 했습니다. 실제로 이용자들이 입력한 것들을 세어보면 어떤 것들이 있는지 금방 알 수 있습니다. Python, Linux, AWS, UI/UX 등등이 있겠죠. 하지만 이 방법은 명확한 한계가 있습니다. 자주 나오는 전문기술을 가진 이용자들은 쉽게 입력을 할 수 있겠지만 그렇지 않은 경우는 이 방법의 혜택을 받을 수 없습니다. 여러 가지를 입력해야 하는 경우 전부 목록에 있으면 좋겠지만 그렇지 않은 경우 자칫 입력을 빠뜨릴 수 있기도 합니다.

두 번째 방법

이용자가 입력한 전문기술들을 바탕으로 다음에 입력할 것을 추천해 줄 수 있다면 가장 좋을 것이라고 생각했습니다. 바로 아래와 같은 모습으로요.

  1. 첫 번째 예시
    specialty-recommendation-example1
  2. 두 번째 예시
    specialty-recommendation-example2

Collaborative Filtering

위와 같은 경우에 사용할 수 있는 추천 기법은 collaborative filtering이 있습니다. 간단히 말해  “X를 좋아하는 사람은 대개 Y를 좋아합니다. 당신은 X를 좋아하시죠, Y는 어떠십니까?” 라는 방식과 비슷합니다. 이용자가 있고 각각의 이용자들이 좋아하는 아이템들의 목록이 있을 때 제일 먼저 아이템 간의 유사도를 구합니다. 아이템 개수가 N일 때 N*N 행렬로 각 아이템 간의 유사도를 나타낼 수 있습니다. 임의의 아이템들이 주어졌을 때 이 행렬을 이용해 가장 유사한 아이템이 어떤 것인지 쉽게 계산할 수 있습니다. 아래와 같은 유사도 행렬이 있다고 해보겠습니다.

specialty-recommendation-similarity-matrix
다섯 개의 아이템(i1, i2, …, i5)이 있을 때 각각의 유사도를 나타낸 행렬입니다. 유사도는 0과 1사이의 값을 가진다고 가정했습니다. i1과 i2는 0.9로 상당히 비슷하다고 할 수 있습니다. 반면 i3과 i5는 0.1로 낮은 유사도를 가지고 있습니다. 이 때 어떤 사람이 i1과 i2를 좋아한다고 가정해보겠습니다. 이 사람이 선택한 i1과 i2를 가지고 다른 아이템을 추천할 수 있습니다. i1의 유사도 row는 (1, 0.9, 0.2, 0.3, 0.8)입니다. i2는 (0.9, 1, 0.4, 0.5, 0.8)이죠. 단순히 이 둘을 더하면 (1.9, 1.9, 0.6, 0.8, 1.6)이 됩니다. i1과 i2는 이미 골랐으니 가장 높은 값을 가지는 아이템은 i5입니다. 간단하게 이런 방법으로 추천을 할 수 있습니다.

로켓펀치에서는 유사도 행렬을 계산하는 부분과, 그 행렬을 가지고 아이템을 추천하는 부분 크게 두 가지로 나누어 개발했습니다. 처음에는 이 두 가지가 모두 웹서버에 모듈로 붙어 있었습니다. 여러 가지 이슈 때문에 이를 분리해서 AWS Lambda로 옮기기로 했습니다. 비정기적으로 일어나는 task를 처리하기 위해 서버 자원을 항상 실행하고 있을 필요가 없다는 점 외에도 여러 가지 장점이 있습니다(또 다른 사례 및 자세한 내용은 이 글을 참고하시면 좋습니다). 잘만 분리한다면 꽤 괜찮은 선택이 될 것 같았고, 큰 문제없이 분리가 되었습니다. 그런데…

문제 발생

AWS Lambda는 한 번 실행이 되면 그 때부터는 초기 리소스 로딩 비용이 없이 계속 호출이 되는 특징이 있습니다. 그리고 주기적으로 초기 시작을 하는데, 이 초기 시작 때 행렬을 가져와서 메모리에 올리는데 시간이 너무 오래 걸리는 것이었습니다. 이용자가 입력했을 때 즉시 계산을 완료해 입력 칸 아래에 추천을 해야 하는데 이것이 수십초씩 걸리는 것은 안 될 말입니다. 메모리에 올리는 것 그 자체도 문제였죠. AWS Lambda는 사용한 메모리와 실행 시간에 비례해 요금을 내야하기 때문입니다.

해결 방법

처음에 웹 서버에 실행하는 것을 생각해 유사도 정보를 메모리에 올린 것인데 접근 방법을 조금 다르게 할 필요가 있었습니다. 해결 방법은 생각보다 복잡하지 않았습니다. 사실 추천 과정에서 모든 전문기술의 유사도를 가지고 있을 필요는 없습니다. 바로 입력 칸에 있는 전문기술들과 다른 전문기술의 유사도 목록, 즉 커다란 행렬에서 row만 있으면 됩니다. 위 유사도 행렬 예시에서 알 수 있듯이, 유저가 고른 아이템이 i1, i2 뿐이라면 그 두 아이템의 유사도 row만 있으면 계산이 가능합니다. 이해를 돕기 위해 아래에 그림과 단순화한 코드를 첨부했습니다.

specialty-recommendation-memory-usage

# 개선 전
similarity_matrix = get_similarity_matrix() # 커다란 매트릭스를 메모리에 올리는데 상당한 시간과 서버 자원을 사용
for _id in user_input:
    result += similarity_matrix[_id]

# 개선 후
for _id in user_input:
    result += get_row_from_redis(_id) # 계산에 필요한 row만 가져와서 사용

이러면 N*N의 메모리를 사용하던 것을 k*N(k는 최대 수십 개 정도)의 공간만으로 해결할 수 있습니다. 각각의 row를 elasticache(redis)에 저장한 다음, 호출이 있을 때마다 필요한 row를 불러 간단하고 빠르게 계산을 마칠 수 있습니다. 입력한 전문기술 숫자만큼 redis 호출을 해야 하지만 실제 서비스가 되는 과정에서 평균 호출 시간이 100ms 미만임을 확인했습니다. 이 정도면 괜찮은 수준입니다.

마치며

간단한 알고리즘을 로컬에서 실행해 결과를 보는 것과 실제 서비스에 적용하는 것의 간극을 극복하고, 변하는 환경에서 일어나는 문제들을 해결하는 것이 바로 소프트웨어 엔지니어가 하는 일입니다. 로켓펀치는 멋진 이용자 경험을 제공하기 위해 데이터 분석을 통한 각종 기법들을 서비스에 적용할 예정입니다.

+ 로켓펀치를 함께 만들어 갈 인재들을 기다리고 있습니다.

 

– 글쓴이 : 로켓펀치 머신러닝 엔지니어 정희동