스토리 홈

인터뷰

피드

뉴스

조회수 2700

8퍼센트 Test case 작성 가이드

8퍼센트에서 Python Django 코드에 대한 Test case 작성시 사용하는 가이드를 공유해보려고 합니다.클래스명일반적으로 TestCase 를 상속 받는 클래스일 경우 class 명의 마지막에 TestCase 를 붙입니다.예제: SimpleTestCase(TestCase)함수명테스트 함수명의 경우 test_ 로만 시작하면 동작하는데 문제가 없고 테스트 코드에까지 주석을 다는 것은 번거로우므로 함수명의 test_ 뒷부분을 한글로 하여 설명을 대신하도록 합니다.class IUPaginationMethodTestCase(TestCase): @classmethod def setUpTestData(cls): cls.request = Mock() cls.request.GET = {'page': 1, 'items_per_page': 1} cls.pagination = IUPagination(cls.request) def test_page_url_기본(self): expected = '?{}=1'.format(self.pagination.page_key) self.assertEqual(self.pagination.page_url(), expected) def test_page_url_쿼리스트링_없는경우_물음표_붙인다(self): expected = '/?{}=1'.format(self.pagination.page_key) self.pagination.url_prefix = '/' self.assertEqual(self.pagination.page_url(), expected) def test_page_url_쿼리스트링_있는경우_엠퍼센드로_붙인다(self): expected = '{}&{}=1'.format( self.pagination.url_prefix, self.pagination.page_key )) self.pagination.url_prefix = '?utm=source' self.assertEqual(self.pagination.page_url(), expected) factory_boyfixture 를 대신해서 가급적 factory_boy 를 사용합니다.signals 끄기factory boy로 모델 객체 생성시 signal 이 호출되는데 signal에 대한 테스트가 아니라면 대부분 실행할 필요가 없습니다.이 때 factory.django.mute_signals를 사용해서 끄면 됩니다.decorator, context manager 둘 다 사용 가능합니다.decorator@mute_signals(signals.post_save) def test_some_code(self): some = SomeFactory() context managerwith mute_signals(signals.post_save): some = SomeFactory() 참고 링크factory_boyDisabling signalssetUpTestData vs setUpfixture를 사용하면 fixture로 정의한 모델 객체가 모든 테스트 시작 전에 생성이 되는데 유사하게 setUp 에서 factory 생성을 하게 되면 매번 객체 생성을 하게 되므로 느립니다.테스트에서 read only 로만 사용하는 객체의 경우 class method인 setUpTestData 에서 생성하면 1번만 생성이 되므로 빨라집니다.가급적 setUp 에서 매번 객체를 생성하는 것을 지양하고 테스트 함수 내에서 필요한 객체만 생성하는 것이 효율적이고 빠릅니다.method mock메소드를 mock 하는 경우 unittest.mock.patch() 를 사용합니다.decorator보통 테스트 메소드에 대한 decorator 로 사용합니다.직접 호출class 내의 여러 테스트 메소드 혹은 모든 테스트 메소드에서 동일한 함수를 mock 하는 경우에는 start, stop 을 활용하면 편합니다.예제 코드from unittest import mock class MyTest(TestCase): def setUp(self): self.mock_method1 = mock.patch('package.module.method1').start() self.mock_method1 = mock.patch('package.module.method2').start() def tearDown(self): mock.patch.stopall() def test_something(self): something() self.assertTrue(self.mock_method1.called) 참고 링크: patch methods start and stoptimezonedatetime.datetime.now() datetime.datetime.strptime() 등을 사용해서 naive datetime 객체를 django 모델의 DateTimeField 에 할당할 필요가 있는 경우 반드시 django.utils.timezone.make_aware() 를 사용해서 time-zone-aware datetime 객체로 변환한 후에 합니다.참고 링크: Django timezone 문제 파헤치기freezegun특정 시점에서의 테스트가 필요한 경우 freezegun 을 사용해서 현재 시간값을 고정합니다.가급적 decorator 나 context manager 를 사용해서 특정 클래스나 메소드, 혹은 코드 블럭에만 적용하도록 하는 것이 좋습니다.decorator 예제from freezegun import freeze_time import datetime import unittest @freeze_time("2012-01-14") def test(): assert datetime.datetime.now() == datetime.datetime(2012, 1, 14) context manager 예제from freezegun import freeze_time def test(): assert datetime.datetime.now() != datetime.datetime(2012, 1, 14) with freeze_time("2012-01-14"): assert datetime.datetime.now() == datetime.datetime(2012, 1, 14) assert datetime.datetime.now() != datetime.datetime(2012, 1, 14) 특정 테스트 케이스 전체에 적용을 하기 위해 start(), stop() 메소드를 사용하기도 하는데 이 경우 반드시 stop() 을 해주어야 다른 테스트 케이스의 시간 값에 영향을 주지 않습니다.예제from django.test import TestCase from freezegun import freeze_time class SomeTestCase(TestCase): def setUp(self): self.freezer = freeze_time("2016-01-05 00:00:00") self.freezer.start() def tearDown(self): self.freezer.stop() 참고 링크: freezegun맺음말Python Django 개발시 Test case 작성을 잘 하기 위한 8퍼센트 개발팀의 가이드를 공유해 보았습니다. Python Django 개발자들이 Test case 작성을 효율적으로 잘 해서 서비스의 안정성을 높이는데 도움이 되기를 기대해 봅니다.#8퍼센트 #에잇퍼센트 #Django #Python #장고 #파이썬 #개발 #개발자 #가이드 #꿀팁 #인사이트
조회수 319

깜짝! 서프라이즈 파티~ 지성과 미모를 겸비한 과장님 생일!

대한민국 대표배달대행바로고대한민국의새로운 배달문화를 이끌어가는바로고의 사람들삭막한 도시에서정신없는 일상그 안에서 서로서로챙겨주는훈훈한~ 바로고-바로고는팀원들의 생일까지꼼꼼하게 챙겨주며서로를 응원하며함께 일하고 성장하고 있습니다!지난 3월 24일은지성과 미모를 겸비한최지선 과장님의 생일이었어요.화려한 데코레이션으로동료들의 마음을 가득가득 담아서생일 축하 파티를 했어요~생일축하합니다~생일축하합니다~사랑하는 과장님!생일축하합니다!!!깜짝 서프라이즈 파티가 시작되었어요.모두 즐겁게 생일 축하송을 부르며과장님의 생일을 축하합니다~^^깜짝 서프라이즈 파티에기쁨을 감출 수 없는 과장님생일축하송 장면을 화면에 담으셨어요.지성과 미모를 겸비한바로고의 최지선 과장님앞으로도바로고를 잘 부탁드려요!후~ 하고 촛불을 끄고도깨비 소환도깨비는 나타나지 않았지만짧게나마 촛불을 끄며소원을 빌어봅니다.장미꽃 한 송이와 함께과장님께 마음을 전해봅니다.이럴때 정말팀웍이 넘 좋은바로고라는 점~바로고 파이팅 입니닷!마지막은 단체 사진으로역시 중요한 것은 인증샷!이렇게 좋은 회사바로고에 있습니다~^^감사합니다.
조회수 1252

내가 생각하는 2020년의 소비자기술

4년동안 인터넷에 모든 것을 바치면서 많은 것을 배워왔다.4년 전에는 상상도 못했던 챗봇, 비트코인, 인공지능, VR 등이 학문의 수준을 넘어 실제 상용화되려는 조짐이 보이는 것 같기도 하다. 많은 스타트업과 기업들이 이 새로운 변화에 대응하기 위해 선행투자를 이어가고 있는데, 나는 개인적으로 이러한 변화가 실제 소비될 수 있는 기술이 되기 까지는 일정 부분의 시간이 필요하다고 생각한다.2020년에 우리가 어떤 세상을 맞을 것이냐에 대해서 누군가 묻는다면, 나는 지금과는 완전히 차원이 다른 영역의 세상이 도래할 것이라 생각하진 않는다. 기술혁신은 매우 진보적으로 빠르게 이뤄지는데 반해 실제 소비자에게 적용되는 영역은 매우 보수적이고 느리게 적용되기 때문이다.실제로, 인간의 생활을 극단적으로 바꾼 퍼스널 컴퓨터(PC)나 모바일 컴퓨팅(스마트폰)은 우리가 예측 가능한 수준에서 매우 느리게 이뤄져왔다. PC를 상용화 시킨 것은 우리가 늘 쓰던 장부를 디지털화한 Visicalc(액셀의 원형)의 역할이 가장 컸다고 생각하고, 스마트폰은 우리가 늘 쓰던 '인터넷 브라우저'를 모바일에서 사용할 수 있다는 단순한 가치가 가장 컸다고 생각한다. 2010년 이후, 급속도로 수많은 모바일 기반의 소프트웨어와 서비스들이 등장했지만, 2017년 지금도 오프라인에서 우리가 하던 일에 이동성(Mobility)을 부여하는 서비스들이 아직도 등장하고 있다. 7년이다. 모바일 컴퓨팅이 완전히 자리잡기 까지 걸린 기간이 6-7년이라고 본다면, 3년뒤 미래가 극단적으로 바뀔 것이라는 미래학자들과 일부 진보적인 기술자들의 예언은 실현 불가능할 가능성이 크다.모바일 컴퓨팅 환경은 어느정도 자리를 잡았기 때문에 이제 사람들은 스마트폰에 다운로드할 소프트웨어를 적극적으로 찾지도, 저장하지도 않는다. 애플, 구글 모두 스마트폰 어플리케이션에 대한 고객의 채택(Adoption)은 극단적으로 떨어지고 있다.퍼스널컴퓨터(PC)가 만들어진 이후, 수많은 소프트웨어들이 탄생했지만, 결국 PC를 가장 많이 점유한 소프트웨어는 업무용 소프트웨어(오피스), 무료 메신저, 게임이다. 이게 기존 PC가 제공할 수 있는 가장 높은 가치였다고 본다. 이후 만들어진 소프트웨어들은 사용자들에게 과잉된 가치를 제공했기 때문에 큰 인기를 끌지 못하였다 보고, 그 이후 나온 것이 모바일 컴퓨팅 환경의 스마트폰이다.스마트폰 또한 수많은 소프트웨어들이 탄생했지만 결국 모바일을 가장 많이 점유한 소프트웨어는 메모, 무료메신저, 소셜네트워크, 카메라, 게임, 생활밀착형 O2O 서비스다. 그리고 여기서 더이상의 혁신이 일어나기는 힘들어 보인다.  '혁신의 딜레마'에도 나오듯, 지금부터 탄생하는 데스크톱 소프트웨어, 모바일 기반 소프트웨어들은 사람들에게 과잉된 가치를 제공해주고 있다. 이럴 때, 기술혁신과 시장혁신이 가능해지는 타이밍이라고 하는데, 극적으로 동의한다.그렇다면 이 혁신은 인공지능, VR 등 새로운 기술에서 탄생할까? 내 생각에는 기술혁신을 주도하는 것은 결국 하드웨어에 있다고 본다. 아무리 스타트업이 날고 긴다고 하여도 애플과 마이크로소프트가 만들어내는 기술적 흐름에 반하지 못했다. 지금의 세계적인 서비스들 대부분이 애플과 마이크로소프트가 만들어놓은 거대한 세상안에 구축한 작은 일부에 볼과하다. 이러한 이유로 나는 3년 뒤 기술의 미래를 보려면 애플과 마이크로소프트의 하드웨어 생산 계획을 살펴보는 것이 중요하다고 생각한다. 애플과 마이크로소프트가 동시에 밀고 있고, 미래 컴퓨팅 환경을 선도하겠다며 경쟁적으로 생산하고 있는 제품군이 무엇일까?이러한 부분에 대해 특히 우리 IT직군의 사람들이 생각하지 않는 이유는 그들이 제시하는 미래 컴퓨팅이라는 것이 나름 따분하기 때문이다. 우리는 인공지능이나 VR, 챗봇과 같은 뭔가 혁신적인 미래를 토대로 우리가 비즈니스를 만들어 나가길 바란다. 그러나, 그들이 보고 있고 계속해서 제시하고 있는 미래는 간단하다.바로 '터치형 디바이스'다. 터치형 패널의 가격이 급속도로 떨어지면서 애플과 마이크로소프트 모두 터치가 가능한 컴퓨팅 환경에 많은 돈을 쏟아붓고 있다. 애플은 아이패드 프로를 필두로 새로운 컴퓨팅 환경을 열려고 하고 있는데, 마이크로소프트는 이에 더 나아가 데스크톱 OS 환경을 터치로 이용할 수 있는 '서피스'시리즈로 시장을 점유하려 하고 있다. ASUS와 같은 선도적인 업체들 또한 마이크로소프트 OS 기반의 터치가 가능한 노트북을 출시하고 있으며, 마이크로소프트는 27인치 대형 터치 디바이스인 '서피스 스튜디오'를 출시하기도 했다.사실, 스마트폰이 터치가 된다고 하여 드라마틱하게 변화가 이뤄지지는 않았다. 스마트폰이 가진 화면크기의 제약 때문에 유저인터페이스 자체에 큰 제약이 있었기 때문이다. 그러나, 태블릿 크기 이상의 디바이스에서 터치가 가능해질 경우 양상이 완전히 달라진다.이 곳에 큰 기회가 있는 이유는 아직 12인치 이상 대형 디바이스에서 터치가 가능할 때, 최적화된 소프트웨어들이 많이 있지 않기 때문이다. 앞서 말했듯, 스마트폰 사용자의 신규앱에 대한 Adoption은 매우 낮지만 아이패드 사용자의 신규앱 Adoption은 높다. 아직 개척되지 않은 컴퓨팅 환경에 대한 시장이 존재하는 셈이다.나는 인공지능이나 VR과 같은 영역은 아직 학문적인 수준, 기업의 미래를 위한 선행투자 정도의 수준에서 수 년의 시간이 더 필요할 것으로 생각하고 있다. 기업에서 인공지능이나 VR과 같은 화두를 계속해서 던지고 스타트업들을 끌어들이고, 데이터를 끌어들이는 이유는 이 기간을 단축하기 위함이라고 본다. 결국, 아직은 소비자 레벨에서는 활용될 수 없는 영역이다.앞서 내가 말한대로 PC를 가장 많이 점유한 소프트웨어는 업무용 소프트웨어(오피스), 무료 메신저, 게임이었다. 그럼, PC에 터치형 패널이 들어가면 양상이 어떻게 바뀔까? 이메일을 보내는데 풀 터치 디바이스가 무슨 소용이란 말인가? 메신저 사용하는데 서피스 스튜디오와 같은 27인치 대형 터치디스플레이가 무슨 소용이 있을까? 리그오브레전드와 같은 게임에서 터치가 된다고 달라질 게 있을까?MS와 애플은 컴퓨팅 기술에 미묘한 변화를 불어넣었고, 그것이 터치형 UI/UX다. 아직 터치형 디바이스가 우리 삶을 압도하지 못하고 있는 이유는 PC 초기의 Visicalc 나 스마트폰 초기의 모바일 웹 브라우저와 같은 킬러 소프트웨어가 존재하지 않기 때문이다. 우리가 간과하고 있는 미묘한 컴퓨팅 환경의 변화에 생각보다 큰 혁신 기회가 있을 것이라 생각한다.뭔가 사업계획을 말할 때도 인공지능이나 머신러닝, 데이터마이닝, VR, 블록체인 등을 언급하면 매우 혁신적이고 선도적인 미래를 선도한다고 생각하는 데 반해, 이런 터치형 디바이스가 새로운 컴퓨팅의 미래라고 규정하는 것은 다소 따분하게 생각하는 경우가 많다. 그러나 소비자 기술은 이제까지의 역사를 봤을 때 매우 보수적으로 변화했기 때문에 앞으로 그 기조가 극적으로 바뀔 것이라 보지는 않는다. 우리가 기술업계에 있기 때문에 미묘한 변화를 매우 둔감하게 받아들이는 경향이 있는데, 때로는 아주 작은 것이 세상에 큰 영향을 미치기도 한다. 우리는 이런 미묘한 변화에 예민한 촉을 갖고 접근해야 한다. '마우스'라는 작은 디바이스가 우리의 세상을 어떻게 바꾸었는 지를 보면 알 수 있다. 컴퓨터 전면에 달린 카메라 하나가 우리의 업무환경을 어떻게 바꿨는지, 스마트폰 후면에 달린 카메라 하나가 세상을 어떻게 바꿨는 지 말이다. 모두가 앨런머스크고 손정의일 필요는 없겠다. 
조회수 1535

