스토리 홈

인터뷰

피드

뉴스

조회수 2799

WHATAP Python APM 이야기...

백엔드 서비스로 Python을 사용한다면 만나게될 상황을보다 쉽게 해결하기 위한 와탭의 Python APM, 개발하게 된 이유입니다.파이썬은 배우기 쉽고, 어디서나 실행되는 언어라고 이야기되며, 인기도 높습니다. 생각보다 많은 곳에서 배울 수 있으며, 혼자 배우기도 좋습니다. 그런데, 이 규모가 확대되어서 스타트업의 경우에 Python을 사용하여 백엔드 서비스를 개발하는 경우를 찾는 것이 어렵지 않습니다. 또는, 수학적인 알고리즘이거나 ML(머신러닝)과 같은 영역이거나 블록체인등에서 Python을 사용하여 API geteway나 broker를 사용하는 경우에 한정한 상황을 고려하고 있습니다.Python으로 백엔드 서비스를 만들 때에는 성능과 설계 부분에 대해서 많은 걱정을 하게 됩니다. 이런 상황을 만나게되는 개발자는 여러가지 문제를 만나게 됩니다. 그 문제에 와탭은 집중합니다.!와탭은 백엔드 서비스를 Python으로 개발시에 만나게 되는 상황을 가장 최우선으로 생각하게 되었습니다.Python으로 '설계', '개발'되고 '테스트'된 후에 '배포'되는 상황에서 서비스의 불완전함과 속도상의 문제, 리소스의 불협화음등을 '유지보수'하는 단계를 '성능 튜닝'이라고 정의하고, 이를 고려한 상황을 보다 단순화하는 것이라고 생각하게 되었습니다. 이를 어떻게 처리하느냐가 와탭 Python의 핵심 가치라고 생각하였습니다.----- 이 부분은 Python korea 페이스북에서 '배권한'님이 지적하신 내용을 기반으로 일부 첨언되었습니다.----- python native 개발자들에게는 불필요한 설명에 해당됩니다.파이썬은 분명, 읽기 쉽고 사용하기 쉬운 것은 장점이며, 라즈베리파이 위에서 동작되는 기민함은 정말 매력적입니다. <- 원래 문장.(* 현재에는 jvm도 동작합니다. 하지만, 작고 기민하게 다양한 IoT 디바이스에서 폭넓게 활용되는 것은 파이썬의 장점은 분명하지 않나 합니다. 이 부분에 대한 지적이 있어서 첨언합니다. )내부 구성상 비동기식으로 쓰레딩이 아니라, 단일 이벤트 루프를 사용하는 비동기식 작성은 매우 효과적입니다. <- 원래 문장.(* 이 부분도 asyncio나 gevent등에 대한 이야기이고, CPython의 언어 구현상 GIL때문에 쓰레드가 비효율적이라는 이야기를 거론하고 싶었으나, 일반적으로 파이썬에 대한 언어를 사용할때에 대부분 사용하는 이유가 단일 이벤트 루프기반의 비동기식 작성이 매우 일반적으로 사용되기 때문에, 이렇게 서술되었습니다. 하지만, 이런 설명은 백엔드로 Python을 사용하는 경우에 대부분의 프레임웍들에서 처리되고 있기 때문에 서술이 불분명하다는 지적이 있었습니다. 당연, 백엔드 서비스를 개발할때에 사용되는 wsgi interface등에 맞추어서 서술되는 경우에는 이런 설명이 무의미합니다.다만, 이렇게 서술한 이유는 Java를 기반으로 APM이 개발되어졌기 때문에 이 부분에 대한 서술이나 설명이 필요하다고 생각한 저의 과도한 설명이 되겠습니다.이 부분은 Python Native개발자들에게는 불필요한 설명이 되겠습니다. 하지만, 백엔드 서비스를 개발하면서 만나게될 환경에서는 이 부분에 대한 이해가 어느정도 필요하다고 생각되어 서술된 내용이라고 생각해주시면 감사하겠습니다. )----------------------------------------------------------------------------------------------------------------------이 방식은 복잡한 자원 경쟁이나 교착상태를 발생하지 않게 되며, 기본 코딩과 유지보수를 정말 수월하게 만들어 줍니다. 그만큼 일관성이 높은 수학 알고리즘을 구현하는데 매우 적합합니다. 하지만, 냉정하게, 비즈니스 로직이나 분기가 많은 업무 로직에 적합한 언어는 아닙니다.하지만, 수학적 알고리즘 기반의 주요 모듈 위에 데이터베이스가 일부 필요하고, 웹서비스의 형태로 가동되는 구조라면 파이썬은 매우 훌륭한 선택이 되고 있으며, 생각보다 많이 사용됩니다.그런 이유 중의 하나는 파이썬의 멀티패러다임 구성과 같은 구성에서는 자바에서처럼 굳이 프린트를 위해서 객체지향 클래스를 만들 필요 없이 간단한 함수형 스타일도 가능하게 구성이 됩니다. ( 자바 8에서는 이런 함수 기능도 추가되었습니다. )단순한 구조와 방식 때문에 파이썬 개발은 요즘처럼 ML이나 AI 등의 기술적 요소들이 많이 사용되는 환경에서는 매우 효과적입니다. 백엔드 파이썬 개발이 많이 보이게 되는 이유이기도 하죠.또한, 파이썬 개발의 단점이라고 지적되던 문제들도 현재에는 실행 속도 문제는 사실상 큰 문제가 되지 않는 상황입니다. 일례로, 파이파이(PyPY)로 실행된 파이썬 코드는 웬만한 수준의 C 코드보다 빠르게 동작합니다.굳이 더 지적하자면, 모바일 컴퓨팅과 브라우저에 따른 웹 애플리케이션 클라이언트는 굳이 파이썬으로 작성할 필요성을 느끼지 못한다고 이야기하는 정도입니다.하지만, 이런 파이썬 개발에 가장 큰 문제가 있습니다.테스팅 없이는 동작하기 어렵고,실제 동작 환경에서만 등장하는 오류의 발생파이썬의 특성상 동적 입력 형태에 따르는 더 많은 테스팅을 필요로 하고 있으며, 실제 실행시간에만 나타나는 오류를 찾는 것이 가장 큰 문제가 있습니다. 이 부분은 수많은 파이썬 개발자들을 괴롭히고 있습니다.( 단편적으로 파이썬 개발환경이 매우 고도화되어있지 않으며, 파이썬으로 백엔드 서비스를 만들 것이라고 예측하지 못한 점도 있을 것입니다. 앞으로 파이썬 개발이 더 고도화 되기를 기원합니다. )이 가장 큰 문제를 잡기 위해서와탭은 집중하였습니다.파이썬 백엔드 개발 시의 문제 해결!물론, Python도 디버깅에 대한 지원 유틸리티가 존재합니다.pdb라는 파이썬 디버깅 모듈을 통해서 Step over/Step into, 중단점(breakpoint) 설정, 콜 스택 검사, 소스 리스팅, 변수 치환 등을 할 수 있습니다.‘Phthon -m pdb 파이썬 파일. py’의 형태로 디버그 동작 화면에서 세부적인 동작을 트레이스 해보는 방식을 사용하거나, pdb모듈을 import 한 후에 pdb.set_trace()를 중단하고 싶은 부분에 넣어서 사용하는 방식도 사용됩니다. 또한, 디버그 세션을 사용하는 방식이며, PDB를 사용하여 디버깅하는 방식들도 흔하게 사용됩니다.PyCharm, PTVS, Spyder 등의 IDE를 사용해서 디버깅을 하는 방법은 전통적인 개발환경과 동일하게 사용할 수 있습니다.하지만, 이 방식들은 백엔드 서비스에는 맞지 않게 되며 개발자들은 백엔드 서비스 동작시에 디버그 추적을 위한 로그를 거는 방식을 흔하게 사용하게 됩니다. ( 너무도 전통적인 방식이죠. )정말 백엔드로 파이썬을 사용하고 있다면, 오류 추적이나 동작 메커니즘을 추적한다는 것은 매우 귀찮고 번거로운 작업이 됩니다.만들어지는 파이썬의 모든 파일에 해당 로그를 넣었다가 빼었다가, 배포의 오류를 만나는 상황까지 매우 번거로운 작업들이 끊임없이 반복되게 됩니다. 이런 상황들을 추적하기 위한 APM의 추적 기능들을 찾게 됩니다.또한, Python의 특징상 수학 알고리즘으로 구성된 API 중개인의 형태를 취할 경우에 DB에 대한 접근을 위한 ORM에서의 추적과 외부 웹 호출들이 뒤섞이게 되면서 오류 추적은 매우 짜증스러운 단계로 진화되게 됩니다.Python으로 백엔드 개발을 하게 되면만나게 되는 매우 짜증스러운 상황이죠.그래서, 와탭의 Python APM은 이 문제에 집중하기 위해서 와탭 고유의 문제 해결 방식을 그대로  아키텍처로 적용하여서 개발시에 편하고 빠르게 성능을 추적할 수 있도록 제작되었습니다. Python 백엔드 개발을 위한 최선의 방향을 제시합니다.Python개발자는 와탭의 APM을 설치하면 매우 손쉽게 웹 트랜잭션의 단계, 에러 추적, 클래스 추적, DB의 형태 및 Slow Query추적, 외부 호출 메커니즘의 구성 등을 설치 이후부터 빠르게 추적할 수 있으며, 개발자의 실수이거나 다른 외부 호출의 문제, DB와의 관계 등을 빠르게 잡아낼 수 있습니다.에러를 추적하기 위한 로그를 동작한다던지, 실환경시에 배포를 다시 한다던가 하는 귀찮은 작업을 모두 제거하는 것뿐만 아니라, 매우 통계적으로 의미 있는 와탭의 트랜잭션 추적 메커니즘을 사용할 수 있게 됩니다.파이썬을 기반으로 백엔드를 구성하는 곳이라면,와탭 APM은 매우 의미 있는 결과를 도출할 수 있습니다.와탭 Python의 세부적인 기능을 조금 더 상세하게 설명드리겠습니다.가장 먼저, 실시간 트랜잭션 모니터링!5초 주기로 트랜잭션을 수집하는 와탭의 방식은 서버의 부하를 최소화하면서 가장 의미 있는 데이터들을 수집하고 데이터 기반으로 오류와 트랜잭션을 빠르게 추적할 수 있게 합니다.파이썬 개발 시의 동작성을 체크하기 위한 와탭만의 고유의 진행 중인 트랜잭션 실시간 모니터링 기능인 아크 이퀄라이져와 동작된 웹 트랜잭션의 종료시간을 기준으로 시각화하여 동작된 트랜잭션의 상황을 한눈에 파악할 수 있습니다.와탭 Python APM위의 그림을 보면, Active Transaction으로 불리는 원형( 아크 이퀄라이져라 함 )으로 실제 동작중인 트랜잭션의 개수와 동작속도 등을 체크할 수 있으며, Hitmap을 통해서 종료된 트랜잭션의 속도를 시각화하여 볼 수 있습니다. 이 두 개의 시각화 만으로도 느린 트랜잭션을 추적 관리할 수 있습니다.Python 트랜잭션 추적 및 분석개발자는 단지 APM을 동작시켰을 뿐이지만, postgreSQL 데이터베이스에 연결하고 SQL문장을 주고받는 부분들을 하나의 시각화된 관점으로 나열해서 확인할 수 있습니다.각각의 동작 시간을 추적하는 것은 물론이고, 이 내용은 ORM으로 매핑된 상태에서도 SQL의 동작 순서대로 시각화되기 때문에 순서가 꼬이거나 문제가 발생되는 부분들을 손쉽게 찾아볼 수 있게 합니다.이외에도 와탭 APM( Java, Node, PHP 등의 모든 APM)에 기본적으로 제공되는 트랜잭션 추적 모듈 이외에도 사용자가 원하는 모듈 추적에 대한 기능들을 플러그인 형태로 정의할 수 있습니다. 더 복잡한 추적을 위해서 와탭의 고유기능을 추가적을 확대 사용이 가능합니다.WHATAP_HOME 의 plugin.json파일에 적절한 내용을 수정하여 특정 모듈의 데이터를 추적할 수 있습니다. 특정 모듈의 데이터를 추적하거나, 사용자 별로 원하는 모듈을 추적할 수 있습니다.*사용 안내:•[module_name]: 추적하고자 하는 대상의 모듈 명. import 하는 모듈 명 이기도 하다.•[class_name]: 추적하고자 하는 대상의 클래스 명. 없다면 ‘’(empty string)으로 사용한다.•[def_name]: 추적하고자 하는 대상이다.•args_indexes: 추적하고자 하는 대상의 아규먼트 인덱스. 여러 개일 경우 , 로 구분한다.•kwargs: 추적하고자 하는 대상의 키워드 명. 여러 개일 경우 , 로 구분한다.Plugin 기능 사용위의 예제에서는 Plugin과 SQL update문장의 순차적인 실행,세부 Plugin 설정에서 사용자의 모듈명, 추적 클래스 명, 추적대상과 아규먼트 인덱스, 키워드 등을 추적할 수 있습니다.*사용 예:plugin.json{"[module_name]": {      "class_name": "[class_name]",      "def_name": "[def_name]",      "args_indexes": ", ",      "kwargs": ", "},"httplib2": {      "class_name": "Http",      "def_name": "request",      "args_indexes": "1",      "kwargs": "method"},"faker.providers.address": {      "class_name": "Provider",      "def_name": "street_address",      "args_indexes": "",      "kwargs": ""}}두 번째, 데이터베이스를 매핑한 ORM과 SQL의 순서와 속도, Slow Query!매우 당연하게 파이썬을 기반으로 백엔드 개발을 할 경우에 데이터베이스를 사용하게 되며, 이에 대한 Slow Query와 관련된 추적하는 것이 개발자에게 필요하게 됩니다. 향후, RDS기반을 사용하게 되면 Query추적은 대부분의 데이터베이스 처리에 기본이 될 것입니다.현재 지원되고 있는 mysql / postgresql에 대하여 SQL Query, Fetch Count, SQL Query수행 시간을 수집합니다.Python개발 시에 RDBMS(관계형 데이터베이스 관리 시스템)를 선택하면 거의 항상 ORM(객체 관계 매핑) 라이브러리를 함께 사용하게 됩니다.특히, 파이썬에서는 이런 ORM라이브러리가 다양하고 사용하기 쉽기 때문에, 매우 흔하게 사용하고 있습니다.ORM의 장점으로는 쿼리를 생성하거나 추상화하는 대신, 데이터 베이스 시스템에 대한 접근을 쉽게 할 수 있는 장점이 있습니다. 다만, 이러한 장점 때문에 실제 만들어진 쿼리가 어떠하고 쿼리 수행 시간이 얼마나 걸리는지에 대해서는 추적이 어렵다는 점이 있습니다.이처럼, 파이썬의 특징상 ORM(객체 관계 매핑) 라이브러리를 사용할 경우에 추상화된 쿼리가 어떻게 동작하고, 실제 어떤 상황으로 발생 및 동작되는지를 한눈에 파악할 수 있게 합니다.ORM으로 매핑된 SQL의 순차적인 동작 상태 파악그리고, 세 번째. 외부 호출 추적파이썬 백엔드 개발 시에 사용되는 외부 호출(request/httplib2)등의 외부 호출과 관련된 호출 정보 및 수행 시간 등을 수집합니다.외부 호출을 사용하는 경우에는 각각의 호출에 대한 지연시간에 대해서 세밀하게 추적해야 하므로, 이와 관련된 에러와 지연시간 등을 추적하는 것은 매우 중요한 개발 시의 관점입니다.Python 외부 호출 추적마지막 중요 관점 네 번째는, 튜닝을 위한 다양한 프로파일 데이터의 제공을 이야기할 수 있습니다.와탭의 파이썬 에이전트는 위에서 나열되는 성능 저하를 위한 요소들의 전체적인 관점에서 수집하고 그 데이터들을 시각화할 수 있습니다.데이터베이스를 효율적으로 사용하고 있는지, 사용하는 ORM툴과 매핑과의 관계, 쿼리와 쿼리의 수행 시간과 상태에 대한 추적, 외부 호출시간과 각각의 지연되는 외부 호출과의 관계와 순서 등이 전체적으로 백엔드로 개발되는 Python의 성능 튜닝에 영향을 주게 되는 것이죠.그 이외에도 전체적으로 백엔드 서비스의 TPS, 응답 시간, 서비스 리소스 사용량과 어떤 에러가 발생되고 있는지를 알 수 있습니다.서비스 사용자가 사용하는 상세한 정보들을 프로파 일릉 함으로써 이들의 연관관계를 한분에 파악하게 해줍니다. 와탭에서 관리되는 프로파일 정보는 - 트랜잭션, SQL Query, 외부 HTTP호출, Error, User Agent, Client IP 등의 상관관계들입니다.그리고, 덤으로... Python이 설치 운영되는 전체적인 패키지의 버전을 한눈에 파악할 수 있는 것은 너무도 당연한 기능입니다.설치된 Python 패키지 확인그리고, 와탭의 DNA를 그대로 이어받은 APM이기 때문에, 기본적인 APM의 기능들을 대부분 담고 있습니다. 처음 와탭 APM을 접하시는 분들을 위해서 간단하게 설명드리면 다음과 같습니다.CUBE 메뉴는 시간을 기점으로 와탭 Python APM이 설치된 이후부터 현재까지의 모든 상황들을 추적 관찰할 수 있습니다. 주말에 오류 간 난 상황이라던지, 특정 오류의 발생 시점을 알고 있는 경우에 빠르게 해당 문제가 발생한 위치나 SQL 등을 추적할 수 있습니다.상세한 일간, 주간, 월간 리포트나 MAU 등을 추적할 수 있는 리포트 기능들은 와탭만이 가지고 있는 장점에 해당됩니다.Python으로 백엔드 웹서비스를 개발하고 계시다면, WHATAP Python APM은 개발과 운용을 매우 풍요롭고 빠르게 해줍니다.파이썬 백엔드 서비스 개발자라면 와탭 APM!
조회수 1276

이혜민 핀다대표 “쇼핑하듯 쉽게, 금융상품 찾아드려요"

이투데이 청춘반란 시리즈의 6번째 인터뷰이(inverviewee)로 핀다(Finda) 이혜민 대표님이 소개되었습니다. 핀다와 핀다의 금융상품 정보 에 대해 더 깊게 알아보는 기회가 되시기를 바랍니다! 이투데이 기사 원문보기 260개 금융기관 7000여개 상품 정보 이해하기 쉽게 표준화…맞춤형 비교·검색 고객에 최적 상품 추천… 月 30만명 방문 똑부러진 목소리와 열정이 담긴 눈빛. 이혜민(35) ‘핀다’ 대표는 3차례의 창업 경험으로 잔뼈가 굵은 스타트업 대표답게 인터뷰 내내 뚜렷한 목표와 방향성을 제시했다. 창업 시장에서 산전수전 다 겪은 그가 선택한 네 번째 창업 아이템은 바로 ‘금융’이다. <이혜민 핀다 대표는 2일 이투데이와의 인터뷰에서 “단순한 금융 서비스를 제공하는 데서 더 나아가 개인 맞춤형 자산관리 서비스를 제공하는 게 목표”라고 말했다. 사진=이동근 기자 정보의 비대칭성 해소하고 금융도 쇼핑하듯 이용하자“정보 격차가 가장 심한 분야는 금융이라고 생각합니다. 30년 전이나 지금이나 어렵고 불친절한 금융 서비스를 누구나 쉽고 편하게 이용할 수 있게 만들고 싶었습니다.” 이 대표가 금융정보 서비스 앱 ‘핀다’를 창업하게 된 계기는 자신의 경험에서 나온 운명적인 선택이었다. 대출을 받으려고 은행을 찾았던 그는 창구에 앉자마자 머리가 백지 상태가 됐다. 당시 이렇다 할 수입이 없던 그에게 은행은 높고 두꺼운 벽처럼 다가왔다. 게다가 금융 지식이 없던 그는 은행원의 설명을 하나도 알아들을 수 없었다. 심지어 어떤 금융 서비스가 필요한지 감도 잡히지 않았다. 그는 “필요성을 느끼면 주위에 확인하는 걸 습관적으로 한다”며 “나만 필요한 게 아니라 모든 사람이 느낀다면 사업성이 있다고 생각하는데 마침 주위에 나와 비슷한 고민을 하는 사람들의 의견을 들을 수 있었다”고 말했다. 본능적으로 창업을 떠올렸다. 그는 곧바로 팀을 꾸리고 2015년 10월 금융 정보를 서비스하는 ‘핀다’를 설립한다. 핀다는 판매자와 구매자, 공급자와 수요자 간 금융 정보의 비대칭을 해소하기 위해 탄생했다. 금융 서비스도 쇼핑몰에서 옷을 구매하듯 구매자가 1분 안에 원하는 상품의 정보를 얻고 선택할 수 있도록 도와줘야 한다는 생각이 창업의 바탕이 됐다. 핀다는 국내 260여 개 금융기관의 7000여 개 금융상품 정보를 수집, 사용자들이 이해하기 쉽게 표준화해 제공하고 있다. 금융감독원의 오픈 API(응용프로그램 인터페이스)뿐 아니라 제휴 금융기관의 API를 통해 상품 정보를 직접 전달받는다. 제휴사는 신한은행, KEB하나은행, KB국민카드, 우리카드, 신한카드, 삼성카드, 현대카드, 케이뱅크 등 금융사와 렌딧, 어니스트펀드 등 핀테크사 31곳이다. 이를 통해 주택담보·신용·자동차·P2P 등 대출, 예·적금과 P2P투자 및 펀드 등 투자, 신용·체크카드, 보험상품 등 카테고리별로 상품 비교를 통해 고객에게 최적화된 상품을 추천해준다. 월 방문자 수는 30만 명을 기록 중이며, 지난해 4분기부터 매출이 발생하고 있다. 특히 지난해 11월에는 대화형 상담이 가능한 챗봇 기능을 도입했다. 챗봇에 들어가는 상품 추천 알고리즘과 대화 로직은 6개월의 개발 기간을 거친 순수 자체 기술이다. 이 대표는 “이달 정식 모바일 앱 출시에 앞서 오픈베타 버전을 내놨다. 현재 신용정보사와 기밀유지협약(NDA)을 검토 중으로 조만간 정식 앱 서비스를 시작할 수 있을 것으로 보인다”며 “앞으로 개인의 데이터를 토대로 맞춤형 금융서비스, 궁극적으로는 자산 관리 서비스를 제공하는 것이 목표”라고 말했다.  성공에 안주하지 않고 끊임없이 도전 이 대표는 2007년 STX에 입사해 해외영업을 담당했는데, 금액이 큰 대기업의 글로벌 사업인 만큼 호흡이 길었다. 일은 재미있고 배울 것도 많았지만 업무가 피부에 와닿지 않았다. 그는 5년차가 되던 2011년 고민 끝에 회사를 나와 창업 시장에 뛰어든다. 자신의 의사 결정이 곧바로 회사 경영에 반영되고 현실화될 수 있는 일을 찾기 위한 도전이었다. 잘나가던 대기업을 때려치우려니 주위의 만류도 많았다. 성공에 대한 확신도 없었다. 이 대표는 “내가 가장 취약한 부분, 악조건을 골라 창업해 보고 싶었다”며 “대기업에서는 항상 선택하는 입장에서 영업에 취약했고, 이 부분을 가장 어렵게 느꼈던 터라 발품을 팔고 영업하는 업종으로 창업을 결심했다”고 회상했다. 자본금이 넉넉지 않았던 그는 ‘로켓인터넷(Rocket Internet)’이라는 독일의 벤처 투자 및 육성 회사의 투자, 인큐베이팅을 받아 ‘글로시박스’라는 화장품 정기 배송 스타트업을 창업한다. 미국의 ‘버치박스(Birch Box)’에서 아이디어를 얻은 국내 최초 화장품 정기 배송 업체다. 창업 6개월 만에 손익분기점에 이를 정도로 빠르게 성장했고 스타트업으로선 꿈 같은 일인 해외 진출도 이뤄냈다. 이후 유아용품·유기농 식재료 정기 배송 서비스 ‘베베앤코’를 창업했다. 화장품에서 유기농 식재료로 내용을 바꾼 것이다. 이 대표는 “태풍이나 자연재해로 인해 식재료 수급이 어려웠고, 무엇보다 당시 유기농에 대한 인식이 그리 높지 않을 때라 사업을 성장시키기 어려워 결국 접었다”고 말했다. 이 대표는 세 번째 사업을 구상하던 중 미국 뉴욕의 워크스마트랩스라는 건강관리 관련 앱 개발회사를 알게 된다. 이 팀과 협업을 결정하고 건강관리 앱 회사 ‘눔’을 만든다. 뉴욕에 본사를 둔 눔에서 그는 한국 법인 대표를 맡는다. 사업 1년 만에 137만 명의 회원 유치에 성공, 건강관리 앱계의 ‘우버’로 불리면서 화려하게 재기한다. 4차례의 창업을 통해 이 대표는 본인만의 경영 철학을 구축했다. 그는 “대중이 공감할 수 있는지가 가장 중요하다”며 “사업을 시작할 때 더 나은 상황으로 만들 수 있다는 확신이 서야 한다”고 강조했다.#핀다 #CEO #인터뷰 #기업문화 #스타트업CEO #철학 #인사이트
조회수 1069

아무것도 하기 싫은데, 일이 쌓였을 때 우리는...