가독성있는 스타트업 기획서란?

 자, 이제 서비스에 대한 이해를 완전히 마치고 기획서를 쓸 시간입니다.만약 기획서의 목적이 금전, 또는 대회 공모와 관련이 되었다면 "기획서를 이러저러한 식으로 만들어  주세요."라는 형식의 문서 파일을 보셨을 겁니다. 그것을 통상적으로 RFP라고 합니다. 아마 서류에 나와있는 부분들은1. 창업의 배경2. 시장조사 결과와 예상 점유 능력3. 수익구조 및 서비스에 대한 상세정보4. 팀원들 및 자문위원 풀5. 예산 소요 예상도 및 순익분기점6. 별첨에 관련된 이미지(MVP 제작 정도라던지, 대외활동 증명 관련 서류  등입니다.)이 정도로 기술을 하게 되었던 것으로 기억이 납니다(하도 많이 써서 이제 거의 순서를 외울 정도네요...). "그냥 저렇게 6개 쓰면  되겠네."라고 생각하시는 분들도 많을 텐데요, 쓰기 시작하시면 생각보다 커버하는 범위가 상당히 크고, 잘 모르겠는 부분들도 분명히 굉장히 많을 것입니다. 그래서 처음부터 확실하게 계획을 세우시고 출발하는 것을 추천드리며, 각각 세부 상황들은 천천히 설명드릴 테고, 지금부터는 저는 어떻게 효과적이게 쓰는지 간단히 말씀드리겠습니다.1. 기획서 첫 작성에는 무조건 종이에 쓰고 시작해 보자- 처음부터 호불호가 많이 갈릴 것 같은데요, 제가 이렇게 하는 이유는, 첫 브레인 스토밍이나 기획서를 쓸 때는 엄청나게 많은 아이디어들이 튀어 나오실 겁니다. 기획 접근  방법에서부터, 어떤 자료들을 실을 것인지, 또 어떤 자료 들을 준비해야 할 것인지. 그리고 이러한 아이디어를 하나하나 연필이나 펜으로 적어가면서 시작하시는 겁니다. 분명히 타이핑이 훨씬 편하시고, 더 효율적이라고 생각할 수는 있으나, 기획서는 효율적이게 일을 처리하는 프로세스를 택하기 보단, 아이디어를 보다 섬세하고 잘 정리하고 논지를 설득시킬 수 있도록 이끌어 나가야 하는 문서기 때문에 보다 디테일한 프로세스가 필요합니다. 만약 다양한 아이디어가 떠올라서 이것저것을 적다가 순간 막히게 되는 경우나, 막막해지는 경우를 기획서 작성 중에 분명히 만나실 수 있을 것입니다. 그리고 만약 첫 기획 구상이나, 기획서 작성을 컴퓨터로 하시는 분들은 "내가 전에 어떤 아이디어를 냈더라?..." 하시며 고전하실 수 있습니다. 첫 기획 구상 또는 작성을 손으로 작성하시는 것은 내가 처음 생각해 냈던 신선한 아이디어를 보다 쉽게  다시 한번 찾아볼 수 있게 도와주고, 나중에 어떤 다른 기획을 하거나 글을 쓸 때 확실한 아카이빙에 도움이 됩니다.저는 기획할때 보기위해 관련 자료들을 모은 서류철이나 수첩들, 그리고 기획 초안들을 이런식으로 분류해서 모아넣고 있습니다. 저는 지금까지 적은 글들의 첫 번째 구획이나 구상을 종이에 적고 아카이빙 하는 편이고, 필요할 때 자주 볼 수 있도록 정리해 놓았습니다. 이를 통해 지금 당장의 생각으로 "이런 식의 글쓰기는 별로야, " 또는 "이건 이런 방향과 맞지 않는 것  같아."라고 생각해서 버려둔 기획 방향이나 스토리 텔링 순서도 충분히 좋은 용도로 재활용될 수 있습니다.2. 자간, 글꼴, 줄 넘기기의 미학- 폰트: 굴림, 포인트 10, 줄 간격 싱글 스페이스 1페이지에서부터 20페이지까지 활자로만 가득 찬 종이를 생각해보세요. 생각만 해도 끔찍하지 않으신가요? 대부분의 기획 요청서는 굉장히 딱딱합니다. "이런 거 저런 거를  기술하시오."라고만 적혀 있는 것이 대부분이고, 거의 파워포인트 등이 아닌 한글파일이나, 워드 파일을 요구하기 때문에 텍스트 위주의 기획서를 제출하는 것을 기본으로  설정되어있는데, 제출하는 제안서 마저도 딱딱하면 될까요? 특히 이런 문자 위주의 기획서는 내가 한 기획을 다른 사람들에게 확실하게 설명하고, 보다 확실한 협조나 지원을 받기 위해서 작성하는 문서입니다. 읽기 힘든 기획서는 읽고 싶은 마음도 없어지고, 사람들에게 부담감을 느끼게 하죠. 특히, 공모전이나 자금 원조 등을 위한 기획서가 딱딱한 문서 덩어리라면, 아무리 아이템이 획기적이더라도 글에 접근하기가 힘들어 많은 지원자들을 이길 수 없을 것이라고 생각합니다. 글의 흐름에 따라서 단락에서  한 번씩 브레이크를 주는 것, 폰트의 크기와 글자 간의 차이를 적당하게 주는 것, 그리고 넘어가는 단어들에 맞춰서 다음 줄로  글을넘겨주는것만으로도 글이 훨씬 정리되고 단정한 느낌을 주어서 글을 읽는 분들에게 더 많은 관심을 가지게 할 수 있을 것입니다. (그렇게 말은 하면서 정작 저는 그렇게 글을 잘 못써서.... ㅠㅜ 기획서는 여기서보다 간결하고 정확히 잘 쓴다고 합니다...)3. 이미지는 글의 생명 아무리 글이 이쁘게 잘 이어지고 간격에 맞춰 딱딱  나누어진다고 해도 글만 가득한 가득한 기획서는 가독성이 떨어질 수밖에 없습니다. 가끔은 아니 매우 자주 한 단락의 글보다 하나의 그림이 훨씬 큰 효과를 나타낼 수 있습니다.시장에서의 게이트키퍼의 존재와 이에 불합리화에 대한 그림! 글보다 훨씬 쉽게 들어오지 않나요?많은 분들이 단지 "요구서에 말한 데로" 글을 위주로 가 아닌 글만 주야장천 작성하신 분들도 많으실 걸로 압니다. 참고로, 제가 아는 스타트업종사자중 한분은 "내 기획서는 왜 이렇게 잘 안되니?"라고 하시며 저에게 기획서를 첨삭을 부탁해서 도와드린 적이 있었는데, 20여 장의 종이에: 폰트 10, 굴림, 싱글 스페이스로 된 글을 본 적이 있습니다. 이쯤 되면 적으신 분도 정말 대단하다고  생각하시지요? 처음부터 기획서를 잘 쓰고, 설득력 있게 쓸 수는 없어요, 저 역시 많은 시행착오를 겪고 있는 중이고, 지금도 나는 백 프로 "기획서를 잘  작성한다."라고 말씀드릴 순 없습니다. 그럼에도 불구하고 느낀 것은 기획서를 작성하는 것은 결국 문서작성에서도 "커뮤니케이션" 기술이 가장 필요하다 라는것 입니다. 완전 생뚱맞게 커뮤니케이션 스킬이 나왔다고 생각하시나요? 그럴 수도 있지만 제가 지금까지 말씀드린 3가지가 모두 커뮤니케이션에 대한  이야기입니다. 저는 기본적으로 생각하기에 커뮤니케이션이란 "입장 바꿔서 생각해  보기."라고 생각합니다. 내가 상대방의 입장이 100% 될 순 없지만, "저 사람이 내가 지금 할 행동을 취하면 어떻게 반응이 올까?"라는 정도만이라도 생각해보면 많은 변화를 느낄 수 있을 것 같아요, 간혹 어떤 서비스에 대하여 설명하기 위해 오신 분이 20장짜리 순수한 글로만 작성되어 있는 기획서를 앞에서 주고 읽고 피드백을 주세요 라고 하면, 어떠실 것 같나요? 많이 답답하시겠죠? 결국 여러분의 기획서를 읽는 분들도 여러분들과 같은 분들입니다. 만약 여러분들이 심미적으로 아름답고 이해하기 쉬운 기획서를 읽게 되면 기분이 좋듯이, 여러분의 기획서를 읽는 분들도 그렇게 느낄 수 있도록 하는 것이 기획서를 잘 쓸 수 있는 기초적이고 기본적인  팁입니다.#코인원 #블록체인 #기술기업 #암호화폐 #스타트업인사이트