보통 뭔가를 하고싶거나 하기 싫은 것을 구분하는 건 두뇌의 역할입니다. 두뇌는 굉장한 냠냠이입니다. 활동하기 위해선 많은 에너지를 필요로하죠. 흔히 포도당을 에너지원으로 삼지만, 항상 그런 것은 아닙니다. 때론 간에서 지방을 분해하며 생성되는 케톤체에서 에너지를 얻기도 하죠. 코코넛 등에 많이 함유되어 있다고 해요. (공부가 안될 땐 역시 코코팜....)물론 그렇다고 해서 지방이 줄어드는 것은 아닙니다. 아시다시피 우린 풍부한 지방을 지니고있으니까요. (배나..배..또는 배같은 곳에)당분해를 통해 에너지를 만든 두뇌는 아미노산의 일종인 글루타메이트와 GABA(Gamma-aminobutyric acid)을 통해 흥분과 억제작용을 만들어냅니다. 이 두 신경전달물질은 뉴런사이에 전기자극을 찌릿찌릿 만들어서 E-E-E-Electric Shock 전 전 전류들이 몸을 타고 흘러 다녀 기 기 기절할듯 아슬아슬 찌릿찌릿 충 충 충분해 네 사랑이 과분해 격 격 격하게 날 아끼는 거 다 알아 블랙홀처럼 (Yeah) 빨려들어가 (Haha) 끝이 안보여 (Yeah) 떨어져 쿵 (Oh).....여튼 글루타메이트는 흥분과 자극을 담당하는 신경전달물질이예요. 적당히 나오면 두뇌의 활동을 활발하게 만들어주지만, 너무 나오면 발작을 일으키거나 뉴런을 싸늘한 주검으로 만들죠. 반면 GABA는 원하지 않는 생각을 억제할 수 있게 만들어요. 예를 들어 개무서운 공포영화 귀신모습이(이를테면 곤지암의 슈비슈비같은) 1년365일 머릿속에 떠돈다고 생각해봅시다. 삶이 얼마나 지옥같겠어요. 그래서 GABA는 이러한 자극을 억제해서 정상적인 삶이 가능하도록 만든답니다. GABA가 제대로 작동하지 않으면 무단침입이라는 증상이 발생하면서 환각이나 원치않는 기억들이 마구 떠오르고 해리성 정신장애나 조현증같은 증상을 보이기도 해요.글루타메이트갑자기 생물학공부를 하는 느낌이네요. 위와 같이 두뇌는 에너지를 냠냠하고 전기작용을 뿜어내면서 활동량을 조절하는데 아무것도 하기 싫고 누워만 있고싶을 때는 이 과정에 문제가 생겼거나 그냥 귀찮은 경우라고 할 수 있어요. 흔히 문제의 종류는 둘 중 하나입니다. 1. 당이 떨어졌거나2. 할 일이 너무 많거나1번의 경우는 두뇌의 에너지원인 포도당이나 케톤체가 부족해지면서 일시적으로 에너지원이 앵꼬난 상태가 되는 거예요. 물론 실제로 그렇진 않습니다. 느낌일 뿐이죠. 두뇌는 포도당이 떨어졌다고 작동을 멈추거나 하진 않아요. 지속적인 신경전달물질을 만들어내고 재흡수하는 과정에서 정말 중요한 건 둥실둥실 뇌를 둘러싼 뇌수(물주머니)안에 이온농도예요. 풀때기에 많이 들어있는 칼륨과 짜디짠 나트륨이 이 농도를 유지시키는 데 이 때 필수적인 건 홈런볼이나 바닐라라떼 같은 게 아니라 '산소' 입니다. 사무실에 5명이나 숨쉬고 있으니 산소가 떨어지고 아무것도 하기 싫어지면서 숨이 막히고 가슴이 답답하고 퇴사하고 싶은 거예요. 자꾸 하품이 나오는 건 일을 하기 싫어서가 산소가 부족한 거니까, 일을 때려치고 빨리 바다나 숲으로 가야해요.(아무말)산소가..부족해!!!!!!!!!!!2번의 경우는 할 일이 45개나 쌓여있는데 내일은 또 내일의 일이 있을 것이라는 공포스러운 기억을 억제시키기 위한 GABA의 역할이예요. GABA는 기억하고싶지 않은 기억을 억제시킨다고 했잖아요. 그래서 존나 무서운 업무량을 잊게 해버리고 두뇌의 활동도 억제시켜버려요. 이제부턴 아무것도 생각하지 말고 그냥 어항바라보는 고냥이처럼 가마니 있으라는 거죠. 신경전달물질은 오랜 진화의 산물이예요. 대부분의 신경전달물질은 아미노산의 일종인데, 아미노산은 지구에 생명체가 태어난 그 시절부터 생명을 구성하던 원시단백질이예요. 우리몸을 구성하는 기본적인 단백질이기도 하죠. 그러니 이 분의 작용을 우리 전두엽으론 막을 수 없어요. 진화의 역사와 궤를 함께하신 분이잖아요. 대자연의 명령이니까 우린 따라야해요. (헛소리)이런 느낌보통 이렇게 두뇌가 아무것도 하기 싫을 땐 신체에 이상한 명령을 내리곤 하는데, 때문에 특이한 행동들이 발생하곤 한답니다. 가끔은 이성적으로 이해하기 힘든 것들이죠. 몇 가지 한 번 알아보도록 할께요. 사실 이걸 왜 알아보는지 모르겠어요. 아마 제가 일이 하기 싫은 거겠죠. 이 글도 그러한 특이한 행동 중 하나입니다..1. 벽을 쳐다보는 것 조차 재미있다.사실 일을 하기 싫은거지 다른 것에는 계속 주의집중 할 수 있는 경우예요. 딴짓이라고 하죠. 지금 이 글이 그래요.샴푸성분도 재미있음..2. 예전 사진 뒤적이기여행갔을 때 사진을 다시 뒤적여보거나 자기 셀카를 보면서 프사 뭘로 바꿀 지 고민해요. 신기하게도 어느 때보다도 신중하게 셀카에 집중할 수 있어요. 여행갔을 때 사진을 보다보면, 아래의 행동도 함께 동반되요.3. 어디 여행갈 지 괜히 검색해보기여행뽐뿌를 떠올리게 되면 괜히 어딜 가고싶어져요. 돈이 있든 없든 그냥 여행후기나 사진, 또는 스카이스캐너로 뱅기값을 검색하면서 대리만족을 느껴요. 매우 즐거워져요. 특히 아이슬란드나 오로라사진은 효과가 뛰어나요. 하아...언제가지? 하면서 남은 연차와 대체공휴일을 막 이리저리 조합해보기도 해요.너무 대놓고하면 안돼요.4. 로또 당첨되지 뭐할지 구상하기흔히 밤에 자기전에 많이 하는 생각이예요. 한 번 떠오르면 그 날 잠은 다 잔거예요. 돈이 많다는 건 경우의 수가 많아진다는 얘기와 같아요. 생각할 거리가 넘쳐나죠. 롤랜드 에머리히 감독도 이 공상을 따라올 수 없어요. 사실 돈 생기면 쓸 곳이 그리 많지 않아요. 차/집/땅을 사거나 기껏해야 먹을 거,  평소 사고싶던 콜렉션이나 사 모으는 정도가 고작이예요. 하지만 구체적으로 들어가면 한도끝도 없죠. 이미 머릿속에선 마당있는 집에 개가 뛰어놀고 있어요. 견종까지 고민하다보면 어느새 출근시간이 다가와요. 해가 떠오르면 엄청나게 공허해져요. 그게 다 무슨 소용인가....5. 어딘가 간지러워뭔가 하기 싫을 땐 맨날 어딘가 간지러워요. 긁다보면 그 옆도 간지럽고. 허리도 뭔가 불편하고, 왠지 목도 말라요. 물을 마시면 쉬가 마려운 것 같고 쉬싸다보면 똥도 마려워요. 똥싸고 나면 눈이 뻑뻑하고, 눈물액 넣고나면 어깨에 오십견이 느껴지기도 해요. 14년전 넘어졌던 무릎도 다시 욱신거리는 느낌이예요. 몸의 예민함이 거의 스파이더센서와 같아요. 우주 먼 곳 어디에선가 초신성이 폭발하는 것도 느낄 수 있을 것 같아요.6. 배고파하이에나는 하루종일 뭔갈 킁킁대며 찾아다녀요. 우리는 두번째서랍을 찾아다녀요. 계속 뭔갈 먹어요. 딱히 진짜 배가 고픈건 아니예요. 그냥 뭔가 손과 입이 심심해서예요. 피해자는 뱃살이예요.7. 유튜브봐유튜브는 올레TV보다 재미있어요. 게다가 연관동영상을 끊임없이 보다보면 하루해가 저물어요. 요즘엔 정말 끊임없이 방탄소년단의 광고가 나오는데, '이 모든 건 우연이 아니니까~ 디에네이!~' 이것만 하루에 50번은 듣는 것 같아요. (요즘 유튜브틀면 5초광고에 맨날 방탄소년단나와요. 한 번 틀어보세요.)8. 못일어나보통 누워있다라고 하면 일하다가 눕는게 아니라 애시당초 아침부터 누워있었을 가능성이 높아요. 그리고 하루종일 못일어나요. 머리의 무게는 4.5~6kg에 가까워요. 엄청나게 무겁죠. 그 머리를 들고 일어날 순 없는 거예요. 보통 이런 날엔 꿈을 시리즈로 꾸는데 놀랍게도 극적인 장면에서 항상 깨요. 그리고 다시 자면 2탄이 시작되죠. 흥미진진한 하루를 겪을 수 있어요. 시간개념이 사라지고, 현실감각도 사라져요. 밥도 안먹어요. 저녁은 치킨을 먹어요.내가 왜 일어나야 하지?9. 연락처뒤지기갑자기 인연의 소중함을 깨닫기도 해요. 연락처나 카톡숨김친구, 카톡친구목록등을 뒤지며 말 걸 사람 없나아아..하고 찾아봐요. 헤어진 애인, 싸운 사람, 나쁜 상사, 광고, 대부업체, 절교한 친구, 결혼해서 연락하기 뻘쭘한 친구, 그냥 어색한 친구, 친한 것 같았는데 딱히 말걸긴 싫은 사람 등등...이 눈에 보여요. 대부분은 인사해도 그 다음 할 말이 없기에 그냥 프사나 구경하다가 추억에 잠기곤 해요.10. 다른 일 하기시킨거 말고 다른 일 하고 있어요. 그것도 엄청 열심히 하고 있어요. 심지어 굉장히 잘돼요.11. 이상한 노래부르기정체를 알 수 없는 노래를 흥얼거리기도 해요. 제목도 뭣도 없어요. 어르신들이 낚싯대 찾으러갈 때 어디있나보자아아아~~ 하면서 혼잣말에 가락을 붙이는 것과 비슷해요. 종종 아침부터 내 머릿속에서 떠나지 않는 노래를 하루종일 흥얼거리는 경우도 있어요.12. 지르기 or 아이쇼핑괜히 집안에 뭔가 부족하진 않은지 혹시 특가세일을 갑자기 하고있진 않은 지 궁금해져요. 저 같은 경우엔 마켓컬리나 무인양품을 뒤적거려요.13. 스케쥴정리하기정리를 하려고 하는게 아니라, 이걸 언제까지 미뤄도되는지 계산하고 있는거예요. '진짜 빡세게하면 이틀이면 하겠지?' 라는 생각을 해요. (물론 할 순 있어요. 빡셈의 정도가 기대이상이어서 그렇지)대학일기 자까님 감사요14. 남의 소식보기페북이나 인스타를 뒤져요. 그냥 스크롤 놀이하는거예요. 좋아요도 투척해줘요. 댓글도 남겨요. 대부분 이런 상태에선 'ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ미친' 정도의 성의없는 댓글이 많아요.15. 담배피기흡연자들은 막 담배가 땡겨서 피는 경우도 있지만 실은 심심해서 그냥 피는 담배가 더 많아요.16. 돈계산하기가계부앱을 쓰거나 자산정리를 해놓는 분들은 괜히 이번달 얼마 쓸수있지? 얼마 남아있지...하고 계산해봐요. 오천오만번 계산해도 숫자가 달라지는 건 아니지만 407만원이 있으면 왠지 7만원은 그냥 써도될 것 같아요. 그리고 12번으로 돌아가요.17. 핸드폰 게임하기아무것도 하기싫을 때는 폰게임만큼 시간때우기 좋은 게 없어요. 한 판만 해야지라고 결심해요. 배터리가 75%였는데 한판하고 나니까 43%가 됬어요.배터리가 너무 빨리 닳는건가?18. 다른 사람 뭐하나 구경하기괜히 미어캣마냥 두리번거리며 주변사람은 뭐하나 살펴봐요. 사람구경하는거죠. 좀 더 나가면 분석도 해요. 저 사람 NCS준비중이네, 쟤 쟤 분명 취준 한 4개월차정도? 됬겠다. 이번에도 떨어지겠네 게임하면서 에흐 쯧쯧..아 시발 일해야하는데..아...아 하기싫어.. 언제하지..집에 갈까..하아..19. 멍때리기무상무념의 세계로 빠져들어요. 진짜 아무 생각도 없어요. 초점도 없어요. 영혼도 없어요. 공허의 장막을 들추고 내면을 엿보았지만 그곳엔 암흑뿐이었어...20. 쓰기싫어요.보통 이렇게 마지막 하나 남겨두고 하기 싫어져요. 안 쓸래요.인간은 하루하루 성장하고 발전해나가는 존재예요. 내일의 내가 오늘의 나보다 더 발전된 모습이란 소리죠. 그러니 오늘 이 일을 하는 것보다 내일의 나에게 맡겨보는 게 더 현명할 수 있어요. 내일의 나는 오늘의 나보다 더 똘똘할테니까요. 뭔 소리야....아 하기 싫어...
조회수 1154