조회수 631

1% 협업러의 커뮤니케이션 스킬 5가지

주변을 둘러보면 ‘생산성’이 뛰어난 사람이 한 명씩은 있다. 그들은 동시에 여러가지 것들을 진행하는데 결과마저 좋다. 심지어 커뮤니케이션 능력도 뛰어나기 때문에 그 팀은 팀워크도 최상이다. 옆에서 보고 있노라면 그렇게 많은 프로젝트와 커뮤니케이션을 성공시키는 ‘비결’이 궁금해진다. 그들은 정말 DNA가 다른 걸까? 아니면 후천적으로도 가능한걸까. 회사에서 동료들에게 좋은 평가를 받는것은 결코 중요하다. 지금부터 모두의 이익이 최상이 되는 방법, 모두의 피해를 최소화 하는 지혜로운 해결책을 도출 할 수 있는 1% 협업러의 커뮤니케이션 스킬 5가지를 공개한다. 1. 열정 에너지를 가진 매력적인 동료가 되자.이름만 떠올려도 같이 일하기 불편한 동료가 있는가 하면, 이름만 떠올려도 같이 일하고 싶게 만드는 동료가 있다. 그리고 방금 떠올린 같이 일하고 싶은 동료들의 공통점을 뽑자면 ‘열정’이라는 키워드가 잘 어울리는 사람일 것이다. 매사에 ‘열정’적인 에너지를 가진 사람이라면, 누구든 같이 일하고 싶게 만드는 매력과 이끌림을 가진 사람이라고 볼 수 있다.“열정은 나도 모르게 전염된다.” 재미있는 사실은 열정이 부족한 사람도, 열정이 넘치는 사람을 보면 끌리게 되어 있다고 한다. 무의식적으로 자신이 잊은 걸 상기시켜 주기 때문이다. 열정은 전염이 아주 강해서 주변인들에게 뜨거운 자극이 되고, 결국 조직의 분위기를 바꾸는 가장 큰 원동력이 된다고 볼 수 있다. 현재 내 열정이 조금 부족하다고 느껴진다면 열정 충만한 동료와 에너지를 함께 부딪히는 것도 좋다.“열정이 있는 사람에게는 매일이 천국이다.” 상위 1% 협업러들은 ‘열정’ 은 내가 가진 능력보다 더 큰일을 해낼 수 있게 만드는 힘이라고 한다. 그리고 그  열정을 지속적으로 유지할 수 있는 비결은 언제나 내가 하고 있는 일에서 가치를 찾는다고 답한다. ‘내가 하고 있는 일에서 가치를 찾는다 = 하고 싶은 일을 한다.’라는 말이 아니다. 나에게 어떤 일이 주어지던지 누군가가 시켜서 억지로 하는 것이 아니라 잘 해야 하는 이유를 스스로 찾으면서 그 업무를 해결하는 과정을 즐기라는 말이다.  2. 공감은 오아시스를 만든다.회사 내에서도 포식자가 들끓는 정글 같은 팀과 사막 속 오아시스 같은 팀의 차이는 무엇일까?그 해답은 공감에 있다.업무의 대부분은 분업되어 있다. 일을 하기 위해서는 다른 구성원과의 협업이 필수라는 얘기다. 협업은 구성원이 각자의 아이디어를 보태어 더 좋은 결과물을 만들어가는 과정을 거쳐가게 되는데. 이때 어떤 의견에 대해 공감하지 않고, 비판이나 무시를 거듭하면, 말해봐야 소용없다는 것을 학습한 구성원들은 새로운 아이디어를 내지 않게 된다. 이렇듯 업무와 공감은 땔 수 없는 것이다.공감이 없으면 커뮤니케이션도 없다.커뮤니케이션이 없으면 협업도 없다.취업포털 잡코리아가 직장 내 소통을 주제로 직장인 2860명을 대상으로 실시한 설문조사에 따르면 직장인 79.1%가 직장 내 소통장애를 경험한 적이 있다고 답했다. 소통 장애가 겪으면 근로 의욕이 꺾인다는 응답이 44.0%에 달했다. 하지만 이 설문에서 더 집중해야 되는 부분은 바로 다음이다. 소통을 위해 가장 중요한 것을 묻는 질문에 설문자들은 공감 능력(28.4%)을 1위로 꼽았다.한국은 멕시코에 이어 OECD 국가 중 두번째로 노동시간이 긴 나라이다. 우리는 하루의 대부분의 시간을 회사와 일에 묻혀 산다. 워라벨이 강조되는 이 시대에도 여전히 회사생활은 우리 시간의 많은 부분을 차지한다. 얼굴에 웃음을 띄며 만나는 사람은 친구가 되고, 노기를 띄우며 만나는 사람은 적이 된다는 말이 있다. 전하는 말에 공감을 담아 자신과 상대 모두 잠시나마 힐링되는 회사 생활이 될 수 있기를 바란다. 3. ‘발전적 피드백’으로 팀의 업무 완성도를 S급으로 높이자.팀 단위로 공동 목표를 가지고 업무를 수행할 때 피드백을 하는 사람도 피드백을 받는 사람도 서로의 감정과 시간에 대한 소모가 크기 때문에 스트레스로 여기는 경우가 많다. 그러나  상위 1% 협업러들은 피드백으로 작업 완성도를 높이는 것을 일련의 업무 과정으로 여긴다. 발전적 피드백은 리더가 팀원에게 일방적으로 조언을 전달하는것이 아니라 직책을 떠나 서로 조언과 정보를 나눌 수 있는 상호 커뮤니케이션의 기회가 되어야 한다. 팀의 무한한 성장을 위해 피드백을 즐기는 상위 1% 협업러들은 피드백은 하는 사람도, 받는 사람도 즐거워야 한다고 말한다.2-1) 수정 피드백을 하는 입장일 때, 나는 A / B / C 중 어떤 모습일까?‘일 잘하는 사람 = 피드백을 잘하는 사람’이라는 공식이 성립되는 것은 아니다. 종종 일을 잘하는 사람 중에 본인의 능력이 타인보다 출중하다고 생각하여 기고만장한 태도를 가진 사람들은 대체로 팀원들을 존중하지 못하고 가혹한 피드백을 하는 경우가 많다. 같이 일하는 직원들의 자존감을 떨어뜨리는 피드백은 동기부여를 잃게 하는 독설일 뿐이다. 피드백은 ‘할 것인가, 말 것인가’보다 ‘어떻게 잘 할 것인가’를 고민하는 것이 더 중요하다고 한다. 작업자의 결과물이 부족하다고 느껴 수정 피드백을 할 때는, 작업 수행자의 의도를 간단하게라도 듣고 공감을 표시한 후 내 생각을 전달하는 것이 좋다. 1분 1초가 빠르게 돌아가야 하는 치열한 업무 시간에 C와 같이 긍정적 피드백의 힘을 기르는 것은 말처럼 쉬운 일은 아니다. 때문에 우리는 대부분 A or B와 같은 모습일 것이다. 그러나 태도가 차이를 만든다는 것을 명심하라. 피드백 사냥꾼이 될 것인지 상위 1% 협업러의 차이를 만들 것인지는 본인의 선택에 달려있다.   2-2) 부정적 피드백을 받았을때, 나는 A / B / C 중 어떤 모습일까?내 결과물에 부정적 피드백을 받았을 때 기분 좋게 수용할 수 있는 사람은 극히 드물다. 대부분 방어적인 태도를 보이거나 내 생각이 옳음을 증명하기 위해 피력하는데 급급하여 ‘갑분싸’ 상황이 발생하기도 한다. 이러한 상황이 반복되다 보면 서로 피드백을 주고받는 것이 부담스러워서 결국 더 좋은 조언을 주고받을 수 있는 무한한 기회를 잃게 된다. 내 결과물이 언제나 칭찬과 인정을 받을 수 있으면 좋지만 그렇지 못하더라도 피드백은 무조건 환영하는 태도를 가져라. 내가 잘하고 있는 것인지 확인받고 싶어도 수년 직장 생활 중에 제대로 된 피드백을 받지 못한 직원들도 수두룩하다. 피드백은 돈 한 푼 들이지 않고 내 결과물을 객관적인 시선에서 발전시킬 수 있는 절호의 기회다. 타인의 피드백을 내 것으로 만들어 ‘질적인 전환’을 즐기는 것이 상위 1% 협업러의 특급 노하우다.4. 신뢰의 기본은 약속을 잘 지키는 사람.회사에서 같이 협업하고 싶은 동료를 떠올려 보자. 대부분의 사람들은  ‘업무 능력이 뛰어난 동료’가 아닌 주어진  ‘업무 약속’을 성실히 잘 지키고 신뢰할 수 있는 직원을 떠올릴 가능성이 높다. 그렇다면 내가 동료들에게 신뢰를 받는 사람일까?라는 질문은 스스로에게 해보자. 평범한 직장인이라면 대부분 이런 생각을 거의 해본 적이 없을뿐더러, 자신 있게 ‘Yes’라고 대답할 수도 없을 것이다. 상위 1% 협업러들은 동료들에게 신뢰를 얻는 것이 기본 덕목이라고 말한다.■ 업무 마감일 하루 전, 나는 A / B / C 중 어떤 직원의 모습일까? 업무 약속의 가장 기본이 되는 요소 바로 ‘일정 관리’다. 회사에서 일정이라는 것은 단순히 날짜가 아니다. 조직이 목표로 한 기간 내에 원하는 프로젝트를 끝내기 위한 수단이다. 내가 일정 관리를 놓쳐 일이 늘어지는 만큼 함께 일하는 동료 또한 시간적 여유를 잃는 악순환이 반복된다. 일정은 상호 커뮤니케이션의 기본이 되는 약속이기에 기획자도 디자이너도 개발자도 정해진 일정 내에 약속한 수준의 결과물을 전달해 주어야 전사적으로 업무가 원활히 이루어질 수 있다. 아무리 뛰어난 업무 능력을 가지고 있더라도, 매번 마감일을 준수하지 못한다면 직원들은 모두들 당신과의 프로젝트에서 불안함을 느끼기 마련이다. 업무의 시작일과 마감일을 잘 지키는 것, 그것이야말로 회사의 동료들에게 신뢰받는 1순위라는 것을 명심하자.5. 평일은 ‘프로’답게, 주말은 ‘프리’하게상위 1% 협업러들은 평일과 주말의 균형, 즉 일과 개인 삶의 균형을 조화롭게 이루는 것이 매우 중요하다고 말한다. 평일 ‘프로’답게 일하고, 주말은 업무에서 해방되어 ‘프리’한 상태를 즐기는 것이 그들의 공통점이다. 즉, 일을 잘하는 사람은 노는것도 잘 논다는 말이 맞는 셈이다.5-1) 평일은 프로답게 : 금요일을 찝찝하게 퇴근하지 마라.    두 상황에서의 주말은 극과 극이다. 전자는 주말 리프레시를 위한 힐링의 출발선이라면, 후자는 몸은 집에 마음은 회사인 억울한 주말의 출발선이다. 주말을 주말답게 리프레쉬 해야 상쾌한 월요일 출근이 가능한데 해결하지 못한 업무들을 마음에 담아둔 상태로 주말을 업무 지옥으로 보낸다면 마치 14일 연속 출근하는 기분이 들지도 모른다. 금요일에 일을 완벽하게 마무리하고 퇴근 하기 위해서는 아래와 같은 3set 공식으로 일한다고 하니 참고해보자.월,화요일은 그 주에 가장 중요한 업무의 70% 이상을 몰입해서 다 처리한다고 한다. 월,화에 가장 중요한 업무를 빠르게 해결 해야 비교적 한 주가 여유로워지기 때문이다. 이때는 업무 몰입을 위해 회의, 미팅을 최소화 시기기도 하다. 수,목요일은 후 순위 남은 업무를 처리하면서 좀 더 여유를 가지고 마음으로 다양한 사람들과 회의도 하고 아이디어를 나눈다. 그리고 월+화 업무를 좀 더 디벨롭 시키면 더할 나위 없이 좋다. 마지막 금요일은 한 주를 돌아보는 가장 중요한 시간이다. 그 주의 good & bad를 정리하고 더 나은 차주 업무 계획을 세운다.  5-2) 주말은 프리하게 : 일 스트레스를 날리고, 더 재미있게 일하는 에너지!나에게 주어진 일만 잘 수행한다고 10년, 20년 인정받으며 롱런하는 직장인이 될 수 있을까요? 비즈니스 세계에서 더 인정 받기 위해서는 ‘협업’ 시너지를 잘 내는 것이 매우 중요하다고 생각합니다. 서로의 부족함을 채우고 장점을 극대화 하여 1+1 = 3을 만들 수 있는 1% 협업러가 되길 바랍니다. 마지막으로 최근 협업툴 플로우에서 1,429명 직장인 대상으로 진행했던 의미있는 설문조사 결과 리포트를 공유드리며 본 글을 마무리 하겠습니다.플로우 사용을 경험한 응답자 1,429명은 플로우 사용 전·후 ‘팀 협업’ 만족도와 ‘개인 업무 관리’ 만족도가 크게 개선됐다고 평가했다. 플로우를 사용을 통해 동료와의 협업 만족도는 22점 상승했다. 팀간 실시간 업무 진행 사항 한눈에 파악된다는 점이 긍정적으로 작용된 것으로 판단된다. 개인 업무 관리 만족도는 무려 31점이 상승했다. 응답자 1,429명은 이메일, 단톡방 사용 대신 플로우를 통해 하루 55분의 비효율적인 시간을 단축할 수 있었다고 대답했다.직장인 1,429명의 디지털 업무 경험 결과가 궁금하시다면지금 바로 신청하세요!👉선착순 신청하기
조회수 1901

스팀헌트 피칭

스팀헌트 프로젝트를 시작한지 1년 반, 남들은 제품 만들기도 전에 백서 하나로 ICO부터 해서 돈 부터 끌어모아서 사업하는 이바닥에서 우리는 거꾸로 제품부터 만들어 1년 넘게 운영하다가 이제 IEO (Initial Exchange Offering)를 통해 펀드를 모집하고 있다. 우리가 이렇게 정 반대의 트리를 타게 된 1년 반의 여정을 아주 솔직하게 풀어보려고 한다.1. 심플한 시작2017년 여름. 비트코인이 2천불을 넘어 고공행진을 하려 용트림을 하던 그 시기. 이 글을 읽는 대부분의 사람들처럼 우리 팀 역시 이 "대세"에 합류하고자 블록체인 사업에 뛰어들었다.솔직히 세상을 바꾸겠다는 포부나 사토시 나카모토의 이상을 실현한다는 둥의 그런 거창한 목표따윈 있지도 않았다. 제품 개발을 즐기는 우리들에게 (그래서 해카톤 나가서 상 타오는게 취미인 우리들에게) 블록체인이란 그저 신기하고 재미난 장난감, 그리고 잘만 하면 뭔가 용돈벌이좀 되겠다는 생각이 전부였다.우리 팀은 원채 소셜쪽에 관심이 많았기에 (이 전에 했던 제품 역시 바크 (Bark)라는 개가되어 짖어보자는 요상한 컨셉의 소셜 앱이였다), 자연스럽게 스팀 (Steem)이라는 블록체인에 관심을 갖게 되었다. 솔직히 스팀잇 (스팀 블록체인에서 돌아가는 최초의 DApp) 보다는 컨텐츠와 보팅이라는 단 두개의 아주 심플한 단위를 가지고 복잡한 토큰 경제가 결합된 댑을 만들 수 있다는 점에 매료되어 미친듯이 스팀 위에서 할만한 아이템을 찾게 되었고, 마침 우리가 활발하게 활동하고 있던 "프로덕헌트 (https://www.producthunt.com/)"에 스팀 토큰 경제를 붙이면 뭔가 그림이 나올것 같다는 생각이 들어 바로 5개월동안 하던거 다 제껴두고 제품 만들기에 들어갔다.2017년 10월 31일 우리 이런거 개발중이라고 스팀 커뮤니티에 처음 공개한 글 - Introducing SteemHunt: Steem Fueled ProductHunt - Make money by discovering cool products every day(남들 팀 짜고 백서 부터 만들어서 신나게 ICO로 돈 긁어모으고 있을때 우리는 이러고 있었다...)2. 단 100명이지만 뜨거웠던 초기 유저드디어 2018년 3월 5일, 스팀 커뮤니티에 두둥~! 하고 스팀헌트라는 제품을 선보였다. 스팀헌트는 테크 얼리어답터들이 인터넷에서 발견한 테크 관련 신박한 제품들을 "나 오늘 이런거 발견했는데 어떰? ㅇㅈ?" 이런 느낌으로 간단하게 공유하고, 서로 니꺼가 쿨하네, 내꺼가 더 ㅇㅈ네 하면서 랭킹 경쟁을 벌이는 커뮤니티 사이트 이다. 이걸 스팀 위에서 돌림으로써, 저런 서로의 덕후심을 뽐내는 이들이 스팀 토큰 보상을 받을 수 있어 더욱 덕후활동을 더 열심히 하게 만드는 댑 (DApp) 인 것이다.우리가 비록 두명밖에 없는 작은 팀이지만 제품 하나 만드는 솜씨는 솔직히 그 어떤 스타트업들과 비교해도 자신 있었기에 당시 현존하는 블록체인 기반 댑들 중에서 가장 수려한 인터페이스를 (그냥 우리끼의 착각일수도 있는) 자랑하는 제품을 선보였다는 자아도취감에 빠져 있었다.2018년 3월 5일에 발표한 런칭 공지 - Introducing Steemhunt: Daily ranking of effortlessly cool products fueled by STEEM blockchain그러나 (바로 스팀 커뮤니티를 정복할거라고 자신했던) 기대감과는 다르게 초기 3달간 유저는 50-100명 수준을 맴돌았다. 사실 지금에와서 생각해 보면 처음부터 유저가 급작스럽게 늘지 않고 아주 적은수의 열성 유저들로만 2-3개월을 보낸것이 현재 헌트 플랫폼으로 발전시키게 된 원동력이 되었다.이 초기 100명의 유저가 얼마나 열성적인 유저였냐면, 그 당시 우리가 보유한 스팀파워가 아주 초라한 수준이었기 때문에 스팀헌트에 열심히 헌팅한다고 아무런 돈도 되지 않던 그 시절, 매일같이 하루도 빠짐없이 제품을 발견해서 헌팅하고, 서로 발견한 제품들 토론하면서 재밌어하고, 심지어 우리가 부탁하지도 않았는데 알아서 우리 제품을 유투브, 레딧 등에 매일같이 홍보하는 100명의 유저가 생겼다.(스팀헌트 시작한 날부터 무려 1년 넘는 시간동안 하루도 안빠지고 유투브에 스팀헌트 관련 영상을 올려주는 유투버이다. 물론 하루에 제품도 2-3개씩 공유하는 열성 헌터이다.)3. 토큰 경제를 붙이면서 드디어 비상 - 전 세계 댑 순위 7위까지 등극그 당시 수 많은 ICO들이 "유틸리티" 토큰을 주장하며 모금했던 수십 수백억이 시장에서 증발하던 시기였다. 우린 이런 생각을 하기 시작했다. 사탕 사먹으라고 발행한 백원짜리 동전을 손에 쥔 백명의 사람들이 사실 사탕 사먹으려는게 아니고 모두 이백원, 삼백원에 팔기위해 손에 쥐고 있는 사람들로 채워지니 그놈의 "유틸리티"가 생길리가 있나...그래서 우리는 커뮤니티를 유지/발전시키는 핵심 활동들, 그리고 그 공헌도를 매일 정량화시켜 토큰 바운티 보상으로 결합시켜서 무려 1년간 토큰 유틸리티를 만드는 실험인 헌트 토큰 바운티 프로그램을 시작했다. 특히, 헌터 활동의 리워드 풀을 형성하기 위한 스팀파워 임대를 기반으로 헌트 토큰을 가치로 환산해서 스왑해주는 스폰서 프로그램도 같이 시작하였는데, 이게 스팀 커뮤니티에서 대 히트를 치면서, 정말 유저 그래프가 아래처럼 치솟는 경험을 하게 된다. 이 무렵 스팀잇 재단으로부터 그 당시 싯가로 10억이 넘는 금액인 백만 스팀파워를 임대 투자 받으면서 스팀헌트는 스팀 커뮤니티의 명실상부한 탑 10 댑 (DApp)의 지위를 얻게 된다. 특히 전 세계 약 2,600개의 댑들의 실제 트랜젝션 데이터를 기반으로 매일 랭킹이 매겨지는 권위있는 사이트인 스테이트오브더댑스 (State of the DApps)에서 2019년 1월에는 전체 7위를 하기도 했다. 이 후에도 항상 상위 20위권을 계속 유지중이다. 특히 도박, 게임류를 제외한 소셜부문은 전체 5위를 계속 유지중이다. 4. 고난의 길 - 어뷰저와의 반년간의 처절한 싸움사실 조금 극단적으로 말하면, 이걸 경험해 보지 않은 대다수의 리버스 ICO들은 단언컨데 토큰 경제를 붙이는 순간 폭망할 것이다. 왜냐면 어떤 서비스더라도 '보상'행위가 붙는 순간 시스템을 어뷰징해서 더 많은 보상을 타가고자 하는 지능적인 어뷰저들이 대거 달라붙게 되고, 이를 시스템적으로 개선하지 못하면 아무리 백만, 천만단위를 자랑하던 서비스더라도 유저들이 일장춘몽처럼 사라지게 된다.우리 역시 리워드 풀의 규모가 커지면서 대규모의 지능적인 어뷰저들의 공격을 받기 시작했다. 이들과 싸우는 처절한 전투 이야기를 여기서 다 풀면 글이 너무 길어지기에, 짧게 요약하면, 우리는 이들의 행위를 시스템적인 디텍션 알고리즘과 커뮤니티기반의 감시 시스템, 그리고 공헌도에 대해 상대적으로 검증하는 유저 스코어 시스템을 도입하여 스케일이 가능한 수준으로 발전시켰다. 지금은 우리의 이 노하우를 다른 스팀 댑들과도 공유하는 블랙리스트 / 화이트리스트 데이터베이스까지 운영할 정도로 우리의 토큰 모델은 다른 어떤 블록체인 기반 댑들이나 리버스 ICO 프로젝트들과 비교해도 월등한 수준이라 자신한다.https://github.com/Steemhunt/whitelist/blob/master/steemhunt/blacklist.json5. 덕후심을 메이커에게 팔 수 있는 토큰 경제 - 헌트 플랫폼으로 확장스팀헌트가 이제 월 6-10만 정도의 트래픽, 온체인에서 15,000명 이상의 헌터들이 활동하는 유저 기반이 쌓이고, 온-오프 체인 기반의 토큰 모델이 정교하게 결합된 헌트 토큰 경제를 운영하다 보니, 이제 판을 더 크게 키우고자 하는 포부가 생기게 되었다.특히, 그간 숱하게 생겼다 사라진 "리워드 기반의 보상형 소셜" 댑들의 가장 큰 문제는 바로 이건데,유저들이 벌은 저 토큰의 사용성은 그래서 무엇?이거에 대해 명확한 답을 제시할 수 있는 댑 프로젝트가 많지 않은게 현실이다. 우리는 이에대한 해답으로, 스팀헌트라는 순수 커뮤니티를 기반으로 이들의 덕후심, 즉 얼리어답터들의 테크 제품에 대한 지식, 열정, 전파력등을 기업들이 자유롭게 활용 가능한 인플루언서 기반의 거래 플랫폼으로 발전시키는 헌트 플랫폼 계획을 발표하였다.헌트 플랫폼은 크게 다음 세가지 레이어로 돌아가는 메이커와 테크 얼리어답터간의 연결 플랫폼이다.커뮤니티 레이어: 광고 모델이 필요 없는 자생가능한 테크 커뮤니티인 스팀헌트가 플랫폼 전체의 기반 레이어로서 얼리어답터를 생태계로 공급하는 역할을 담당한다.댑/서드파티 레이어: 테크 메이커가 얼리어답터들과 다양한 형태의 가치교환이 가능한 리뷰헌트, 아이디어헌트와 같은 댑이 운영됨으로써 토큰의 사용성을 제공한다.메이커/컴퍼니 레이어: 얼리어답터들의 전파력을 활용하여 신제품 런칭의 파급력을 높이고자 하는 테크 메이커들을 지속적으로 유입시킨다.즉, 요약하면 스팀헌트를 통해 꾸준히 유입되는 테크 덕후들을 기업들이 리뷰헌트를 통해 다양한 리뷰 캠페인 거래를 제안할 수 있고, 아이디어헌트를 통해 크라우드펀딩을 진행함으로써 그들의 신제품 런칭에 테크 덕후들을 엮어서 런칭 버즈를 최대화 할 수 있는 플랫폼이다.이렇게 기업들이 테크 덕후들의 자원을 활용하기 위해 헌트 토큰을 사용하고, 헌터들 역시 기업들이 리뷰를 위해 할인된 가격으로 판매하는 제품들을 구매하거나 크라우드펀딩에 참여하기 위해 헌트 토큰을 사용함으로써 헌트 토큰이 계속 순환되는 경제를 만들고자 함이다.6. 우리의 아주 현실적인 포부우리가 하려는 헌트 플랫폼은 사실 탈중앙화로 세상을 바꾸는 것도, 어려운 기반기술로 나같은 문돌이들은 1도 이해 못할 메인넷 비전을 팔려는 것도 아니다. 우리의 비전은 사실 아주 심플하다.기업들이 테크 덕후들을 활용하여 글로벌 단위의 제품 런칭 마케팅을 펼칠 수 있는 가장 쉬운 플랫폼 구축지금까지는 기업들이 이런 얼리어답터들을 타겟팅 하려면 레딧이나 프로덕헌트, 혹은 테크 리뷰어들을 일일이 찾아서 마케팅을 제안하는 방식이였다. 특히 레딧은 각 서브레딧마다 고유의 문화와 룰이 있기 때문에, 거기에서 열심히 활동한 사람이 아니면 절대 접근 불가능한 속성도 존재한다.헌트 플랫폼은 이런 테크 덕후들이 스팀헌트라는 놀이터에 모여있고, 기업들은 리뷰헌트를 통해 이들에게 자신들이 근거지로 활동하는 레딧, 해커뉴스, 유튜브 등 각 채널에서의 리뷰 마케팅을 제안하고, 아이디어 헌트를 통해 이들만을 위한 한정판 발매, 제품 우선권등을 거래할 수 있는 크라우드 펀딩이 결합되어, 기업 입장에서는 비교적 저렴한 자원으로 효율적인 런칭 마케팅을 진행할 수 있는 플랫폼을 만드는 것이 우리의 목표이다.7. 아주 현실적인 팀과 커뮤니티스팀헌트 팀은 사실 단 두명이다. 이 글을 쓰고 있는 내가 (조영휘) 디자인과 마케팅을 담당하고 있고, 다른 한명 (김동혁)이 혼자서 개발을 도맡아 하는 중이다. 우리가 굳이 이렇게 극단적인 린 팀 (Lean Team)을 운영하는 이유는 (돈이 모잘라서이기도 하지만) 팀은 유저 스케일이 커지면서 거기에 fit이 가장 맞는 사람으로 충원해야 한다는 철학이 있기 때문이다.솔직히 아직 제품도 없고 유저도 없는 팀이 벌써 CEO, CSO, COO, CTO등등 C 레벨만 5명 이상, 개발, 운영 포함 수십명짜리 팀을 구성하는건 우리 철학에 맞지 않는 방식이다. 유저 스케일이 커지게 되면 원래 설계했던 R&R이 180도 바뀌게 마련인데 이걸 미리 예측해서 팀을 짜는게 절대로 불가능하기 때문이다.그러나 하루 수백개의 제품이 공유되고 수만명의 헌터들의 커뮤니티 관리를 위해서는 당연히 대규모 인력이 필요할 수 밖에 없다. 그래서 우리가 고안한 방법은 커뮤니티 관리 역할을 커뮤니티에서 선출하여 운영하는 매니저, 모더레이터, 큐레이터 롤 이다.우선 팀 급의 인력은 위에 설명한 두명의 팀원에 커뮤니티에서 선출된 두명의 매니저를 충원하여 운영하고 있다. 여기에 더해 커뮤니티에서 선발된 총 10명의 모더레이터가 커뮤니티에 공유되는 모든 컨텐츠를 점검하고, 저작권 침해 가능성을 방지하는 역할을 하고, 큐레이션 기여도가 가장 높은 상위 20명이 매주 선발되 visibility가 저조한 우수 컨텐츠들을 발굴하여 추천하는 역할을 수행하고 있다.8. 우리는 제품 전문가입니다모든 팀이 각기 자신 있는 분야가 있듯이, 우리 스팀헌트 팀이 가장 자신 있는 부분은 "섹시한 제품"을 만드는 것이다. 그게 블록체인 기반이던 아니던 상관 없이, 우리가 지금까지 그래왔고, 앞으로도 집중할 부분은 실제 유저가 열광하게 만드는 제품을 만들어서 pump and dump에 기반한 가치가 아닌 실 유즈 케이스에 기반한 가치를 만드는 일이다.우리의 이런 여정에 함께할 투자자를 IEO (Initial Exchange Offering)을 통해 모집 중이고, 이미 지난 3월 14일 - 18일까지 IDCM에서 진행한 1차 IEO에서는 타겟 금액의 146% 이상이 모이면서 성공적으로 완판이 되었다.뭔가 기승전토큰세일홍보로 글이 귀결되는듯 하여 심히 미안한 마음이 들긴 하지만, 혹시라도 제품도 없이 출처 불명의 (혹은 성사 가능성이 모호한) 각종 파트너십, 협약 등으로 점철된 토큰 세일에 지쳐 뭔가 다른 프로젝트 투자처를 물색하고 계신 분이라면, 우리 프로젝트를 한번 살펴봐주길 바라는 마음에 우리 2차 세일즈에 대한 홍보를 하고자 하니, 이 홍보가 거북하신 분은 여기서 창을 닫아 주시면 감사하겠다.헌트 플랫폼의 2차 세일즈는 3월 22일 (금) 부터 26일 (화)까지 프로비트 거래소에서 진행될 예정이다. 특히 이번 세일즈에서는 IEO 최초로 스팀 토큰을 지원하는 점 때문에 스팀 커뮤니티에서도 큰 관심을 받고 있다.IEO 페이지 확인 - https://www.probit.kr/ko-kr/ieo/hunt-round1/0글로벌 프로젝트인 만큼, 우리 공식 채팅 채널들은 죄다 English-only로만 운영중이다. 이에 한국 투자자분들의 불편을 해소하고자 IEO를 위한 임시 카카오톡 채팅방도 운영중이다.https://open.kakao.com/o/g1odiHhb혹시 이 프로젝트가 진짜로 어떻게 돌아가고 있는지, 헌터들이 어떤 식으로 활동하고 다니는지를 알아보고 싶으신 분은 우리 공식 디스코드 채널에 조인하시면 모든 커뮤니티 활동을 모니터링 할 수 있다.https://discord.gg/Zda7Trs스팀헌트 프로젝트의 모든 공식 발표는 스팀헌트 스팀잇 블로그를 통해 이루어지는데 아쉽지만 영어로만 발표된다 (한글버전은 내 개인 스팀잇 블로그인 @project7을 통해 확인할 수 있다).https://steemit.com/@steemhunt
조회수 5933