레고를 만들다 든 startup 관련 생각들...

스타워즈 개봉 기념으로 X-wing fighter를 하나 구매하여, 하나하나 만들면서 들었던 생각들을 사진과 함께 정리해 보았다. 그렇다! 8~14세가 적정 연령이지만 38세 아저씨가 본인이 갖기 위해 사고 직접 조립했다. 영화를 보신 분이라면, X-wing fighter가 등장하는 장면에서 이 비행기가 얼마나 멋지게 나오는지 알 것이다. 그 장면에서 난 정말  감동받았다 ㅜㅜ암튼 그런 레고를 하나 만들면서 들었던 몇몇 생각들을 짧게 정리!1. 레고의 설명서에는 말이 필요 없다.일단 레고의 제품 설명서에는 말이 한마디도 없다. 그냥 보면 알게 된다는 것이고, 사진과 숫자로 잘 표현하기 때문에 그냥 잘 따라가다 보면 어느새 완성이 되어버리는 것이다. 파펨(paffem)의 경우, 고객들에게 제품을 배송할 때, 소개 카드 한 장이 동봉되는데 거기에는 텍스트들이 난무한다. ㅜㅜ말로 설명을 해야 고객에게 우리 서비스가 무엇인지 설명할 수 있기 때문인데, 이것을 어떻게 쉽게 고객들에게 전달해볼까? 에 대한 고민을 진행 중이고, 동영상으로 이 것을 해결하는 작업을 진행하고 있다. 또한 파펨을 언제 이용하면 좋은지에 대한 설명을... 글이 아닌 영상으로 풀기!2. 레고는 단순 조립이 아니다.사실 레고를 만들다 보면 그냥 멍하니.. 설명서에서 하라는 순서대로 따라 하는 경우가 많다. 그런데 그 와중에도 레고 디자이너의 의도들이 느껴지는 경우가 있는데, 그럴  때마다 이 디자이너가 얼마나 고민을 많이 했고, 그 의도를 숨겨놓았는지를 찾아가면서 감동하게 된다. 다 만들어지고 나면 보이지 않는 것들에 까지도 하나하나 블록을  달리해가면서 그게 왜 거기에 있어야 하는지에 대한 설계를 하고 있고, 또한 그 대상의 원리 같은 것에 대해서도 설명을 하고 싶은 의도를 곧곧에 숨겨 놓았다.예를 들면 왜 굳이 1번(아래 사진 중)에서 한 개로 만들어도 되는 부품을, 두개를 따로 만들어서 조립하게 했을까? 이런 질문들이 튀어나올  수밖에 없다.3. 내부 조율은 어떻게 할까?아래 부품을 보면서 들었던 생각이, 저런 부품은 레고의 다른 "모델"들에서는 사용되지 않을 것인데, 굳이 저렇게 까지 만들었어야 하는  것일까?라는 생각이 들었다. 디자인 부서에는 당연히 저렇게 만들어야 한다고 주장했을 터이고, 제조 쪽 부서에서는 호환되지 않는 제품의 경우는 원가, 공정의 번거로움 등등의 이유로 거부를 했을 것이라는 상상을 해보았다. (이런 부서간의 다툼?은 사실 회사들에서는 일상이다)내가 어릴 때만 해도 레고가 이렇게 다양한 제품(모델)을 만들지는 않았고, 대부분 호환되는 블록들로만 만들어서,  맘대로  이것저것 만드는 재미가 있었던 것 같은데, 요즘의 레고는 굉장히 디테일을 살리고 실사들을 하나의 미니어처 화 시키는 작업에 공을 들이고 있다. 아마도 계속해서 본인들의 본질은 변하지 않되 정체성에 대한 고민을 하고 있는 듯. 또한 이런 상품들이 많아지면서 덕후들은 계속 양산되고 있다.4. 오퍼레이션 관리의 신, 레고아래 사진은 남은 블록들이다. 대부분 아주 작은 부품들을 몇 개씩 더 넣어주는데, 이것은 물론 일부러 더 넣어주는 것이겠지만..여기서 하나의 호기심이 생긴 것이.. 레고에서는 저런 부품들의 종류와 개수를 어떻게 정확하게 맞춰  넣을까?라는 것이다.사실 파펨(paffem) 박스를 포장할 때도 많은 요소들이 들어가는데, 일단 향수, 이미지 카드, 설명카드, 바틀 부착용 스티커, 첫 구매고객의 경우는 선택하지 않은 향의 샘플까지.. 암튼 이것들도 뭔가 빠져서 갈 때가 많고, 실수를 하는 경우가 많은데.. 레고의 경우는 그 많은 그리고 그 다양한 블록들을 어떻게 하나하나 실수하지 않고 넣을까? 물론 기계가 하겠지?5. 빅픽쳐를 설명해주는 레고의 위엄조립의 매 챕터에서는 그 챕터의 완성작으로 Big picture를 보여준다. 4번의 봉다리를 뜯어서 만들면 오른쪽의 모양과 같이 만들어진다는 것을 미리 보여주고 있다. 내가 항상 중요하게 생각하는 "예측가능성"에 대한 너무나도 좋은 예시인 듯하다. 그리고 저 숫자 4와 같이 블록들을 모듈화 시켜두었기 때문에, 단계별로 만드는 것도 가능하고 또한 부품들 찾느라 너무 많은 고생을 시키지 않는다는 장점 또한 살리고 있다. 이런 것들이 보이지 않는 고객 배려!!레고를 조립하며 들었던 이런저런 생각들을 짧게 정리해 보았는데, 레고는 그저 어린이들이 가지고 노는 장난감이 아니다. 물론 요즘은 아저씨 덕후들이 더 난리라는 것도 잘 알고 계실 듯한데.. 아무튼  철학들, 고민들, 노력들과  creative들이 어우러져서 이렇게 멋진 제품이 나오고 또 발전하여 위대한 제품들이 나온다.  정말 멋지다 레고!!#파펨 #스타트업 #창업가 #창업자 #마인드셋 #인사이트
조회수 1973

Circle CI에서 rbenv를 이용해서 Ruby 2.2와 CocoaPods 0.39 버전 사용하기

최근 Circle CI에서 Ruby 버전을 2.3으로, CocoaPods 버전을 1.0으로 업그레이드함에 따라 발생하는 빌드 문제를 rbenv를 이용해서 해결한 경험을 공유합니다. 최종적으로 완성된 Gemfile과 circle.yml 파일은 마지막 섹션에서 확인하실 수 있습니다.1. CocoaPods 1.0지난 2015년 12월에 CocoaPods 1.0.0 베타 버전이 처음 공개되었습니다. CocoaPods이 1.0 버전으로 업그레이드되면서 굉장히 많은 변화가 있었는데요. 가장 큰 변화는 DSL입니다. 추상 타겟Abstract Target과 타겟 상속Target Inheritance이 새롭게 소개되면서, 0.39 버전까지 자주 사용되던 link_with 및 :exclusive => true와 같은 구문이 제거되었습니다.이에 따라 기존에 사용하던 Podfile이 CocoaPods 1.0 버전과는 호환되지 않는 문제가 발생했습니다. 이를 해결하기 위한 가장 좋은 방법은 새로운 DSL을 사용하여 Podfile을 다시 작성하는 것이지만, 꽤 많은 서드파티 라이브러리를 사용하는 StyleShare의 경우 새로운 DSL을 적용하여 빌드하면 각종 문제로 인해 빌드가 정상적으로 이루어지지 않았습니다. 4년동안 유지되고 있는 프로젝트이다보니, 레거시 Objective-C 코드와 라이브러리, 그리고 새로운 Swift 코드와 라이브러리가 혼용되어 사용되는 것도 원인 중 하나일 것입니다.따라서 StyleShare에서는 CocoaPods 0.39 버전을 사용하기로 결정을 했습니다. 하지만 최근 Circle CI에서 CocoaPods 버전을 공식적으로 1.0 버전으로 업그레이드하면서 빌드가 깨지기 시작했습니다. Circle CI 환경에서 CocoaPods 0.39 버전을 사용하려면 어떻게 해야 할까요?▲ ㅠㅠ2. Bundler를 이용해서 Gem 관리하기Bundler는 Ruby로 작성된 라이브러리들의 버전을 관리해주는 강력한 도구입니다. CocoaPods에서 Podfile에 의존성을 기재하듯, Bundler에서는 Gemfile에 의존성을 기재합니다.source 'https://rubygems.org' gem 'cocoapods', '~> 0.39' $ gem install bundler 명령어를 사용하면 Gemfile에 기재된 의존성 라이브러리들을 설치해줍니다. 이렇게 설치된 CocoaPods을 사용할 때에는 $ pod COMMAND 대신 $ bundle exec pod COMMAND 명령어를 사용해야 합니다.$ gem install bundler $ bundle install --path vendor/bundle $ bundle exec pod --version 0.39.0 3. Ruby 2.3과 CocoaPods 0.39Bundler를 사용해서 CocoaPods 0.39 버전을 사용하기만 하면 모든 문제가 해결될 줄 알았습니다. 하지만 더 큰 삽질이 남아있었는데요. 바로 Ruby 2.3 버전이 CocoaPods 0.39 버전과 호환되지 않는 것이었습니다.$ bundle exec pod install Updating local specs repositories Analyzing dependencies 신나게 $ bundle exec pod install 명령어를 실행하니, 의존성을 분석하는 듯 싶다가 갑자기 에러를 주르륵 뱉습니다. 에러 로그의 #### Error 항목을 보면 에러 메시지가 나와있습니다.NoMethodError - undefined method `to_ary’ for #이 에러 메시지로 CocoaPods GitHub 저장소의 이슈를 검색해보면 꽤나 많은 이슈가 올라와 있습니다. 이 이슈들을 보면, 모두 Ruby 버전이 2.3이라는 공통점이 있습니다. Ruby 버전을 2.2로 내렸더니 문제가 해결됐다는 댓글들도 굉장히 많고요. Circle CI의 Ruby 버전을 2.2로 낮추면 문제가 해결될 것 같습니다.Circle CI 문서 내용에 따라 circle.yml에 Ruby 버전을 기재해봅시다.machine: ruby: version: 2.2.5 그러나 Circle CI의 OS X 컨테이너에서는 Ruby 버전 변경을 지원하지 않는다고 합니다.▲ ㅠㅠ (2)4. rbenv를 이용해서 Ruby 2.2 사용하기그러다가 알게된 것이 바로 rbenv입니다. rbenv를 사용하면 여러개의 Ruby 버전을 깔끔하게 관리할 수 있게 됩니다. rbenv는 Homebrew를 사용해서 쉽게 설치할 수 있습니다.$ brew install rbenv rbenv는 ~/.rbenv 디렉토리에 안에 여러 Ruby 버전을 설치하고 관리합니다. rbenv를 설치한 뒤 가장 먼저 할 일은 환경변수 $PATH를 설정해주는 것입니다. $PATH에는 $HOME/.rbenv/shims와 $HOME/.rbenv/bin 경로가 포함되어있어야 합니다.4.1 환경변수 설정하기Circle CI에서는 환경변수를 설정하는 편리한 인터페이스를 제공합니다. 하지만, Circle CI에서 실행되는 각 명령어는 별도의 쉘에서 실행됩니다. 그말인 즉슨, 각 명령어가 실행되기 직전에 새로운 쉘이 실행되고, $PATH 환경변수를 덮어쓰는 .bash_profile이 실행된 후 명령어가 실행된다는 뜻인데요. 이렇게 될 경우 $PATH 환경변수의 가장 우선순위는 항상 /usr/local/bin이 가지게 됩니다. 그리고 같은 이유로 $ export FOO=bar와 같은 명령어도 사용할 수 없게 됩니다.1고민을 하다가 생각해낸 방법은 바로 .bash_profile의 내용을 변경(!)하는 것입니다. 그렇게 되면 우리가 원하는 $PATH를 항상 우선순위로 둘 수 있게 됩니다. 아래와 같이 환경변수를 설정하는 명령어를 .bash_profile의 가장 아랫줄에 삽입하도록 설정했습니다.machine: pre: - echo "export PATH=\$HOME/.rbenv/shims:\$HOME/.rbenv/bin:\$PATH" >> .bash_profile - echo "export RBENV_SHELL=bash" >> .bash_profile 4.2 rbenv에 Ruby 2.2 설치하기그 다음으로 할 일은 원하는 Ruby 2.2 버전을 설치하는 것입니다. $ rbenv install -l을 사용해서 설치 가능한 모든 Ruby 버전을 조회할 수 있고, $ rbenv install 2.2.5 명령어를 사용해서 2.2.5 버전을 설치할 수 있습니다.$ rbenv install -l Available versions: 1.8.5-p113 1.8.5-p114 1.8.5-p115 1.8.5-p231 ... $ rbenv install 2.2.5 이렇게 설치된 버전은 두 가지 방법으로 사용될 수 있습니다. 한 가지 방법은 시스템 전체에서 사용하는 것이고, 다른 한 가지 방법은 프로젝트 단위로 사용하는 방법입니다. 시스템 전체에서 사용하려면 $ rbenv global 2.2.5 명령어를, 프로젝트 단위로 사용하려면 $ rbenv local 2.2.5명령어를 사용합니다.global 명령어를 사용해서 Ruby 버전을 선택하면 ~/.rbenv/version 파일에 선택된 버전이 기록됩니다.$ rbenv global 2.2.5 $ cat ~/.rbenv/version 2.2.5 local 명령어를 사용하면 현재 디렉토리의 .ruby-version 파일에 선택된 버전이 기록됩니다.$ rbenv local 2.2.5 $ cat .ruby-version 2.2.5 local 명령어로 선택된 Ruby 버전은 global 명령어로 선택된 Ruby 버전보다 우선순위가 높습니다. $ rbenv version 명령어를 사용하면 현재 선택된 버전을 확인할 수 있습니다.$ rbenv version 2.2.5 (set by /project/path/.ruby-version) Circle CI에서는 편의를 위해 global 명령어를 사용해서 Ruby 버전을 선택하도록 했습니다.dependencies: pre: - brew update - brew install rbenv - rbenv install 2.2.5 - rbenv global 2.2.5 4.3 Bundler 다시 설치하기rbenv를 사용해서 새로운 Ruby 버전을 설치했기 때문에, Circle CI 시스템에서 제공하는 Gem도 다시 설치해야 합니다. 우리는 Bundler로 Gem 의존성을 관리하기로 했으므로, Bundler만 재설치합니다.$ gem install bundler --no-ri --no-rdoc $ rbenv rehash $ gem install 명령어를 실행한 후에는 $ rbenv rehash 명령어를 실행해서 executable 경로들을 재설정해주어야 합니다.4.4 ~/.rbenv 경로 캐싱하기rbenv를 사용해서 Ruby를 설치하는 과정이 굉장히 오래 걸립니다. 이 경우, Circle CI에서 제공하는 캐싱 기능을 사용해서 이 과정을 한 번만 하고 건너뛸수 있게 됩니다.dependencies: cache_directories: - ~/.rbenv 위와 같이 circle.yml를 설정해주면 컨테이너 실행시 ~/.rbenv 디렉토리가 캐시로부터 설정됩니다. 캐싱된 디렉토리를 사용하는 경우 Ruby 버전이 미리 설치되어있기 때문에 $ rbenv install시에 --skip-existing 옵션을 추가해주어서 캐싱된 버전을 재설치하지 않도록 합니다.5. 마치며최종적으로 완성된 Gemfile과 circle.yml 파일은 다음과 같습니다.Gemfilesource 'https://rubygems.org' gem 'cocoapods', '~> 0.39' circle.ymlmachine: pre: - echo "export PATH=\$HOME/.rbenv/shims:\$HOME/.rbenv/bin:\$PATH" >> .bash_profile - echo "export RBENV_SHELL=bash" >> .bash_profile xcode: version: 7.3 dependencies: cache_directories: - ~/.rbenv pre: - brew update - brew install rbenv - rbenv install 2.2.5 --skip-existing - rbenv global 2.2.5 - gem install bundler --no-ri --no-rdoc - rbenv rehash - bundle install --path vendor/bundle override: - bundle exec pod --version - bundle exec pod install https://circleci.com/docs/environment-variables/#custom ↩#스타일쉐어 #개발 #개발자 #개발팀 #후기 #일지 #인사이트
조회수 1243