강아지 맡길 곳 필요한데 어디가 괜찮나요?

강아지 키우는 분들은 한번 쯤은고민하셨겠죠. "강아지 맡길 곳"여행갈 때도 있고출장을 갈 때도 있고집안 일이 생길 때도 있어서가끔 집을 비워야 할 때가하루 이틀이 아닌데이럴 때 마다 너무너무 고민이 많으셨을거에요우리 강아지를 꾸준히믿고 맡아줄 사람이 있었으면 좋겠다...그리고... 강아지 맡기는 곳이 될 수 있으면...- 우리집에서 가까운 곳이였으면- 믿고 검증된 사람이었으면싶습니다...강아지를 키우는 분들 중에이런 고민을 하는 분들을 위해서준비한 포스팅입니다강아지를 맡겨야 할 때보통 애견호텔, 호텔링 많이들 찾으시는데요사실 애견호텔은 케이지 안에서 지내야하거나다른 여러 마리의 강아지와 함께 지내야하는경우가 많아- 전염병에 대해 노출될 위험이 있고- 강아지들은 극도의 스트레스와 불안감을받게 됩니다.특히 사회성이 없는 강아지들은더더욱 애견호텔에서 힘든 시간을 보내는경우가 많다고 합니다.그러니 이제는 강아지 맡겨야 할 때검증된 펫시터들의 실제 '가정집'을 이용해보세요.우리 집과 비슷한 환경에서엄마의 손길과 비슷한 펫시터의 따뜻한사랑과 관심을 받으며...!*그리고 무엇보다*일대일 케어 정책으로,다른 강아지들과 섞여 위험하게 지낼 일이 없습니다!무엇보다 사이트에 등록된*1,000건 이상의 후기들이펫시터의 퀄리티와 안전성을 보장해주지요.벌써 두번째 돌봄 입니다.제일 큰 장점은 펫시터가 한 분이 아니라 '온가족'이라는 점입니다.펫시터님 댁에 있을땐 온가족의 사랑을 독차지하며예쁨을 받아 토리가 집에 오기 싫은것 같더라구요.안심하고 맡길수있는 이모네가 생긴것처럼 든든해요.실시간으로 아이의 일거수일투족을 관심있게 봐주시고사진과 동영상을 계속 보내주셔서,떨어져있음에도 불구하고 함께 있는 기분이었어요!괜히 인기가 많으신 분이 아니었다는!삼식이는 분리불안도 있고 사회성도 꽝인 아이라,아무 곳이나 맡길 수가 없는 아이예요...우연히 도그메이트의 둥이 어머니를 만나게 되었는데,삼식이의 행동 하나하나를 체크해서 말씀해주셔서여행 내내 마음 편히 보낼 수 있었습니다.이번 펫시터 서비스를 통해 많이 배우고 갑니당.둥이어머니와 가족분들 너무 감사드려요!강아지 맡길 때는 호텔링만 이용했었는데,찾으러 가면 애들 얼굴도 뭔가 어두워져 있고대부분을 케이지에 가둬놓기 때문에 늘 마음이 불편했어요.도그메이트 알게 돼서 처음으로 두 아이 함께 맡겼어요.날 좋은 날은 산책도 두 번이나 시켜 주시고,무엇보다 큰 아이는 심장병 약 복용 중인데걱정없이 잘 케어해 주시고, 안약도 잘 넣어 주셨어요.아무리 추천을 해도 부족해요.여행일정을 잡아놓고 까칠한 성격이라가족 이외엔 곁을 안주는 우리 두부땜에 걱정이 많았어요.그런데 사전 만남때부터 차분하게 안심을 시켜주셔서 믿고 맡겼어요.역시 예상대로 차분하게 두부가 다가오도록 기다려주셔서두부도 마음을 열고 잘 지내더라구요.매일 얼마나 많은 사진과 동영상을 보내주시는지여행 내내 맘놓고 다녔답니다. 감사합니다!강아지 믿고 맡길 곳?이제 필요하시다면 애견호텔보다 "가정집 펫시터"도그메이트 입니다! 더 많은 후기 보러가기(클릭)#도그메이트 #후기 #서비스 #서비스소개 #기업문화 #가치중심 #고객중심
조회수 1651