그로스 해킹을 통한 고객유치: 메시지, 유통경로, 실험

핀다에서는 “진화된 마케팅, 그로스해킹”에서 발췌한 방법론을 요약하여 연재합니다. 고객유치 비용에 대한 고민잠재고객을 고객으로 확보하는것은 모든 회사에서 매우 중요한 일이다. 고객 획득에는 비용이 들기 마련이고, 이 비용이 고객가치보다 큰 값을 갖는다면 비용 대비 효과가 지속 불가능하다. ‘디자인 계의 아마존’이라는 평을 받았던 패브(Fab)는 광고와 고객유치에 매출의 35%를 넘는 금액을 사용하였다. 그리고 이러한 비용 구조와 기대에 못미치는 성과로 인해 헐값에 매각되게 된다. 그렇다고 공격적으로 마케팅 비용을 지불하여 고객을 획득하는 것을 꼭 지양해야 되는 것만은 아니다. 물론 이 경우에도 회사가 초기 비용을 감당할 만큼의 자금력을 지니고 있는 경우여야 할 것이다.1. 네트워크 효과를 이용하는 업계인 경우. 초반에 많은 투자를 해서 시장을 점유하고 지배권을 가지는 것이 중요하다. (링크드인, 왓츠앱)2. 강력한 경쟁자와 앞서거니 뒤서거니 하고있는 시점이다. (우버, 리프트)참고자료: 우버와 리프트가 유료 마케팅(paid marketing)을 통해 고객을 전환시키는 방법  결국, 회사가 고객유치를 위해 쓰는 비용은 회사의 사업 모델, 경쟁 구도, 성장 단계에 따른 많은 변수로 이루어져있다. 고객 유치 비용이 고민인 당신을 위한 참고 자료  고객 유치 활동을 확대하는 실험들: 언어와 시장 궁합, 제품과 경로 궁합 찾기 1.언어와 시장 궁합언어와 시장 궁합이란, 제품의 장점에 대해 설명하는 방식이 표적 청중의 공감을 얼마나 잘 이끌어내는가를 의미한다. 이때 고려해야할 점은 다음의 다섯가지로 요약할 수 있다.1) 보이는 첫 문장은 정확한 메세지를 빠르게 전달해야한다.2) 8초 이내에 제품이 어떤 혜택을 주는지 알려 줘야 한다.3) ‘보여지는 물건이 어떻게 내 삶을 나아지게 하는가?’라는 질문에 대답하는 언어를 만들어야 한다.4) 고객들이 제품의 장점에 대해 SNS에 글을 올리거나 리뷰를 남길 때 묘사한 언어가 도움이 된다.5) 제품의 필요성에 대해 수행한 고객 설문조사 답변에서 착안해 작성하는 것도 좋다.2. 경로와 제품 궁합 경로/제품 궁합이란, 유료 검색 광고나 바이럴 마케팅 등 선택한 마케팅 경로가 제품을 표적 청중에게 이르게 하는 방법의 효과를 따지는 것을 의미한다.1) 가장 효과적으로 보이는 최대 두 개 경로에 집중하자.2) 많이 회사들이 진행하는 광고(구글, 페이스북광고)가 최선의 경로는 아니다.경로/제품 공합을 맞추기 위한 실험비용, 표적시장 선정, 통제, 입력 시간(실험이 시작하는데 드는 시간), 출력 시간(실험 시작 후 결과를 얻는데까지 걸리는 시간), 규모 등을 고려하여 각각의 요소들에 점수를 매겨 총점이 가장 높은 경로에 우선순위를 둔다. <각 홍보 방법의 효율을 점수화하여 따질 수 있다. 출처: 진화된 마케팅, 그로스해킹>최선의 경로를 찾는 방법1. 발견: 최적의 경로를 찾는 과정, 많은 선택지를 탐구해야함◎ 입소문 경로 : 소셜미디어, 내장형 위젯, 친구 추천 프로그램, 온라인 동영상, 커뮤니티, 대회 개최와 경품 증정, 플랫폼 통합, 크라우드펀딩, 게임과 퀴즈◎ 자연 경로 : 홍보&강연, 콘텐츠 마케팅, 앱스토어 최적화, 무료도구, 이메일 마케팅, 커뮤니티 구축, 전략적 동반자관계, 기사 기고, 웹사이트를 통한 판매◎ 유료 경로 : 오프라인 광고, 온라인 광고, 제휴 광고, 인물 활용 캠페인, 라디오, 리타겟팅, 광고 네트워크, 협찬, 네이티브 광고2.최적화: 효과적인 경로를 우선 최적화 한 후 새로운 경로를 개척한다. 경로를 줄인 이후, 사용자의 성격과 행동을 고려한다. 링크드인의 부사장 아아티프 이완은 선택 가능한 경로를 줄일 때 지침으로 이용할 수 있는 표를 만들었다. <사용자 행동에 알맞는 탐색 경로의 예시들. 출처: 진화된 마케팅, 그로스해킹>바이럴 루프(Viral Loop), 만들어 놓고 잊어버리면 ‘안'된다.진정한 입소문을 통한 성장을 이루려면 엄청난 초기실험과 끊임없는 최적화가 필요하다. 효율적인 전략을 찾는 지름길은 없지만, 왕도는 존재한다. 업워디는 입소문은 포장이 얼마나 잘 되었는가와 콘텐츠가 얼마나 좋은가 사이의 균형이라고 말하며, 콘텐츠 역시 매우 중요하다고 말했다.입소문은 전통적인 의미의 ‘입소문'과 제품의 기능으로 사용자가 다른 사용자를 끌어들이도록 하는 ‘도구화된 구전 효과'가 있다. 이런 전통적인 입소문의 효과를 보려면, 훌륭한 제품을 먼저 만들어야 하며 제품을 다른 사람들과 공유하는 경험을 ‘머스트 해브'로 만들 수 있는것이 먼저이다. 1.입소문 = 페이로드 X 전환율 X 빈도페이로드는 각 사용자가 한 번에 홍보 수단을 보낼 가능성이 있는 사람의 수를 의미한다. 전환율 홍보 대상이 고객으로 전환되는 비율을 의미하며 제품이 사용자에게 느껴지는 매력도가 크다면 자연스럽게 높게 나타난다. 마지막 빈도는 표적고객들이 초대에 노출되는 빈도를 의미한다. 최선의 바이럴 루프에서는 제품 사용의 자연스런 결과로 초대가 전달된다. 하지만 사용자가 다른 잠재고객에게 ‘초대’를 보낸다는 것이쉬운 행동이 아니기때문에 대부분의 경우 ‘이중 유인책’을 통해 초대를 보내는 사람과 받는 사람 모두에게 혜택을 제공하는 경우가 많다. 한가지 유념해야 할 것은 이러한 초대를 짜증날 정도로 활성화 시킨다면, 단기적인 효과가 있을지는 모르나 결국 사용자들의 반발을 부르고 장기적으로 성장에도 악영향을 미친다는 것이다.2. 네트워크 효과 활용을 고려하라 <많은 사람이 서비스를 사용할 수록 사용자 경험이 좋아지는 다양한 SNS서비스들. 출처:qianxu7c.blogspot.kr/>페이스북이나 메신저 서비스와 같이 남에게 이 서비스를 추천함으로써 나의 사용자 경험이 향상되는 경우가 있다. 하지만 네트워크 효과가 명확하게 드러나지 않는, 표면적으로는 효과가 없어보이는 기업들이 많다. 따라서 고객들이 제품을 어떻게 이용하는지, 잠재력 있는 바이럴 루프를 어디에서 만들고 최적화시킬 수 있는지 알아내기 위해 발품을 파는 작업이 네트워크 효과를 통한 입소문 성장을 일으키는데 아주 중요하다. 3. 제품의 핵심 가치와 동반 상승효과를 내는 유인책을 만들어라만약 사용자 경험에 포함시킬 만한 고유의 유인책이 없다면, 일종의 보상을 지급하는 방식으로 유인책을 만들어야 한다. 그 유인책은 주어진 보상이 제품의 핵심가치와 관련되는 것이어야만 한다. 드롭박스의 경우 추천에 대해 저장공간을 늘려주는 유인책을 제공했는데, 고객의 니즈와 핵심가치와 긴밀하게 연결이 되어있는 유인책이라 할 수있다. 현금을 제공하는 것도 효과가 있다. 하지만, 역시 이런 현금 또한 제품의 핵심가치와 연관되어야 한다. 현금을 제시하는 경우 사람들이 현금을 벌기 위해 해야하는 일에 비교하여 가치를 쉽게 계산해 낸다. 따라서 많은 돈을 제공하지 않고서는 사람들에게 동기를 부여하는것 자체가 어려울 수 있다. 4. 공유를 위한 초대를 단순 추가가 아닌 사용자 경험의 일부분으로 만들어라사용자들에게 공유를 권하는 일은 권유가 지나치게 도드라져서 짜증을 유발하거나 강요한다는 느낌을 주지않고 사용자의 눈에 띄기는 해야된다. 가장 좋은 방법은 사용자 경험에 가능한 매끄럽게 통합되도록 하는 것이다. 사람들이 거의 들어가지않는 페이지에 포함시키지 말고, 사용자경험이나 홈화면처럼 트래픽이 많은 영역에 통합시키는게 좋다. 5. 초대받는 것이 좋은 경험이 되도록 만들어라에어비앤비의 경우, 초대에 사용하는 메시지가 다음과 같다. “당신의 친구 모건이 여행을 위한 가장 좋은 방법인 에어비앤비를 통해 당신의 첫 여행에 25달러 할인 기회를 제공했습니다. 감사인사를 잊지 마세요!”이다. 행동에 대한 요청이 눈에 띄며 간단하다. 이를 통해 초대받은 사람이 기꺼이 반응하며 친구 추천을 선뜻 받아들이고 자신이 초대를 보내는 것에도 큰 거부감이 없게된다. 결국, 마케팅의 성공이라는 단순한 결과 뒤에는 끝없는 실험이 있다. 엄청난 양의 실험과 최적화를 거치고, 그로스 해킹팀을 무수히 충격에 빠트리면서 만들어낸 결과인 것이다. 즉, 진정한 그로스해킹을 통해 그 회사의 고객 획득 성공에 이르게 하는 것은 단 한 가지의 묘책이 아니다. #핀다 #그로스해커 #그로스해킹 #마케팅 #마케터 #스타트업마케터 #인사이트
조회수 1756

잘 팔다가 갑자기 Hazmat Review가 걸렸다?

안녕하세요 대한민국 셀러들의 성공적인 아마존 진출을 도와주는 컨설팅 회사이자 대행사인 주식회사 컨택틱의 이이삭 대표입니다.아마존 판매를 하시다가 봉변을 당하는 사례들이 굉장히 많습니다. 그 중에 요즘 자주 발생하는 문제가 바로 hazmat review로 인해 리스팅이 일시적으로 판매 중지 걸리는 사례입니다. Hazmat Review는 예고 없이 들어옵니다. 그리고 걸리면 해결되기 전까지 리스팅이 판매 정지가 되기 때문에 상당히 골치 아픈 상황이 아닐 수 없습니다. 멀쩡히 판매하던 제품이 Hazmat Review에 걸렸다고요? 안심하십시오. 이럴 땐 2가지만 기억하시면 됩니다.Photo by Louis Reed on Unsplash일단 배경부터 알아볼까요? 도대체 hazmat review가 무엇인지, 그리고 심지어 해당 상품에 대해 FBA 재고를 처음으로 보낼 때 hazmat review를 거쳐서 승인 받았음에도 불구하고 갑자기 이제 와서 ‘다시’ hazmat review를 받으라고 안내가 나오는 이유가 무엇일까요?우선 hazmat review란, haz(ardous) 즉 위험이라는 단어와 mat(erials) 재료/성분/소재 라는 두 단어의 합쳐진 단어에다가 review 검토/승인이 필요하다는 제도입니다. 즉, 아마존 측에서는 해당 상품이 위험 상품 또는 위험 물질을 함유하고 있는 상품일 수도 있다는 판단을 하여, 검토를 요청하게 된 것입니다. 대표적으로 식음료, 신체에 바르거나 접촉되는 제품, 또는 배터리가 있는 제품들이 hazmat review에 걸리게 됩니다.그럼 위험 물질이라고 여겨질 수 있는 모든 제품들이 무조건적으로 hazmat review가 걸리는걸까요? 그건 또 아닙니다. FBM으로 판매하는 경우에는 hazmat review 대상이 아니며, FBA로 판매했을 경우에만 hazmat review 대상이 될 수 있습니다. 그 이유는, 아마존에서는 FBA로 판매할 경우 FBA 직원들이 포장 및 배송을 할 때 상품과 닿을 수 있으니 FBA 직원들의 안전을 책임지는 차원에서 hazmat review를 하게 된 것입니다.그럼 본론으로 들어가기 앞서 마지막으로, 특정 제품을 FBA에 입고하기 전에 분명히 hazmat review를 거쳤고, 심지어 통과까지 해서 멀쩡히 잘 판매하고 있었는데, 예를 들어 1년 뒤에 갑자기 아마존에서 리스팅을 정지시키고 다시 hazmat review를 진행하겠다고 하는 어이없는 경우는 도대체 뭘까요? 여기에 대해 컨택틱에서 알아본 결과, 다음과 같은 안내문을 확인할 수 있었습니다.아마존으로부터 온 이메일 예시핵심적인 내용만 요약하자면, 아마존은 FBA 창고에 있는 제품들을 정기적으로 확인해서 hazmat 여부를 확인한다는 내용입니다. 따라서 이미 hazmat review를 받고 승인 받은 제품이라고 하더라도, 이렇게 정기적으로 확인하는 과정 중에 또 review를 요청할 수 있다는 얘기입니다. 위 이메일에서 보이듯이, 저희는 이런 조치를 받았음에도 불구하고 결국 해결을 했죠? Notes 부분에 보시면 ‘Dangerous goods review for this product is completed’ 로 되어있으며, Current Status가 ‘Non-DG’로 변경되었습니다. 그리고 이메일 본문을 읽어보시면 이제 판매를 재개할 수 있다고 나와있습니다. 컨택틱은 어떻게 이걸 해결했을까요? 이제 본론으로 들어가겠습니다. 딱 2가지만 기억하시면 해결할 수 있습니다.이 사태를 해결하기 위해 여러분들께서 알아야하는 첫 번째는 바로! Exemption Sheet입니다. 아마존 help 메뉴에 들어가서 hazmat review라고 검색한 후 아래 스크린샷에 나온 순서대로 링크를 타고 들어가시면 PDF 양식을 다운로드 받을 수 있게 됩니다. 첫 번째 양식은 배터리가 있는 제품 전용의 exemption sheet이며, 두 번째 양식은 그 외 모든 종류에 해당하는 양식입니다.1) 아마존 셀러센트럴에서 Hazmat Review라고 검색2) Exemption Sheet을 찾는법다운로드 받은 양식을 보시면 성분을 작성하는 부분이 있습니다. 여기에 해당 제품의 성분을 있는 그대로 쭉 기재하시면 됩니다. 이 양식명 자체가 exemption sheet인 만큼 ‘우리 제품은 위험 제품이 아닙니다!’라고 주장해서 ‘면제’를 받도록 요구하는 것입니다. 다른 말로, 우리 상품은 non-hazmat 이라고 주장하시는 겁니다. 그렇게 양식을 작성한 뒤 위 화면에 업로드하고 제출하면 영업일 기준 3~4일 (길면 1주일 이상) 아마존 측에서 검토한 뒤 심사 통과 여부를 알려줍니다. 만약 기다려도 이메일이 안온다면 help에 들어가서 hazmat이라고 검색한 뒤에 ASIN lookup을 통해서 hazmat 상태를 조회해볼 수 있습니다.두 번째 방법은, 만약 exemption sheet를 작성하고 제출했는데도 정보 부족으로 심사 통과가 안됐다고 했을 경우, MSDS 혹은 SDS를 제출하는 방법입니다. MSDS는 material safety data sheet라고 해서 제조업체에 의뢰하면 받을 수 있는 문서입니다. 이 자료에는 해당 제품의 성분, 위험 항목 여부 등등이 16가지 조항으로 나열되어있습니다. 이 문서를 구비하기가 까다로울 수 있기 때문에 첫 번째 방법인 exemption sheet를 알려드린 것인데요, 첫 번째 방법으로 안된다면 어쩔 수 없이 제조사에게 연락해서 MSDS를 받고 제출하면 되는데, MSDS상에 나와있는 정보가 아마존 상품 정보와 일치해야하기 때문에, 제출하기 전에 한 번 검토한 뒤 제출해야하는 점 잊지 말아주세요!MSDS의 예시솔직히 말씀드려서, hazmat review 걸리면 일단 판매 정지부터 걸리기 때문에 여간 골치아픈게 아닙니다. 정지된 그 사이에 매출이 뚝 떨어지는 것이니, 베스트셀링 상품이 hazmat review 걸렸다면 눈앞이 캄캄할 것입니다. 위에 해결방법을 최대한 상세하게 알려드리긴 했으나, 막상 해보면 헷갈릴 수 있습니다. 특히 exemption sheet를 처음 작성하시는 분들은 어떤 란에 무슨 내용을 기재해야하는지 헷갈리실텐데요, 도움이 필요하신 분들은 컨택틱에 문의해주시기 바랍니다 (02-538-3939).컨택틱의 모든 교육은 파트너인 글로벌셀러창업연구소와 접수하고 진행합니다. 교육 신청은 아래 링크나 글로벌셀러창업연구소의 홈페이지를 통해 가능합니다.오프라인 아마존 입문 과정오프라인 아마존 기초/심화 과정온라인 아마존 입문 과정그럼 오늘도 즐거운 글로벌 셀링 되세요!감사합니다.컨택틱서울특별시 서초구 서초대로 356, 606호(서초동, 서초지웰타워)대표 전화: 02-538-3939이메일: [email protected]홈페이지: https://www.kontactic.com네이버 블로그: https://blog.naver.com/kontactic카카오 브런치: https://brunch.co.kr/@allaboutamazon유튜브 채널: https://www.youtube.com/c/kontactic
조회수 3210

야놀자 앱은 왜 자동실행 되나요?