플레이팅 2일차

이 포스트는 플레이팅 개발자 박은환님의 '회사 1일차' 포스트를 오마쥬 한 것 입니다.회사 1일차어쩌다 보니 나도 매달 한 번씩 마루180에서 열리는 플레이팅 액티비티 데이(워크숍)부터 출근을 시작하게 되었다. 워크숍이다 보니 1일 차 때는 맛보기? 정도였고, 2일 차가 된 오늘부터 본격적인 업무가 시작되었다. 언젠가부터 기록(문서화)은 분명 중요한 것이라는 생각이 들어 기록을 남긴다.그래도 첫 출근을 워크숍으로 하니 좋은 점도 있다. 각 팀의 현재 상황을 공유하는 자리이다 보니 현재 회사의 각 팀 업무와 팀별로 엮여있는 각종 상황, 앞으로의 방향성 등 큰 그림 파악하기에 매우 좋은 자리였다.회사 2일차영어 이름을 사용해보자사실 영어 이름은 전 직장인 이큐브랩에서도 사용하던 것이라 거부감이 0에 가까웠다. 개인적으로 국내 회사에서의 영어 이름은 계륵일 수 있다는 입장이지만 2일 차인 아직은 괜찮은 것 같다. 나는 영어 이름보다는 닉네임을 선호하는 편이라 늘 사용하던 요우(Yowu) 라는 이름을 사용하기로 했다. 몇몇 분들은 되게 어려운 이름이라고 하신다. 사실 영어 이름은 군대 시절 해외파 통역병 준엽이 형이 지어준 Anthony라는 부담스러우면서 간지 넘치는 이름이 있지만 사용해본 적이 거의 없어 요우가 편하다.정말 오랜만의 스크럼 회의스크럼 회의를 했다. 지금까지 했던 스크럼 회의보다 훨씬 간단한 형태다. 애자일 보드도 없고 Task를 보면서 하는 회의도 아니었지만 각자 어제 한 일과 오늘 한 일을 간단명료하고 신속하게 공유한 뒤 종료되었다.회사 시스템과 코드를 파악해보자입사 후 1주일 정도의 순수 업무 파악 기간이 있으면 가장 좋지만 아무래도 스타트업이다 보니 바로 내부에서 사용할 간단한 서비스를 만들게 되었다. 회사 개발자들 모두 MacBook Pro 쓸 때 혼자 노트북에서 쓰던 Ubuntu 쓰겠다고 해서 eslint (es6 + airbnb)를 vim으로 올리는데 꽤 애를 먹었다. eslint를 사용하는 것에서 눈치챘겠지만 플레이팅의 기술 스택은 node.js, react.js, redux 등이다. (그런데 airbnb의 컨벤션이 나를 너무 귀찮게 한다.. 그 수 많은 빨간 줄이란..)정말 다행히도 나는 최근 node.js를 메인으로 사용하고 있었고, 더 다행히도 react.js와 redux 역시 최근에 사용하고 있었다. 덕분에 코드 이해는 어렵지 않았지만 node.js 구조화의 자유로움 덕분에 현재 플레이팅에서 사용 중인 Application 구조 파악에 시간이 걸린다. 여기에 내가 사용해보지 않은 기술들. graphQL이나 knex, material-ui 등을 익히는데 걸리는 시간은 어쩔 수 없는 당연한 학습 비용이다. (나는 SQL문을 직접 핸들링하는 걸 더 좋아하는데 ㅜㅜ)다만, 워낙 급성장한 스타트업인 탓에 내부 인프라 개선이나 가이드라인 수립, 데이터베이스, 문서화 등에서 정말 할 일이 많아 보인다.(없는 것 보다는 낫다) 순수 개발은 나보다 감각이 좋은 개발자들이 많으니, 개인적으로 업무도 익힐 겸 한동안 이쪽 부분을 일들을 맡아보는 것도 좋을 것 같다. (바쁘면 그런 거 없겠지만.)그렇다면 이제 밥을 먹어보자플레이팅에서 판매하는 '홍콩식 비빔 탄탄면'이다.역시나 플레이팅에서 판매되는 음식들은 가히 최상급이다. 심지어 신선함을 위한 당일 판매가 원칙이다 보니 당일에 팔지 못한 음식은 재고로 나와 먹고 싶은 직원은 그냥 먹을 수 있다. (물론 오늘 처럼 재고 없이 완판되면 없으면 아무것도 가져갈 수 없다. 흑) 그렇다고 우리가 짬처리되는 음식만 먹을 수 있는 것은 아니고, 직원들을 위한 포인트가 직원 복지로써 따로 지급된다. 그 포인트로 회사 내에서 주문하여 먹을 수 있다. 오늘은 홍콩식 탄탄면을 먹었는데 정말 맛있더라. 내 지출을 분석해보면 앵겔 지수가 매우 높은 편인데, 차후 엥겔 지수의 감소를 기대해본다.플레이팅의 사원에게는 수저 세트가 지급된다. (...군대?)마무리2일 차 출근이지만 제대로 된 1일 차 출근으로써 느낀 점은 개발하는 데 있어 자유로운 분위기가 강하다. 이것이 나에게 어떻게 작용할지는 앞으로 지켜봐야겠지만 스스로 텐션을 잘 조절하고 경계심을 가져야 할 필요를 느낀다. 자유로운 분위기의 스타트업이지만 동시에 물론 급성장하는 스타트업이니만큼 당장 떠오르는 창의적이고 편리한 무언가를 만들기보다 당장 눈앞에 닥친 작업을 하게 될 일이 많을 것이다. 하지만 이는 회사가 어느 정도 안정 궤도에 오르고 나면 언제든지 시도해볼 수 있을 것이다.#플레이팅 #입사 #입사2일차 #출근 #2일차출근 #경험공유 #기업문화 #조직문화 #회사소개 #팀소개
조회수 1927

덕질도 신박하게! R을 활용한 텍스트 마이닝 도전기

Overview대학원에서 소프트웨어 공학을 전공하고 있습니다. 이번 학기엔 ‘빅데이터 분석’ 과 ‘대용량데이터베이스관리론’ 과목을 수강하면서 생애 처음으로 R Studio 프로그램을 설치해봤는데요. 머신 러닝을 다뤄본 적도, 자연언어처리 분야를 개발한 적도 없지만 어느 날 텍스트 마이닝 관련 강의에서 불현듯 이런 생각이 떠올랐습니다. “내가 좋아하는 가수로 텍스트 마이닝을 하면 어떤 결과가 나올까?”머릿속으로 생각하는 것과 내가 직접 구현을 해보는 것은 절대 다른 법! 일단 도전해보기로 했습니다. 개발 3년과 덕질 10년의 실력을 쏟아 부을 겁니다.지금까지 예쁜 디자인이라고만 알고 있었던 WordCloudStep1. 트위터 Developer 에서 인증키 받기트위터 Developer (Twitter Developer Platform — Twitter Developers) 에 접속해서 개인 계정으로 로그인하고, 오른쪽 위의 Apply를 클릭합니다.Twitter standard APIs > Get started with standard access를 클릭합니다.등록된 개발자 앱이 없으면 Create an app의 apps.twitter.com을 클릭합니다.Create New App을 클릭합니다.각 항목을 입력합니다. 저는 Website 가 없기 때문에 로컬 호스트를 기재했습니다.약관에 동의한 후 Create your Twitter application을 클릭합니다.만약 어플리케이션 이름이 중복된다면 위와 같은 에러 메세지가 나올 겁니다. 정상적으로 어플리케이션이 등록되면 위의 화면과 함께 API Key를 발급받을 수 있습니다. Consumer Key (API Key) 옆의 내용 (캡쳐화면에는 비공개)을 클릭하면 API Key 뿐만 아니라 API Secret, Access Token 등 세부 내용을 관리할 수도 있습니다.Step2. R Studio 설치하기 (Mac OS 기준)구글에서 R for macOS를 검색을 하면 맨 위에 설치 페이지가 보입니다. 1)먼저 R 패키지를 설치해야, 나중에 R Studio를 설치했을 때 실행이 가능합니다.R Studio 홈페이지에서 R Studio를 다운받습니다. 다운로드 링크는 여기를 클릭하세요.RStudio가 정상적으로 실행이 된다면, 이제 준비는 끝났습니다! Step 3. 필요한 패키지를 먼저 설치하기따로 설치가 필요한 패키지는 RStudio에서 명령어로 설치할 수 있습니다.—한 개씩 설치하는 법install.packages(“packageName”)—여러 개의 패키지를 한 번에 설치하고 싶을 땐 위와 같이 설치할 수 있습니다.—여러 개를 한꺼번에 설치하는 법install.packages(c(“package1”, “package2”,”package3”))—설치를 했다고 해서 바로 사용할 수는 없습니다. 이 패키지를 사용하겠다는 명령어를 다시 입력해야 합니다.—설치한 패키지를 사용하기library(“packageName”)—이번 글에서는 아래와 같은 패키지들이 필요합니다.twitteRROAuthbase64enchttpuvtmSnowballCwordcloudRColorBrewerStep 4. 트위터 api와 연동하여 WordCloud 생성하기먼저 각자 API 관련 Key 들로 객체를 생성해주고, setup_twitter_oauth() 메소드를 사용하여 Twitter API에 접근합니다.searchTwitter 4) 라는 함수를 사용하면, 트위터 API 를 통해 관련 트윗 내용을 추출할 수 있는데요. 좋아하는 일본 아이돌 가수인 “아라시”를 키워드로 추출하려고 첫 번째 파라미터에 “Arashi”를 넣었습니다. 그 뒤의 내용은 영문으로 작성된 최근(Recent) 트윗을 최대 1500개까지 리턴 받겠다는 의미입니다. resultType에는 popular를 넣으면 가장 인기있는 트윗을 받을 수도 있습니다.데이터를 가져오면, 위와 같이 데이터가 추출된 것을 확인할 수 있습니다.이제 matchTweets에 있는 내용으로 분석가가 되어 마음대로 데이터를 가공할 수 있습니다. class 등으로 구조와 클래스를 확인할 수 있을 뿐만 아니라, nchar() 를 이용해 트윗당 문자 수를 계산할 수도 있습니다. 이번 글에서는 위와 같이 트윗을 20개 추출했습니다.각각의 트윗을 보면, 이상한 코드나 슬래시 등 필요 없는 데이터들이 포함되어 내려온 것을 확인할 수 있습니다. 이 부분들을 제거해 깔끔한 데이터로 가공해보겠습니다. 그리고 텍스트 집합이라고 볼 수 있는 Corpus를 생성한 후, WordCloud 까지 생성해볼게요.데이터를 Corpus 로 만들 때는 Corpus() 를 사용하면 됩니다. 저는 VectorSource 라는 명령어를 사용해 단어들을 Vector로 바꿔주었고, 데이터가 잘 들어갔는지 확인하기 위해 inspect() 를 사용했습니다.사람이 읽기 불편한 단어들을 제거하는 건 tm_map 함수 하나면 충분합니다.위의 이미지를 보면, 각 행마다 특정 특수문자들을 제거하기 위한 명령어가 있습니다. 중간 부분엔 stopwords 라는 단어가 있는데, 영어 문장에 들어가는 i.e 나 etc 같은 표현들을 제거할 수 있는 겁니다. 그 외에도 대문자를 소문자로 바꾸거나 번호를 제거하는 등의 옵션들이 이미 R에서는 제공되고 있기 때문에, 우리는 입맛에 맞게 가져다 쓰기만 하면 됩니다.이제 대망의 WordCloud를 만들 차례입니다.max.words는 최대 N개의 단어를 고르는 옵션이며, min.freq는 최소 N번 이상 나온 단어, random.order = FALSE는 제일 많이 나온 단어가 먼저 나오도록 지정하는 옵션입니다. colors는 지정하지 않으면 검정색으로만 나오지만, 알록달록 예쁘게 표현하고 싶다면 여러 옵션을 지정해서 Frequency 에 따라 다른 색이 나오도록 할 수도 있습니다. 5) 첫 번째 이미지가 이번 글의 예제로 얻은 결과인데요. 추출 언어를 영어로만 한정했더니 일본어 발음을 영문으로 표현한 데이터가 많았습니다. 기타 설정을 변경하여 다시 추출한 게 바로 두 번째 이미지입니다. 큼직큼직하게 나온 단어들을 보면 DVD 나 블루레이 출시와 관련된 트윗이 대다수인 것을 볼 수 있는데요, 검색 결과 최근 2017-2018 라이브 투어 ‘Untitled’가 출시된 것을 확인할 수 있었습니다. 기타 작게 표현된 단어들을 보면 아라시의 노래 제목들도 확인 가능한데, 이 노래들이 인기있다는 것도 예측할 수 있습니다.Conclusion지금까지 R을 이용해 트위터 API 와 연동한 텍스트 마이닝을 했습니다. 데이터를 WordCloud로 생성하는 것도 해봤고요. 이번 글에서는 기본적인 예제를 다뤘지만 텍스트 마이닝의 세계는 아주 깊고 넓습니다. 만약 이 글로 텍스트 마이닝에 조금이라도 흥미가 생겼다면 일단 도전해보세요! 좋아하는 것과 연관 지어서 따라 하다 보면 꽤 즐거운 시간이 될 겁니다.참고1) 18년 6월 6일 기준이다.2) Twitter Sentiment Analysis Tutorial3) Text mining: Twitter extraction and stepwise guide to generate a word cloud4) R 함수 관련 설명은 R Documentation 사이트에서 확인할 수 있다. 5) 색상 옵션이 궁금하다면 여기에서 참고할 수 있다. 6) 머신러닝 언어처리 - R로 WordCloud 만들어보기 - 데이터 사이언스 랩글김우경 대리 | R&D 개발1팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #개발자 #개발팀 #인사이트 #경험공유 #R #텍스트마이닝
조회수 3325