pluu 04 JUL 2018저는 야놀자 CX서비스실의 Android 파트에서 레이아웃 깎기와 Kotlin과 새로운 Android 기술을 전파하는 노현석입니다. 야놀자에 합류하고서 경험한 가장 독특한 케이스에 대해서 이야기해 보려고 합니다.시작은 물음표부터언제부터인가 야놀자앱을 설치하거나 업데이트하면 앱이 자동으로 실행된다는 리뷰가 들어오기 시작했습니다.네?! 그게 무슨 말이에요?안드로이드 개발을 시작한 이래로 처음 들어보는 내용이라, 원인도 정확한 해결책도 떠오르지 않는 그런 리뷰였습니다. 그래서 자연스럽게 브라우저를 켜서 구글에 검색을 먼저 해봤습니다. Android, Auto Start, Install 등 다양한 검색 결과로 일정한 패턴의 내용을 확인할 수 있습니다.  Intent Action 관련 내용android.intent.action.PACKAGE_ADDEDandroid.intent.action.PACKAGE_CHANGEDetc.Broadcast Receiveretc.일반적으로 안드로이드 앱이 설치 및 업데이트될 때 발생하는 이벤트(이하 Broadcast)를 받는 방법에 대한 설명이 많습니다. Broadcast는 배터리 변화, 전화 여부, 와이파이 등 시스템의 상태 변화를 감지하거나 서비스 내부적에서 이벤트를 전달하기 위해 사용합니다. ???? 실질적인 해결책은 되지 않지만, 범위를 좁혀서 찾아볼 포인트로 Intent 의PACKAGE관련 액션을 포커스로 잡았습니다. 하지만, 야놀자앱에서는 마케팅 성과 측정을 위해com.android.vending.INSTALL_REFERRER를 광고 트래킹 SDK에서 사용하는 것 이외에는 별도의 작업을 하지는 않습니다. 그러나, 이를 알 리가 없는 사용자는야놀자 앱이 일으키는 문제라고 인지하기 쉽습니다.  일차적으로, 어느 경로를 통해서인지는 모르지만 누군가가 야놀자 앱을 실행하는 것이라고 생각했습니다.야놀자 앱 사용자의 기기에 설치된 모든 앱 리스트를 받아올 수도 있고, 리퍼럴에 따른 앱 실행경로를 모두 수집할 수도 있지만, 단순히 버그를 찾기 위해 사용자의 동의 없이 정보를 수집할 수는 없기 때문에 장기전으로 돌입하게 되었습니다. 하지만 동일한 리뷰는 계속되었고 여전히 뚜렷한 해결책이 없는 채로 시간이 흘러갔습니다.  저 재현되는데요증상이 나타나지만 재현은 되지 않고, 재현 경로를 단기간에 파악하기는 어려운 과제였습니다. 한두 명에 불과하던 제보가 시간이 지날수록 Android 파트의 목을 조르듯이 점점 유입되는 횟수가 늘어만 갔습니다. 그런데 어느 날, 다른 팀의 분께서저 재현되는데요라는 한 줄기의 빛과 같은 언급을 해주셨습니다.믿고 싶지 않은 일이 현실이 되었다네? 그게 … 정말로 일어났습니다.이제부터가진짜시작역시버그는재현이되어야제대로잡을수있겠죠! 저에게는재현되는 단말이 있어요!Android에서 디버깅을 할 수 있는 다양한 수단이 있습니다. 이번 사례의 경우는Log혹은Dump를 확인해보는 선택지가 있습니다.Log민감한 정보라고 판단되는 부분은 모자이크했습니다.앱 설치 후 광고 SDK가 수집하는 것으로 보이는 Log에는 다양한 항목들이 나열되는 것을 볼 수 있습니다. 이때 설치한 앱의 정보가 SDK를 통해 특정 API로 전송되는 것도 확인할 수 있습니다. 하지만 Log는 Log일 뿐입니다.  Dumpsys이렇게 Log만으로 추적이 어려울 때, 추가적으로 시스템의 상태를 얻어내 디버깅 할 수 있는 방법이 있는데 바로dumpsys입니다. dumpsys는 Android 단말에서 실행되며 시스템 서비스에 대한 다양한 정보를 제공하는 도구입니다. ADB(Android Debug Bridge)를 사용하여 dumpsys를 호출 시 해당 단말에서 실행 중인 모든 시스템 서비스에 대한 정보를 가져올 수 있습니다. 간단하게 말하면 배터리의 잔량, 메모리 소비량, 네트워크 통신 상태 등을 명령어로 확인할 수 있습니다. dumpsys의 기능에 대해서는 방대한 설명이 필요하므로, 자세한 내용은 아래 링크로 대체합니다.  Android Developers ~ dumpsyshttps://android.googlesource.com/platform/frameworks/native/+/master/cmds/dumpsys/dumpsys.cppActivity DumpDumpsys 에서 좀 더 Activity 와 관련된 정보를 얻기 위해서는 아래의 명령어를 적용해볼 수 있습니다.// Activity Log Dump adb shell dumpsys activity activities 결과를 확인해봅니다. 아래와 같은 Activity 의 활동 이력을 얻을 수 있습니다.Activity Dump에 나타난mCallingPackage값으로 야놀자 앱을 시작시킨 앱의 패키지를 확인할 수 있습니다. 해당 패키지를 실제 Play Store에서 확인해본 결과, 사진 보정 필터앱으로 유명한카메라 앱중 하나였습니다.???? 야놀자와는 전혀 연관성이 없는 앱인데, 호출하고 있네요… ????Process ID// 애플리케이션의 Process ID 취득 adb shell ps Activity Dump에서 확인한mCallingUid는u0a423였는데, 이는 Activity를 호출한 uid 값을 가리킵니다. 실제로 Process 가 호출되는 Application ID도 카메라 앱에서 호출한 ID 정보와 일치합니다.대상 앱 자료 분석단순하게는 APK 를 분석하여 추측하는 방법이 있습니다. Android Studio 에서 제공되는Analyze APK기능을 이용하여 해당 앱에서 사용되는 서비스의 정보를 파악할 수 있습니다. 이 방법을 이용하여 문제의 앱이 사용하는 광고 SDK 서비스에서 패키지 설치/제거 관련 Broadcast Receiver를 수집하는 것을 확인 할 수 있습니다.패키지 관련 Broadcast인android.intent.action.PACKAGE_ADDED, android.intent.action.PACKAGE_REMOVED를 앱이 사용하는 것은 잘못된 것이 아닙니다. 예를 들어 런처 앱의 경우 단말기 내부의 앱 정보가 변경되었다는 이벤트를 이용하여 화면 렌더링 및 동작을 변경하는 처리를 할 수 있습니다 해당 광고 SDK의 경우에는 앱을 설치 및 실행하는 것으로 사용자에게 포인트 및 여러 혜택을 제공할 것이라고 예상할 수 있습니다.개인적인 의견으로는 사용자의 액션과 상관없이 동작하는 부분에 대해서는 분명히 Android 의 개선도 필요하다고 생각됩니다. 이런 정상 동작과 어뷰징은 아슬아슬한 경계에 있지만, 자칫 어뷰징으로 이어지는 경우 서비스의 품질이 떨어지게 되면서 사용자와 개발사 모두에게 좋지 않은 경험을 줄 뿐입니다.설마 이것도 되려나?동일 패키지명이번 포스팅을 작성하게 된 카메라 앱과 야놀자 서비스 사이에 특별한 관계가 없다면, 왜 이런 현상이 발생하는지 고민해봤습니다. SDK도 연결하지 않았다면, 앱을 추적할 수 있는 유일한 키는패키지명이지 않을까라는 생각으로 패키지명만 야놀자 앱과 동일한 샘플 앱으로 테스트해봤습니다.동일 재현 성공!!그럼… 해결… 끝?많은 사람들에게 이름이 널리 알려진 여러 서비스에서조차 이번 포스팅에서 다룬 내용과 같은 현상이 발생하고 있습니다. 발생 유무에 따른 차이점이나 현상의 인과 관계를 명확히 판단하기엔 아직 정보가 많이 부족합니다. 그리고 이번 분석에서 발견한 문제의 앱을 비롯하여 또 다른 제2, 제3의 앱들이 등장할 거란 가능성도 배제할 수 없는것이 현재 상황입니다. 슬프게도 아직 이 현상은 지금도 계속되고 있으며, 불편을 호소하는 리뷰가 등록되어 서비스 전체의 이미지와 평점을 갉아먹고 있습니다. 안드로이드 생태계가 사용자 및 서비스 제공자에게 더 유익한 방향으로 나아갔으면 하는 바람을 담아 작성했습니다.도움 주신 분동일 증상을 발견하고, 단말을 빌려주신 R&D SF팀 전호숙님같이 추적해주신 R&D CX 서비스실 유관종님Dump/Log 관련 조언을 주신 Wind River의 차영호님 (????????????)국어가 많이 부족한 저를 도와주신 리뷰어 ???????????? R&D CX 서비스실 강미경님, 송요창님, 유관종님, 유용우님, 이미혜님이번 현상 추적에 도움을 주신 분들에게 감사함을 전합니다.#야놀자 #개발자 #개발팀 #문제해결 #버그수정 #안드로이드 #인사이트 #경험공유
조회수 3147

[제일극장] 제일기획 직무소개 카피라이터 편_은명표 프로

 마음에 와 닿는 강렬한 카피가 존재하는 광고는 시간이 지나도 사람들의 기억 속에 자리하죠. ‘카피라이터’는 바로, 광고 속에서 브랜드 메시지를 임팩트 있게 만드는 사람인데요. 알듯말듯~ 막연했던 카피라이터에 대한 궁금증! 제일기획 카피라이터 은명표 프로를 만나 해결해봅시다~ 안녕하세요. 자기 소개 간단히 부탁드려요~제일기획에서 카피라이터로 근무하고 있는 은명표 프로입니다. 카피라이터가 된지는 14년이 됐고요. 프로덕션과 대행사를 거쳐 제일기획에 입사한지는 8년 정도 됐습니다. 현재 KT, 카스, 삼성물산패션부문 로가디스 등의 광고를 맡고 있습니다. 어느새 우리 팀 카피라이터 중에서 고참이 됐네요. 카피라이터라면 흔히 ‘광고문안을 쓰는 사람’으로 알고 있는데요. 은명표 프로는 카피라이터를 어떻게 정의하시나요?‘광고주가 하고 싶은 말을 소비자가 듣고 싶은 말로 바꾸는 역할’이 카피라이터라고 생각합니다. 개인의 감성과 생각을 좋은 문장으로 써내는 작가와는 달리 카피라이터는 광고주가 상품과 서비스에 대해 어떤 이야기를 하고 싶은지 간파합니다. 그것이 소비자가 듣고 싶어하는 이야기가 되도록 전달할 메시지의 논리를 설계하고 그것을 설득력 있게 압축해 표현하는 일을 하죠. 글은 보통 혼자 쓰잖아요. 카피도 혼자 쓰는 건가요? 제가 속한 팀의 카피라이터는 총 4명이고, 프로젝트 당 2~3명씩 투입됩니다. 팀 작업이죠. 아무래도 여럿이서 하나의 메시지를 만들다 보니 의견을 모으는 게 제일 어렵습니다. 하지만 맞고 틀린게 아닌 다름을 수용하면서, 다양한 아이디어를 모아 심플하게 다듬어 가는 과정을 다 함께 진행합니다. 참여하셨던 캠페인 중 가장 기억에 남는 게 있다면요?아무래도 큰 상을 받은 캠페인이 가장 오래 남죠. 한빛 맹학교 학생들이 촬영한 사진을 ‘만져, 보다’, ‘느껴, 보다’, ‘들어, 보다’라는 세 가지 테마로 전시한 삼성 카메라 프로젝트가 생각나네요. 2012년 칸 국제광고제에서 금상을 받았기에 저에게는 남다르죠.또, 르완다에서 직접 고릴라 및 야생동물을 찾아 다니며 진행했던 삼성 UHD TV 도 애착이 가는 캠페인입니다. 혹시 카피라이터만의 좋은 아이디어를 내는 방법이 있을까요?제 경우는 오래 앉아 있을수록 좋은 아이디어가 나오더라고요. 최대한 많은 자료를 찾아보고, 많은 생각을 해보는 것이 좋지요. 클라이언트가 하고 싶은 말의 본질을 찾아가는 시간이 필요한데요. 카피라이터에게는 그만큼 시간이 중요하다고 할 수 있어요. 하지만 앉아있는 시간이 많다 보니 자꾸 체중도 늘어가네요. 하하 광고를 전공하지 않아도 카피라이터가 될 수 있을까요?참고로 전 기계공학과를 나왔답니다. 대학 시절 광고 조감독 아르바이트를 하며 광고에 관심을 가지게 됐고, 그걸 계기로 카피 실무 경험을 쌓아 지금의 자리에 있게 됐습니다. 제일기획에는 광고 관련 전공자뿐만 아니라 다양한 전공을 경험한 제일러들이 모여 서로의 아이디어를 보완해주며 시너지를 내고 있지 않나 싶어요. 카피라이터를 꿈꾸는 이들에게 한마디 해주신다면?카피라이터를 꿈꾼다면 빨리 현장에서 부딪혀보라고 말하고 싶어요. 알바든 인턴이든, 회사 규모가 크든 작든 시작해보는 거죠. 카피라이터를 찾는 데는 많거든요. 혼자서 습작을 해보는 것과 광고주의 오더를 받아서 카피를 쓰는 게 어떤 차이가 있는지 확실히 알게 되실 거예요. 현장 경험이 카피라이터로 성장할 수 있는 가장 빠른 길입니다. 또 직접 부딪혀봐야만 이 일이 적성에 맞는지도 알아 볼 수 있고요. 자, 이제 제일기획 페친들의 질문에 대한 답을 들어볼 차례!은명표 프로를 만나기 전, 제일기획 페이스북에서는 카피라이터 직무에 대해 궁금한 점을 공모했는데요. 페친들이 남겨준 질문들 중 5개를 선정했습니다. 은명표 프로의 사이다 답변을 들어볼까요?인터뷰 내내 솔직담백한 대답으로 카피라이터에 대해 알려준 은명표 프로. 그의 대답으로 카피라이터에 대한 궁금증이 조금이나마 해소되셨길 바라며! 논픽션 직무스토리 제일극장은 다음 시간에 다시 돌아오겠습니다. #삼성 #삼성그룹 #제일기획 #광고 #은명표 #은명표프로 #제일극장 #제일러 #직무 #직무소개 #직무정보 #카피라이터 #기업문화 #조직문화 #구성원인터뷰
조회수 1545

이달의 반장님(6월) 선정 - '조 반장님' 감사드립니다

 안녕하세요. 다시 찾는 인테리어, 두번째입니다.  온라인 기반이라는 한계에도 불구하고 많은 고객님들이 저희를 찾고 만족해 하시는 가장 큰 이유 중 하나는 바로 오프라인 시공 현장에서 열심히 수고해주시는 '반장님'들 덕분이라고 생각합니다. 항상 수고해주시는 반장님들에게 조금이나 즐거움을 드릴 수 있는 방법을 꾸준히 고민해왔는데요. 드디어 한가지 작은 실천을 시작해보게 되었습니다. 이제부터 월마다 '이달의 반장님'을 선정하여  수고하시는 시공파트너분들에게는 소정의 금액과 감사의 표시로 상장을 드리기로 했습니다.  6월달에는 '조익현' 반장님이 이달의 반장님으로 선정이 되셨습니다. 마침 저희 사무실 근처에서 시공 일정이 있으셔서, 저희들이 갑자기 방문을 드려서 '이달의 반장님' 으로 선정되었다면서 상장을 드리고 왔는데요. 바쁘신 상황에서 갑작스러운 방문이라서 놀라셨을 수도 있으실텐데, 친절히 맞아주셨습니다.  조 반장님께는 연식이 오래된 아파트나 또는 험한(?) 시공지를 많이 부탁을 드렸었는데요.  이번에 방문드렸던 현장도 오래된 아파트 현장이었습니다...  그만큼 조 반장님을 신뢰를 할 수 있었고, 신뢰한 만큼 항상 최선의 시공으로 좋은 결과물이 나왔던 것 같습니다.  또 많은 도배 시공자들이 그리 반기지 않은 '1품 작업'도 자주 협조해주셨습니다.  어제 방문했던 현장에서도 '1품 작업'이다 보니 반장님 혼자서 바쁘게 시공을 해주시고 계시더라구요.  그래서 기회를 보다가 준비한 상장만 드리고 금방 복귀해야 했답니다.  크지 않은 선물임에도 반장님이 굉장히 만족해하셔서 저희도 기분이 같이 좋아지더라구요.   이렇게 감사의 마음을 표현하고 나니, 항상 머릿속에만 있었던 아이디어를 실행하는 것이 그렇게 어려운 일이 아니었던 것 같습니다.  '조 반장님' 외에 다른 시공 파트너 분들에게도 항상 감사한 마음 뿐인데요.  이렇게 좋은 기획을 더 일찍 시작하지 못해서, 죄송한 마음이 드네요.  항상 열심히 수고해주시는 모든 반장님들, 감사합니다!! 
조회수 1070

가까이하기엔 너무 먼 팀장

태초에 에이스프로젝트에도 팀장이 있었다. 기획팀이 있으니 기획팀장이 있고 개발팀이 있으니 개발팀장이 있는 것은 어떻게 보면 자연스러운 일이었다. 팀장은 팀을 대표해 다른 팀과 의사소통을 하고, 주요한 업무 내용과 팀의 방향성을 결정했다. 팀원들의 성장을 돕기 위해 또는 고충사항을 해결해주기 위해 면담도 했다. 이런 평범한(?) 조직구조가 크게 불편하지 않았기 때문에 한동안은 팀장 체제를 유지했다. 하지만 자리에서 일어나 둘러보면 전 직원이 한눈에 들어올 만큼 규모가 작던 시기가 지나자 조금씩 문제가 생겼다.팀장은 항상 바쁘다업무과부하에 시달리는 리더"팀장님 어디 갔어요? 저 이거 물어봐야 하는데.."팀장은 항상 자리에 없다. 겨우 회의에서 나왔다 싶으면 다른 회의에 들어간다.이제 말 좀 걸어볼까 하면 스케줄 정리를 하러 다른 팀에 가 있다. 내가 한 것 좀 봐줬으면 좋겠는데 자리에 앉아 있을 때도 너무 바빠 보인다. 팀원은 여럿인데 팀장은 하나, 다들 팀장만 바라보고 있다. 대기번호표라도 뽑아야 하나.팀장 본인도 고달프기는 마찬가지다. 팀에서 일어나는 모든 일에 다 신경을 써야 할 것 같기 때문이다.일정도 꿰고 있어야 하고, 팀원 관리도 해야 하고, 아웃풋 피드백도 줘야 하고, 각종 행정업무도 처리해야 한다. 그뿐인가 앞으로를 위해 업계 트렌드와 신기술에 대한 연구도 해야 하고 팀을 대표해 회사 운영 방향을 결정하는 데도 참여해야 한다. 새로운 팀원이 들어오면 회사생활과 업무에 잘 적응할 수 있도록 물심양면 신경도 써줘야 한다. 너무 많은 역할을 동시에 하다 보니 하루가 모자라다.시간은 제한적인데 몸은 하나, 상황이 이러하자 팀장들은 두 가지 양상을 보였다. 하나는 이 모든 역할에 적당히 타협하는 것이다. 스케쥴링도, 퀄리티 체크도, 팀원 관리도 적당히 적당히. 특별히 잘하는 것은 없지만 그렇다고 특별히 못 하는 것도 없게. 문제는 없는데 뭔가 탁월하게 잘 돼가고 있다는 느낌도 없다.다른 하나는 팀장이 해야 하는 여러 역할 중 한 가지(혹은 두 가지)를 과감하게 포기하는 것이다. 퀄리티 향상에는 심혈을 기울이지만 팀원들의 고충은 좀 덜 들여다보거나, 행정 업무는 완벽하게 하지만 새로운 기술에 대한 서치는 미뤄두는 식이다. 적당히 하건 한두 가지를 포기하건 두 경우 모두 팀원들은 항상 무언가가 부족하다고 느끼고 팀장들은 늘 다 해내지 못했다는 부채감에 시달렸다. 전지전능한 팀장은 없다한 사람이 모든 것을 잘할 수는 없다완벽한 리더?인간이 완벽하지 않은데 인간 카테고리 안에 있는 '팀장'이 완벽할 리가 없다. 문제는 '팀장'이라면 왠지 모든 면에 탁월하고 어떤 단점도 없어야 할 것 같다는 데에 있다. 이런 선입견 때문에 어느 부분에서라도 단점이 드러나면 뵹아리 팀원조차 팀장에게 실망하거나 팀장 스스로 자책하는 일이 생긴다.리더는 단점이 없어서 리더가 된다기보다 장점이 크기 때문에 리더로 인정받는다. 상대적으로 많은 양의 업무를 주지만 그만큼 커리어를 확실하게 보장해 주는 팀장, 의사결정의 속도는 느리지만 그만큼 팀원들의 의견을 잘 수렴하고 설명해주는 팀장 등 장점이 있기 때문에 단점이 생기는 것이다. 에이스프로젝트에도 다양한 유형의 '완벽하지 않은' 리더들이 있다. 함께 일하면 쓴소리를 많이 들어야 하지만 업무 역량만큼은 크게 성장할 수 있게 해주는 리더가 있는가 하면 팀원들의 고충 해결과 진로 개발을 위한 면담에 능한 리더도 있다. 에이스프로젝트는 전문성을 중시한다. 제너럴리스트보다는 한 가지를 전문적으로 잘 하는 스페셜리스트의 중요성을 꾸준히 강조해왔다. 단점을 지적하면서 못 하는 것을 잘 하게 하기보다는 잘할 수 있는 것을 더 잘 하게 도와주는 편이 훨씬 쉽고 긍정적이라고 생각하기 때문이다. 리더가 팀원들의 가능성과 장점을 찾아주기 위해 노력하는 것처럼 리더들도 잘하는 것에 좀 더 집중해 볼 수 있지 않을까 고민을 시작했다. 멀어지는 팀장과 팀원 사이커뮤니케이션에 위계가 생긴다직책? 직위?'직책'과 '직위'는 다르다. 팀장은 직책이지만 흔히 직위와 결합해 인식하는 경우가 많다. 최근 많은 스타트업이 그렇듯 에이스프로젝트에는 대리, 과장, 차장 같은 직위가 없고 팀장만 있기 때문에 구성원들은 더 자연스럽게 팀장을 직위로 인식했다. 팀장의 지위를 나타내는 상징물을 지우려고 했던 노력이나 구구절절한 설명으로 해결되지 않는 문제였다. 사원들이 팀장을 '윗사람'으로 생각하면서 생긴 위계는 원활한 커뮤니케이션을 어렵게 만들었다. '(안 그래도 바쁜) 팀장님한테 내가 이렇게 말해도 될까?' 하는 필터링이 들어가자 팀원들은 말이 없어졌다. '이렇게 말해도 될까?'는 '팀장님이 안 된다고 하실 거야' 혹은 '팀장님이 하라고 했으니까 그냥 해야지'로 확대 해석되기도 했다. 이의를 제기하거나 이해되지 않는 것을 물어보는 횟수가 줄어들었다. 사내 만족도 설문에서는 회의 시간에 대한 문항이 최저점을 기록했다.문제는 내 팀 팀장 하고만 있는 게 아니었다. 나와 전혀 업무 연관이 없는 옆팀 팀장이 한 마디 툭 던지고 가도 사원 입장에서는 '그래도 팀장'이 한 발언을 의식하지 않을 수 없다. 지나가던 동료가 던지고 간 의견이라면 '한 번 생각해봐야겠다' 정도로 받아들일 수 있지만 지나가던 팀장이 던지고 간 의견은 단순한 피드백이 아니라 꼭 고쳐야 하는 지시로 들린다. 정말 "왜"인지는 모르겠지만 왠지 팀장이 하라고 하는 대로 해야 할 것 같은 느낌이 드는 것이다. 단순 직책으로 두고 싶었던 팀장은 결국 직책, 직위를 모두 아우르게 되었고 거기에 나이 차이가 가미되자 에이스프로젝트가 지향해왔던 수평적인 커뮤니케이션은 저 멀리, 저 멀리로 멀어져만 갔다. 이 문제들을 어떻게 해결하기 위해 무엇을 고민했을까?2편에 계속.
조회수 1282

[인공지능 in IT] 인사가 만사다

기술기업으로 인재의 중요성은 거듭 강조해도 지나치지 않다. 특히, 요즘처럼 어디에나 인공지능이 적용되는 시점에 넓은 인공지능 전문가 풀을 보유하는 것은 강력한 무기다. 2000년대초까지만 해도 대한민국은 전세계가 부러워하는 IT 강국으로 위상을 떨쳤지만, 현재 상황은 많이 달라졌다. IT 인재에 대한 편견뿐만 아니라 경쟁력을 상실한 처우 등 여러 악조건 등으로 경쟁 국가에 비해 조금씩 뒤쳐지고 있는 상황이다.필자가 속해있는 스켈터랩스의 상황을 빌려 기술 기업의 인재에 대해 설명해보자. 스켈터랩스의 미션은 'To innovate machine intelligence for understanding, assisting and improving daily lives anywhere and anytime'으로, 번역하자면 '언제 어디서나 우리의 일상을 이해하고, 도와주고, 더 나아지게 하는 머신 인텔리전스의 혁신을 이룬다'이다.스켈터랩스는 인공지능 기술을 개발하는 회사지만, 중심은 결국 인간이라는 뜻이다. 자고로 기술 기업, 특히 인공지능에 주력하는 기업은 인간을 위한 기술을 개발하기 위해 인재를 모으고, 팀마다 다양한 배경의 재능있는 멤버로 구성한다. 인간의 지능을 근간으로 인간을 위한 기술을 개발하는 데에 주력해야 하기 때문이다. 다시 말해, 우리는 모두의 삶의 질을 향상시킬 수 있는 기술을 개발할 수 있는 인재의 중요성에 대해 깊이 자각해야 한다는 것이다.< 스켈터랩스 >경영인들에게 가장 귀감이 되는 인물을 꼽으라면, 많은 사람이 GE의 잭 웰치 前 회장을 거론한다. GE를 세계적인 기업으로 탈바꿈시킨 잭 웰치의 경영 방식 중심은, 단연코 인재 관리다. 회장으로 취임할 당시 '고쳐라, 매각하라, 아니면 폐쇄하라'라는 본인의 철학을 필두로, 퇴임을 앞두기 직전까지 인재의 중요성을 강요했다. 퇴임할 당시 잭 웰치는 인재를 통한 4가지 주요 전략을 발표했는데, 첫째로 GE의 세계화 전략은 곧 인적 자산의 세계화라는 것이며, 둘째로 지식과 학습을 통한 서비스 전략 창출, 셋째로 6시그마 전략의 도입, 마지막으로 리더를 위한 e비즈니스의 도입이었다. 전설적인 경영인으로서, 위기를 성공으로 탈바꿈하는 기업인으로서 잭 웰치의 업적이 입에 오고 내리는 이유는 그가 인재 육성의 가치를 경영과 직접 연계시켰기 때문이다. 본인 업무의 70%는 인재에 쓴다고 했을 정도다. 훌륭한 기업으로 성장하기 위해서 그만큼 사람이 재산이라는 것을 일찍이 깨달은 것이다.< GE>수 년전부터 4차산업혁명, IoT 그리고 현재의 인공지능까지 IT 기술은 비약적으로 발전함했다. 이에 기업의 모든 전략은 '얼마나 빠르게 신기술을 도입할 수 있는가', '당장 적용할 수 있는 기술은 무엇인가', '신기술을 통해 얼마나 비용을 절감할 수 있을 것인가' 등 기술 자체에 과하게 집중되어 있다. 그러나 새로운 기술을 개발하는 주체는 누구인지, 어떤 것을 위해 집약적인 노동력을 동원하고 있는지 다시 한번 생각해봐야 한다. 스스로 학습하고 문제를 해결해나갈 수 있을 것이라는 인공지능이라는 기술 역시 결국에는 'Artificial Intelligence', 인간이 만들어내는 지능이다. 이토록 인재에 대해 신경을 써야 하는 이유다.잭 웰치의 어록 중에 이런 말이 있다. 'People First, Strategy Second'다. 전략보다 사람을 우선한다는 이 말처럼 뛰어난 기업으로 발돋움하기 위해서는 사람이 중심이어야 하고, 기술 기업에 있어 사람에 대한 가치는 그만큼 중요하다. 어떤 프로젝트를 진행하느냐와 상관없이 인공지능 기술을 개발하는 길목에는 항상 뛰어난 인재가 함께 해야 할 것이고, 이를 통해 인간을 위한 진정한 인공지능을 구현하는 것이 사명일 것이다.이호진, 스켈터랩스 마케팅 매니저조원규 전 구글코리아 R&D총괄 사장을 주축으로 구글, 삼성, 카이스트 AI 랩 출신들로 구성된 인공지능 기술 기업 스켈터랩스에서 마케팅을 담당하고 있다#스켈터랩스 #기업문화 #인사이트 #경험공유 #조직문화 #인공지능기업 #기술기업 #HR #인재의중요성

기업문화 엿볼 때, 더팀스

로그인

/