사용자 경험(UX)은 기획자, 디자이너가 이끌지 않는다

오랜만에(처음인가?) 조금 더 실무적인 글을 써보고자 한다. UX에 대한 내용이다.사용자 경험(UX)과 인간-컴퓨터 상호작용(HCI), 이 단어를 처음 들은 것은 아직 군인이었던 2010년이었다. 군대에서 생물학과 심리학에 큰 관심이 생겨 여러 권의 책을 읽었는데, 그 모든 학문적인 영역이 하나로 합쳐질 수 있다는 생각이 들어 매우 흥분됐던 기억이 난다. 그 이후로 지금까지 6년 동안, 사용자 경험에 대해 공부해왔고 창업을 한 이후에는 비캔버스의 사용자 경험 향상을 위해 2년째 달리고 있다.실무적으로나 학문적으로나 아직도 부족한 것이 많지만, 비캔버스라는 툴을 2년째 서비스하며 해온 고민들을 생각해보면 툴에 대한 사용자 경험만큼은 우리 팀만큼 전문성을 가진 사람이 많이 없을 것이라 생각한다. 비캔버스는 웹에서 동작하는 애플리케이션으로 포토샵과 같은 툴이다.TOOL이라는 서비스 특성상 사람들의 인식에서 정해진 영역이 강하지 않기 때문에, UI를 완전히 새롭게 설계하고 그것을 표준으로 만들 수 있다는장점이자 단점이 있다. 즉, 우리가 독특하게 UI와 UX를 설계하여 사용자에게 제시후, 익숙하게 만드는 '닻 내리기(Anchoring effect)식 전략'이 가능했다는 것인데 이 때문에 처음 비캔버스를 접하는 사용자들이 서비스를 어려워하는 경우도 많았다.올 초, 우리는 이러한 한계를 효과적으로 극복할 수 있는 모형을 찾았는데, 이 것이 우리의 전체적인 개발 프로세스에 큰 영향을 미쳐오고 있다. 오늘 이것을 공개하고자 한다.포스트잇 메모 기능을 개발한다고 가정해보겠다.참고로, 나는 인터페이스 관점의 UX를 '기능'과, 그 기능까지 찾아가는 '내비게이션'으로 분리하여 생각한다. 가령, 내가 여행지에 고깃집을 창업하기로 결심했다면, 고깃집 자체를 어떻게 운영할 것인지에 대한 것은 '기능'차원이다. 반면, 어떻게 사람들이 거리적인 동선이나 심리적인 흐름에 의해 내 고깃집에 도달할 지에 대해서 고민하는 것은 '내비게이션'에 대한 고민이다. 이번 예시는 포스트잇 메모 기능이라는 '기능'에 대한 내용으로 국한되어 있지만 이 모델 자체는 '내비게이션' 성격의 UX에도 사용할 수 있다.이런 UX/UI 개발에 대한 프로세스를 정립하는 일은 우리 팀의 특성상 반드시 필요한 것이었다. 비캔버스는 지금까지 2년간 디자이너 없이 순수 개발팀으로만 이뤄져 왔다. 즉, 주요 커뮤니케이션 상대인 내가 기획과 디자인뿐 아니라 마케팅 업무와 회사 대표일까지 하고 있는 상황에서 나와의 커뮤니케이션이나 토론이 아주 잦게 진행되는 것은 시간적으로 불가능했다. '이게 왜 이렇게 만들어지냐?', '이건 어떻게 만드냐'에 대한 질문이 잦을수록 내가 다른 업무를 볼 시간이 매우 적어졌고 개발팀도 수동적으로 일하는 것 같아서 매우 싫었다.그래서 올 초부터 이 프레임(모형)을 만들어서 개발 프로세스에 적용해왔는데, 결과는 매우 효과적이다. 서론이 길었다. 본론으로 돌아와서 내가 "포스트잇 메모 기능을 개발하자!"라고 개발팀과 이야기할 때는 이런 모델을 제시한다. 물론 이건 예시다. 실제로 적용할 때는 더 복잡하게 설계될 수 있다.기능 개발 커뮤니케이션에 활용되는 모델 1단계.1단계 - 고객 입장에서의 감정이입 단계보통 '새로 생길 기능은 이렇게 생겼고, 이렇게 동작한다'는 식으로 이야기하면 개발팀으로부터 '이럴 때는 어떻게 해? 저럴 때는 어떻게 해? 이거 누르면 뭐 나와?' 등 질문이 쏟아진다. 내가 기능 설계를 0부터 100까지 정확하게 다 설명하면 이런 내용으로 회의하는데 온종일 시간을 낭비하게 되며, 개발팀의 창의성과 고객에 대한 감정이입 능력을 말살시키는 것이라 생각한다.위 사진에서 볼 수 있듯, 포스트잇 메모 기능이 있기 전과 후가 어떻게 다른 지에 대해 먼저 설명한다. 이 기능이 사람들에게 어떻게 선물처럼 다가갈 수 있는지 말해주고, '사용자의 기능 사용 목적'을 추정하여 알려준다. 즉, '우리 팀', '내 의도'는 아직 등장도 하지 않는다. 내 이야기를 하는 것이 아니다. 내 머릿속의 기획을 이야기하는 것이 아니다. 우리 고객이 어떻게 이 기능을 사랑하게 될 것이고, 이 기능을 어떤 목적으로 활용하게 될 것인지 고객 사이드로 설명한다.나는 개인적으로 페르소나 분석을 싫어한다. 본래 페르소나의 목적은 특정 인터페이스에 대해 각기 다른 사람들이 어떻게 다른 패턴을 보이는지 파악하여 그 패턴을 바탕으로 UX를 개선시키는 게 목적이라 보는데, 지금 사람들이 하고 있는 것은 마케팅 차원의 인류 통계학적 고객이 누군지 파악하려 하는 건지, 서비스 UX를 개선시키려는 것인지 분간이 잘 안 간다. UX/UI 개선을 위해서는 페르소나 분석이 아니라, 우리 고객이 우리 제품을 사용하는 고객들의 패턴을 세부적으로 분류하고 그 분류된 특정 패턴의 고객들이 기능에 어떻게 다르게 반응하는지 등을 파악하는 것이 중요하다 생각한다.각설하고, 2단계로 돌입할 때가 됐다. 이제 고객에 대해 이해하고, 이 기능이 어떻게 작동하면 좋을 지에 대해 개발팀들도 머릿속에 생각과 아이디어가 생겼을 것이 분명하다. 내가 고객이라고 눈을 감고 상상하면 제품을 직접 돌려볼 수도 있는 그런 경지에 조금이라도 빠져든 것이다. 그럼 이제 2단계 논의가 가능해진다.2단계.2단계 - 고객을 위한 우리의 움직임을 결정이제 어떻게 움직일지 고민하는 단계다. 그전에 우리는 이미 고객이라는 상상 속에 빠져있으니, 고객 입장에서 포스트잇 기능을 사용해볼 때다. 포스트잇 기능을 사용할 때 외부적인 간섭이나 방해는 무엇이 있을까? 포스트잇이라는 게 액셀처럼 멋지게 구조화된 형태가 아니라서 상사가 내가 노는 줄 알고 눈치를 줄지도 모르겠고, 내 10년 된 17인치 모니터에서는 포스트잇 글자가 조금 작아 보일지도 모르겠다. 서비스 내부적인 간섭 요인도 이런 식으로 상상이 가능하다.이렇게 간섭 요인까지 봤으면 드디어 '우리 이야기', '내 기획'이 나올 때다. 아까 이야기했던 고객의 목적에서 외/내부 간섭 요인을 제거하면 우리의 기능 개발 목적을 손쉽게 설정할 수 있다. 어떻게 '이 기능을 만들지'에 대해서까지 불필요한 브레인스토밍 시간 필요 없이 단기간에 빠르게 도달할 수 있다. 이렇게 한 번 우리끼리 합의를 보고 나면 불필요한 질문과 회의가 매우 줄어든다. 스스로 이 모델을 참고하면서 '고객은 이런 목적을 달성하는 것이니 버튼은 이렇게 동작해야겠지?'라는 개발팀의 상상력이 작용하기 때문이다. 그런 뒤에 논의를 시작하면 발전적이면서도 짧고 굵은 토론이 가능하다.이렇게 목적까지 설정했으면, 이 기능을 음악으로 한 번 표현해보면 아주 재미있다. 가령, 이 기능을 쓸 때 사용자들의 머릿속에서 어떤 음악이 흘러나올 것 같은지 상상해본다. 이게 좀 어렵다면 이 기능을 사용하는 영상을 만든다면 무슨 음악이 어울릴지를 찾고 그 이유를 적어보면 된다. 그렇게 하면 단순히 논리적인 차원의 어떤 딱딱한 객체로써 기능을 보는 것이 아니라, 사용자와 우리를 호흡하게 만들어주는 살아있는 중간 매개자로서 바라볼 수 있다. 즉 서비스가 생명력을 갖는다고 생각하게 되는 순간이 찾아온다.3단계, 마지막 단계다.3단계 - 일할 때 항상 자신에게 묻기. '이것이 고객의 목적을 달성하는 길인가?'2단계에서 목적까지 다 세웠으니 이제 기획자는 기획을 하고, 디자이너는 디자인을 하면 되고 개발자는 개발을 하면 된다. 보통, 이때 커뮤니케이션에 항상 큰 문제가 생기곤 한다. 기획이 다 끝나서 개발팀에게 전달하면 싸움이 나거나, 개발자가 개발을 하다가 디자이너의 욕심을 발견하면 또 싸운다거나..이 모델을 활용하면 그러한 일이 줄어든다. '고객의 목적 달성'외에는 모든 팀원들이 오버를 하지 않게 된다. 나도 개발을 하면서 느꼈지만, 아무리 안중요한 기능이라도 쉬울 줄 알았는데 막상 안 풀리면 거기에 엄청나게 많은 시간을 할애하게 된다. 개발자의 욕심이 작용하는 것이다. 디자이너도 마찬가지다. '적합한 사이즈의 포스트잇을 만들어주자'에 많은 고민을 해야 할 디자이너가 포스트잇 색깔에 지나치게 많은 고민을 한다던지, 폰트 생김새나 여백 같은 것에 고민하는데 큰 시간을 할애하게 된다. 그것 또한 욕심인 셈이다. 서로 욕심부려서 결과물이 좋은 꼴을 본 적이 없다.우리가 고객의 입장에서 감정 이입하여 만들어낸 '고객의 목적'을 달성시켜주는데만 집중한다면 커뮤니케이션 시간이 월등하게 줄어들고 자기방어적인 입장으로 점철된 회의 또한 크게 줄어든다.즉, UX라는 것은 그저 디자인팀이나 기획자의 전유물이 아니다. 전체 팀이 일하는 프로세스가 오롯이 사용자 경험에 크게 영향을 미치며 기능 딜리버리 속도에도 크게 영향을 미친다. 물론, 우리 팀에서 이것이 가능했던 이유는 고객을 진심으로 사랑하고 낮에는 고객지원을, 밤에는 개발을 하는 고된 상황 속에서도 고군분투하는 개발팀이 있기에 가능한 것이었다. 이 기회를 빌어 우리 개발팀(경병현 이사님, 심중섭 팀장님)에 감사한다.수동적인 조직에서는 이러한 프로세스가 불가능할 수 있지만 이런 프로세스를 적용하기 위해 노력한다면 개발자가 하루 종일 코드만 보고 불평하고 있는 일은 줄일 수 있다. '이 거지 같은 걸 왜 만들어야 돼'라는 생각으로 개발을 하게 되면 개발 결과물도 후지고 일정도 늦어지며 자기 자신에게도 악영향을 미치게 된다. 그리고 그 부정적인 에너지는 고객도 무의식적으로 느낄 수 있게 된다.마치, 음식점에 갔는데 주인장이 성질을 내며 음식을 만들면 아무리 맛있는 음식도 아무런 맛이 느껴지지 않는 것과 같은 것이다. 화가 난 어머니가 차려주신 밥상의 밥은 왠지 잘 넘어가지 않는다. 우리가 개발을 하거나 서비스를 만들 때도 똑같다. 부정의 에너지가 서비스를 덮고 있으면 그 에너지는 우리가 모르는 새에 고객의 인식 속에 들어가 서비스의 사려 깊은 에너지를 말살시키게 된다. 실컷 부정적인 에너지 다 투여해서 고객의 입맛을 다 망쳐놓고 사용자 경험이 어떻고 버튼을 어디에 배치해야 되고 고민하는 것은 매우 이상해보인다.따라서, 우리에게는 이런 모델이 매우 중요했고 앞으로도 쭉 활용하게 될 것이다.어떻게 보면 무식하고 후져 보이는 전략이자 모델일 수 있겠지만, 유용하다 생각하는 사람들은 이를 잘 활용해 보기를 바란다. 막상 해보면 매우 좋은데, 순서가 가장 중요하니 순서를 바꾸면 안된다.1. 고객에게 감정 이입하기 (이 기능이 있기 전, 있고나서 고객의 행동 변화)2. 고객을 위한 우리의 움직임을 결정하기3. '이거 진짜 고객의 목적을 위한 길인가? 이 토론은? 이 회의는? 쓸데없는 시간낭비 아닐까?' 생각하기
조회수 950

AI 스쿨 필기 노트 ① 선형회귀분석(Linear Regression)

전세계가 AI first를 외치고 있습니다! 엘리스 인공지능 오프라인 교육과정인 AI 스쿨의 필기노트를 8주간 연재합니다. 인공지능 개론과 알고리즘에 대해 함께 공부해요.지난 5월 8일 구글의 연례 개발자 콘퍼런스 I/O에서 구글은 구글 듀플렉스라는 새로운 AI 기술을 선보였습니다. 구글 듀플렉스가 직접 미용실에 전화를 걸어서 예약에 성공하는 이 시연은 매우 인상적인 장면이었는데요. 국내의 여러 기업에서도 이미 인공지능 스피커를 출시하는 등 우리의 일상 생활 곳곳에도 인공지능 기술이 스며들고 있습니다.IDC, Tractica, Markets and Markets 등 글로벌 시장조사기관들은 2020년까지 세계 인공지능 시장이 연평균 50% 이상 가파르게 성장할 것이라고 예측하기도 합니다. 이미 세계 각국의 주요 IT 기업들은 AI 시장에서 영역을 넓히고 경쟁력을 확보하고자 전력을 투입하고 있는데요. 국내 기업들 역시 인수합병과 조직개편 등으로 인공지능 기술과 인재 확보를 위해 발 빠르게 움직이고 있습니다.엘리스에서는 IT 분야 및 연구 기관에 취업하고자 하는 분들을 위한 오프라인 교육과정을 운영하고 있습니다. 지난해에 이어 올해에는 양재 RNCD 혁신허브와 함께 인공지능 R&D 실무자 양성과정을 운영하게 되었는데요! 이론 수업(8주)과 팀 프로젝트(6주), 커리어 코칭 과정(2주)로 이루어진 이번 과정은 수료증 및 입사 추천서 발급, 테크니컬 인터뷰와 포트폴리오 준비, 국내 IT 기업과의 채용 연계 등으로 구성되어 있어 관련 분야에 취업을 희망하시는 분들의 많은 관심이 있었습니다.300명 가까운 분들이 지원해주셨고, 이 중 선발 과정을 거친 40여 명의 분들이 16주간 오프라인+온라인 교육을 받게 되었습니다. 이 중 기계학습과 알고리즘 개론에 대한 8주간의 교육 내용을 앞으로 8주간 여러분과 함께 공유하고자 합니다. 컴퓨터 공학과에 재학 중인 AI 스쿨 수강생이 직접 필기노트를 공유해 준다고 하니 함께 AI 개론에 대해서 공부해 봐요. :)안녕하세요! 저는 숭실대학교 컴퓨터학부 4학년에 재학 중인 대학생이에요. 저는 평소에 AI에 대해 관심이 많아서 제대로 된 교육을 받고 싶어서 이번 과정을 수강하게 되었어요. 앞으로 AI 스쿨에서 받는 수업이 제가 AI 엔지니어로 성장할 수 있는 밑거름이 될 것이라고 생각해요. 아직 배우는 단계이기 때문에 많이 부족하지만 앞으로 8주 동안 이 글을 통해서 함께 공부한다고 생각하며 그 주에 배운 내용을 요약해보려고 합니다!AI 스쿨 첫 수업에서는 ‘Linear Regression(선형 회귀)’에 대해 배웠어요. 대학교 2학년 때 전공 과목으로 ‘선형대수학’이 있었는데요, 배우면서 이런 학문은 도대체 어디에 쓰이는지 혹시 필요 없는 것을 배우느라 시간 낭비를 하는 것은 아닌지 힘들게 공부했던 기억이 나네요. 그런데 제가 읽은 한 기사에서 미국의 연구팀이 ‘장기적인 공기 정화 노력이 성장기 아이들의 폐기능을 개선시켰다’는 연구 결과를 증명한 후 캘리포니아 남부지역에서 ‘공기오염의 질 관리 정책’을 시행하여 오염 수준이 꾸준히 감소하고 있다는 내용이 있었는데요. 연구팀은 공기오염의 감소와 소아 호흡기 질환의 개선 사이에 개연성을 평가했고 이 연구에서 사용한 방법이 선형회귀분석(linear regression model)이라고 해요!첫 수업에서는 앤드류 응 교수님 강의 자료의 쉬운 예시를 바탕으로 Linear Regression(선형회귀)을 공부했어요.이 예시에서는 집 크기에 관한 정보 하나로 집의 가격을 예측하는 할 수 있는 데이터가 있다는 가정을 하고, 이 가정이 직선의 방정식 y = ax + b의 형태를 따른다고 가정했어요.인공지능은 예측을 기본으로 다루는데, 우리는 과거의 데이터를 학습함으로써 최적의 예측 모델을 만들게 돼요.이때 다루는 데이터를 Training set이라고 부르고, m은 학습 데이터의 숫자, x는 입력 변수 또는 feature, 그리고 y는 출력 변수 또는 타깃 변수라고 불러요.기존의 Training set으로 Learning 알고리즘을 학습시키면 그 학습된 부분이 h, 즉 가설이 돼요. h를 통해서 우리는 어떠한 집 크기에 대한 예측된 가격을 구할 수 있어요. 그런데 이때 보다 정확히 예측을 하려면 error를 최소로 하는 a, b의 최적의 값을 설정해야 해요.우리의 모델인 직선의 방정식을 통해 오차가 적은 예측값을 얻기 위해서는 a와 b에 어떠한 값을 넣어야 좋을까요? 위에서 언급했듯이 우리에게는 주어진 학습 데이터가 있죠. 이를 이용하여 최적의 값을 도출해야 해요. Cost function 이란 a, b가 주어진 학습 데이터인 Training set을 가장 적은 오차로 표현하고 있는지 알 수 있는 방법인데요. Loss function 또는 Objective function이라고도 해요. Linear Regression에서는 Cost function으로 Squared error function을 사용해요. Squared error function 이란 가설에 Training data의 입력값을 넣었을 때의 출력값과 해당 입력값에 대한 training data의 실제 출력값의 차를 제곱하여 이용하는 방법이에요.그렇다면 우리는 a, b를 어떻게 구할 수 있을까요? 이 방법을 산을 내려가는 예시를 통해서 쉽게 이해할 수 있었어요.만약 깜깜한 밤에 산꼭대기에서 길을 잃었다면 랜턴을 키고 주변을 살펴본 후 아래로 내려가는 길을 찾아 그 방향으로 내려가고, 도달한 지점에서 또다시 랜턴을 켜 주변을 살펴 아래로 향하는 길로 가야 산 아래까지 내려갈 수 있겠죠. 이것이 최적의 a, b를 구하는 Gradient descent의 기본 방식이에요.Gradient descent는 임의의 a, b를 지정한 후, 그 점으로부터 감소하는 기울기를 구간을 찾아 이동하는 것을 반복함으로써 해를 구하는 방법입니다!이번 주 수업의 과제로는 Loss Function과 Linear Regression을 구하는 과제가 주어졌어요. 첫 번째 과제인 만큼 난이도가 많이 높지는 않았지만 파이썬이 익숙하지 않다면 조금 헷갈릴 여지가 있는 문제였던 것 같아요. 강의를 해주신 주재걸 교수님께서는 첫 시간에 배운 개념들이 Linear regression에서 뿐만 아니라 인공지능, 머신 러닝, 딥러닝 분야에서 많이 쓰이기 때문에 첫 시간에 배운 것만 제대로 이해하고 가도 많은 것을 얻어 가는 것이라고 하셨어요. 위의 개념에 대해서 다른 자료들도 찾아보면서 공부하고, 다음 필기 노트로 만나요!#엘리스 #코딩교육 #교육기업 #기업문화 #조직문화 #서비스소개

기업문화 엿볼 때, 더팀스

로그인

/