스토리 홈

인터뷰

피드

뉴스

조회수 1722

소비자의 행동을 유도하는 작은 팁

아래 이야기는 오피노에서 진행한 A/B테스트를 수립할 때, 사고 흐름을 사례와 함께 글로 적어나갔습니다.#나도 모르게 망설여지는 이유막연하게 복싱이라는 운동이 해보고 싶어, 상담받으러 갔을 때 일입니다.“가격은 월 얼마에, 00시까지 운동할 수 있어요. 또…”사실 이미 알아본 내용들이라 머릿속에 잘 들어오지 않았습니다. 그때 머릿속에 들어온 말이 있었습니다.“처음에 오시는 분들 대부분이 거친 운동이라는 편견 때문에 걱정을 많이 하세요. 그런데 일단 시작하시면 다들 잘 따라오시더라고요. 저기 샌드백 잘 치시는 분도 처음에는 줄넘기 10개도 제대로 못하셨어요. 또 링 위에 있는 저분은 관절염… 여성분도 많고…”그러고는 저를 데리고 체육관 여기저기를 구경시켜줬습니다. 생각보다 밝은 분위기에 구석구석 살펴보니 꽤 깔끔한 시설이었죠. 왠지 모르게 등록해도 괜찮겠다는 생각이 들었고, 그날로 결제하고 운동을 시작했습니다.돌이켜 생각해보면 아마 저는 무의식 중에 복싱이라는 운동은 거칠고 시설이 열악할 것이다는 편견을 갖고 있었는지도 모릅니다. 그리고 그 편견들이 깨지자, 결제를 망설일 이유도 함께 사라진 것이지요.#온라인에서도우리는 하루에도 수많은 웹사이트에 접속해서 스크롤을 내리고, 버튼을 클릭하는 등 다양한 상호작용을 합니다. 개개인의 성향마다 어느 지점에서는 상호작용을 하고, 또 어느 지점에서는 상호작용을 하지 않죠. 예를 들어, 빨간색 버튼을 파란색 버튼보다 더 자주 클릭하고 네모난 버튼보다는 동그란 버튼을 더 자주 클릭한다는 거죠. 여러분은 어떤 경우에 상호작용을 하시나요? 여러분은 그 버튼을 왜 누르셨나요? 아마 뾰족한 이유를 말하기 쉽지 않을 거라고 생각합니다. 이렇게 스스로도 자기 취향을 찾기 어려운데, 남들은 오죽할까요? 하지만 우리 마케터는 이렇게 어려운 일을 해내야 합니다. 고객이 뭘 좋아하는지 알아내서, 우리 상품이나 서비스와 엮어 적절한 행동을 유도해야 하죠.소비자들의 취향을 파악하기 위해서는 실험을 해야 합니다. 이번 글에서는 D사 사례로 소비자들의 행동을 이끌어 내기 위해 A/B 테스트 시 고려해야 할 프로세스에 대해 소개하고자 합니다.1. 고품질 행동을 찾자로그 분석 툴을 사용하면 웹사이트에 들어와서 유저들이 어떤 행동을 하는지 살펴볼 수 있습니다. 제가 주로 눈여겨보는 것은, 구매한 유저와 구매하지 않고 이탈해버린 유저의 행동 차이입니다. 가설은 다음과 같습니다. 구매한 유저들이 공통적으로 많이 한 행동을 찾아서, 다른 유저가 해당 행동을 더 잘할 수 있게 유도하면 구매전환율이 올라가지 않을까? (상관관계, 인과관계에 대한 자세한 설명은 생략하도록 하겠습니다.)#D사 사례온라인 커머스 D사에는 어느 커머스에나 있을 법한 ‘20,000원 이상 구매 시 무료배송’이라는 혜택이 있습니다. 해당 문구는 상세페이지 최 하단 지점에 위치해 있었으며, 그 이외 다른 영역에서는 무료배송 혜택을 찾기 어려웠죠. 구매전환을 일으킨 유저가 상세페이지에서 무료배송 문구가 적혀 있는 위치까지 스크롤을 내린 비율이 전환되지 않은 유저보다 압도적으로 높게 나왔습니다.스크롤 량이 깊다라는 고품질 행동을 찾아낸 것이죠. 때문에 많은 유저가 무료배송 혜택을 인지하지 못했을 거라고 판단했고, 위치를 조정하자는 결정을 내렸습니다. 그럼 가장 적절한 위치는 어디일까? 가 문제였는데, 저는 건당 구매금액을 높이고 장바구니 이탈률을 낮추기 위해서 장바구니 페이지에서 무료배송 혜택을 노출하기로 했습니다.그럼 어떤 식으로 노출해야 가장 효과적일까요?스크롤 하단에 위치한 배송비 무료 안내 2. 소비자 입장에서 생각해보자우리는 문제를 개선하기 위해 다양한 방법을 찾습니다. 1번에 고품질 행동 찾기가 방법을 찾는 것이라고 할 수 있겠죠. 그리고 적용을 결정합니다. 이 단계에서 한 번쯤 생각해 볼 것들이 있습니다. 바로 적용되었을 때의 상황을 가정하고 스스로 소비자가 되어보는 겁니다.#D사 사례우리는 고품질 행동을 찾았고, 구매전환을 유도하기 위해 장바구니 페이지에서 무료배송 혜택을 노출하기로 결정했습니다. 처음에는 단순히 ‘20,000원 이상 구매 시 무료배송 혜택이 있습니다.’라는 문구를 띄울 계획이었습니다. 저는 이런 상황이 발생했다고 가정하고 실제 구매 절차를 밟아보았습니다. 상세페이지에서 6,800원짜리 물건을 장바구니에 담았고, 저는 장바구니 페이지로 이동했습니다. 그때 혜택 문구가 저에게 노출된 것입니다. ‘20,000원 이상 구매 시 무료배송 혜택이 있습니다.’ 그 문구를 봤을 때 소비자는 어떤 생각이 떠오를까요? 저는 짧은 시간 동안 두 가지 고민이 생겼습니다. (고민 1) 무료배송까지 얼마 남았지? 무료배송 혜택을 받기 위해 얼마를 더 구매해야 하는지 계산하기 시작한 겁니다. 20,000원부터 무료배송이고, 난 6,800원 담았으니까 13,200원 남았구나! (고민 2) 뭘 더 사지? 13,200원 남은 건 알겠는데, 그 13,200원을 채우기 위해서 어떤 걸 더 사야 할지 고민이 생긴 거죠.3. 생길 수 있는 고민을 미리 해결하자여러 실험을 진행하면서, 얻은 인사이트 중 하나는 ‘유저들은 고민을 정말 싫어한다’는 것입니다. 하지만 애초에 유저들이 고민을 아예 안 하게 만드는 것은 매우 어렵습니다. 개개인마다 성향이 너무나도 다르기 때문에, 가격이나 제품 측면에서 모두를 만족시킬 순 없기 때문이죠. 하지만 최소한 몇몇 고민들에 대한 답은 미리 제시해줄 수 있습니다. 답을 미리 제시해 줌으로써 망설임 포인트를 최대한 줄여주는 것이죠.#D사 사례고품질 행동을 찾았고, 실제 소비자로서 행동해보니 2가지 고민이 생겼습니다. (고민 1) 무료배송까지 얼마 남았지? (고민 2) 뭘 더 사지? 먼저 첫 번째 고민에 대한 답을 미리 해결해 주기 위해, 단순히 ‘20,000원 이상 구매 시 무료배송 혜택이 있습니다.’ 대신 ‘무료배송까지 13,200원 남았습니다.’라는 문구로 변경했습니다.굉장히 쉬운 산수이지만, 망설일 수 있는 작은 포인트 조차 제거해준 것이죠. 아직 고민이 하나 더 남았습니다. 어떤 걸 더 사야 하는지 고민을 줄이기 위해, 새롭게 만든 문구 아래 버튼을 하나 만들었습니다. ‘BEST 상품 보러 가기’ 즉, 어떤 걸 더 사야 하는지 고민하지 말고 BEST 상품에서 찾아보라는 것이죠.실제 적용 이미지위와 같은 하단 배너를 만들고 A/B 테스트를 진행했습니다. A 안은 배너가 뜨지 않는 원본이고 B 안은 배너가 추가된 대안이죠. 50%의 유저에게는 A 안을, 나머지 50%의 유저에게는 B 안을 노출시켜 어느 안에서 더 좋은 결과가 나오는지 확인해보았습니다.#결과 (A안 대비 B안)첫 번째로 B안에서 건당 구매금액이 증가했습니다. 20,000원 미만으로 구매할 유저들이 문구를 보고 무료배송 혜택을 받기 위해 한 번에 더 많은 금액을 결제한 것이죠. 두 번째는 Best 상품 페이지 뷰 수가 압도적으로 증가했습니다. 우리의 의도대로 유저들이 움직여준 것이죠. 이 두 결과는 어느 정도 예측이 가능했습니다. 예측하지 못했던 것은 구매 건수도 증가했다는 사실입니다. 구매를 망설이던 유저에게도 혜택 문구가 영향을 미친 것으로 판단할 수 있었습니다.#마지막으로첫 번째로 여러분들이 가진 혜택이 소비자들에게 잘 인식되고 있는지 확인해 보세요. 두 번째로 소비자 입장에서 한번 생각해보세요. 수정된 위치가 최선인가? 마지막으로 소비자들이 가질만한 고민을 미리 제거해주는 시도를 해보세요. 물론 같은 흐름으로 진행하더라도 실험 결과가 좋지 않을 수도 있습니다. 하지만 그로스는 시도하는 것에 충분한 의미가 있다고 생각합니다.광고에 굉장히 많은 돈을 사용하고 광고로 인한 웹사이트로 유입도 잘 발생하는데, 정작 웹사이트에서 전환이 발생하지 않아 고민하고 계신 광고주분들을 많이 만났습니다. 혹시 우리 웹사이트 구조가 소비자에게 안 좋은 경험을 겪게 하는 건 아닐까? 하는 고민이 들 때 위 세 가지 프로세스를 한 번쯤 생각해 보셨으면 좋겠습니다.퍼포먼스 마케팅 에이전시, 오피노 바로가기 
조회수 1460

확률론적 프로그래밍 언어는 왜 필요 할까요?

AI•머신러닝은 모든 분야에서 거론되며 이를 적용해볼 수 있는 다양한 AI•머신러닝 툴들이 쏟아져 나오고 있습니다. 기본적인 머신러닝 기법들을 담고 있는 scikit-learn을 시작으로 deep learning이 화두가 되며 구글에서 내놓은 tensorflow까지 다양한 회사, 연구원이 오픈소스 트렌드에 맞춰 수많은 머신러닝 라이브러리를 공개하고 있습니다. 이러한 라이브러리들은 기존의 프로그래밍 언어를 이용하여 효율적으로 계산될 수 있도록 개발, 패키징 되어 보다 손쉽게 머신러닝을 체험해볼 수 있습니다. 최근에는 기존 프로그래밍 언어로 개발된 머신러닝 라이브러리를 넘어서 머신러닝 기법에 특화된 확률론적 프로그래밍 언어(Probabilistic Programming)들이 개발되고 있습니다. 이는 기존 하드웨어에서 머신러닝 계산에 적합한 GPU 하드웨어의 폭발적인 인기를 넘어서 인공지능에 최적화된 하드웨어(Google Tensor Processing Unit) 개발 시도가 소프트웨어에서도 일어나고 있다고 생각합니다. 백문이 불여일견이니만큼 엘리스에서 간략한 소개 튜토리얼을 해보실 수 있습니다.구글 Tensor Processing Unit (TPU)확률론적 프로그래밍 언어란?확률론적 프로그래밍 언어는 머신러닝 분야, 확률과 통계 분야, 그리고 프로그래밍 언어 분야, 총 세 분야를 아울러 만들어진 새로운 프로그래밍 언어입니다. 기존의 전산학(Computer Science)은 주어진 변수/파라미터가 있고, 이를 프로그램 및 계산하여 결과 값을 얻습니다. 머신러닝 내에서 주로 쓰이는 방법은 추론인데 이는 관측되는 결과 값 들이 있고, 이를 다양한 수학적 방식으로 추론하여 변수/파라미터값들을 구합니다. 따라서 확률 통계의 수학적 계산법을 직관적으로 프로그래밍 할 수 있기 위해선 기존의 전산학 방식이 아닌 새로운 방식의 프로그래밍 언어가 필요하고, 확률론적 프로그래밍 언어는 이러한 패러다임에 맞춘 시도라고 볼 수 있습니다. 이렇게 개발된 언어는 복잡한 머신러닝 기법도 간략한 코드로 개발할 수 있게 하는 목표를 가지고 있습니다.확률론적 프로그래밍 언어란? (NIPS Tutorial 2015)확률론적 프로그래밍 언어 리스트 (Wikipedia)우리에게 아직은 생소해 보이는 확률론적 프로그래밍 언어는 현재 활발히 연구되고 있으며, 그 종류도 30가지가 넘습니다. 각 확률론적 언어는 기존의 다양한 프로그래밍 언어에서 파생 되었는데요, 엘리스에서 사용하는 주 언어 중 하나인 Python을 기반으로 한 PyMC3을 기반으로 튜토리얼을 만들었습니다.그 외 실제 실험에서 적용된 Picture라는 확률론적 프로그래밍 언어는 2D 얼굴 사진을 토대로 3D 얼굴을 모델하는 프로그램을 단 코드 50줄로 만들어 2015년에 공개되었습니다. 이를 보통 프로그래밍 언어로 개발했다면, 몇 천줄로 개발되어야 했다고 합니다.마치며이번 글에서는 간략하게 확률적인 프로그래밍 언어를 소개했습니다. 아직은 생소할 수 있지만, 점점 다양한 분야에서 머신러닝이 사용 될 수록 이에 적합한 확률론적 프로그래밍 언어의 연구, 개발은 활발해 질 것으로 예상됩니다. 지금 엘리스에 로그인 하셔서 확률론적 프로그래밍 언어 실습 예제를 실행해보세요!엘리스에 올려진 실습문제를 실행하면 책에서만 보던 이런 그래프들이 무슨 의미인지 이해하고 실제로 그려볼 수 있습니다!글쓴이김재원: The Lead, Elice김수인: KAIST 전산학부 박사과정박정국: KAIST 전산학부 박사과정#엘리스 #코딩교육 #교육기업 #기업문화 #조직문화 #서비스소개
조회수 1423

subscription 서비스의 본질이란?

가장 먼저 요즘 가장 hot subscription service의 예시를 살펴보면.. 1. 면도날을 보내주마!! (Dollar Shave Club)남자들이라면 일정한 주기로 구매해야 하는 면도기 날(Blade)을 매달 $10정도의 금액으로 subscription 배송해주는 업체! 면도날로 시작해서 현재 170만 수준의 subscriber를 확보하였고 매달 6,200만개의 면도날이 배송 된다고 함. 추가로 shaving 관련 용품이나 hair style 용품으로도 사업 영역을 확대 하는 중 (2014년 매출 약 780억원 수준)CNBC 방송에서 사업에 대한 이야기를 하는 Dollar shave club 대표... Beauty for brosThe Dollar Shave Club is expanding to a new category - men's hair care, with a new product called "Bvideo.cnbc.com https://www.dollarshaveclub.com/외국의 기사에 의하면 이 회사의 성공은 좋은 면도날을 공급하거나 낮은 가격이 아니라 효과적인 마케팅 믹스와 의사결정에 의한 것이라고 함. 이미 질레트와 쉬크 등이 시장을 과점하고 있는 상황에서 달러쉐이브 클럽의 재미있는 동영상이 바이럴되는 것등이 이 회사의 성공의 시작이라는 평을 함 The success of Dollar Shave Club is not that it offers the very best razors, or even the lowest prices. AsFast Company writer Bill Barol points out, you can geta 100-pack of straight razor blades for $1. Dollar Shave Club's success is due to a mix of clever marketing and the decision to try something very different in a saturated market. Gillette and Schick line drugstore aisles with $25 four-packs; they get away with high markups thanks to an 85% razor market dominance. Founder and CEO Dubin was featured front-and-center in DSC's first advertisement in 2012, a short clip that went viral for its absurdist humor. Dubin followed it up with another hit advertisement in 2012—this one a straight-faced promotion for butt wipes.이러한 성공들을 보면서, 그렇다면 Subscription 서비스는 어떤 특성을 가지고 있어야 기본적으로 서브스크립션이라는 항목에 적합할까를 고민해 보면..  1) 자주사는 상품이고 (생필품이고)2) 전달받는 제품의 quality 차이가 크지 않아야 하고 (균일한 상품이면 더욱 좋고) 3) 남거나 모자라도 치명적이지 않고.. (다음 배송시기까지 가급적 남지 않아야 하고)4) 브랜드 전환 의지가 적으며...5) 상품부피가 커서 보관이 부담스러워도 안됨6) 배송을 해주기 때문에 매번 사러가기 귀찮음을 해결7) 게다가 좀 싸게 준다면 더욱 좋고 (대량 구매시 할인받는것과 같이)8) 전문가의 안목으로 선택해 주는 것에 대한 신뢰감 9) 사용에 대한 전문적인 guide line 까지 제공해 준다면 금상첨화 이정도의 특성을 가지고 있으면 적합하지 않을까? 라는 생각을 해본다. 그렇다면 위의 기준을 만족하는 한국의 subscription 서비스가 뭐가 있을까? 라는 질문을 해보면..  우리나라에서 정기구독 형태의 서비스 중에 가장 성공한 것은.. 미미박스? 이미 subscription 형태의 서비스는 접었기 때문에 실격. 그럼 뭐라고 생각하시는지? 두구두구두구.. 제가 생각하는 답은.. 서울우유 혹은 한국야쿠르트!!신문도 그런 영역으로 들어갈 수 있겠지만, 대부분이 온라인으로 정보가 유통되는 것을 고려하면, 이제는 더 이상 신문은 성공사례라고 보기 어렵고.. 그렇다면 서울우유 혹은 야쿠르트가 답이라는 생각이다. 한국에서 subscription은 왜 어렵다고 하는걸까? 이거는 다음 글에서 계속!! #파펨 #스타트업 #창업가 #창업자 #마인드셋 #인사이트
조회수 1606

나는 아직 내가 하고 싶은 일을 찾지 못했어!

나는 아직 내가 하고 싶은 일을 찾지 못해서 여기 있는 거야 얼마 전에 내 친한 친구에게서 들은 말입니다. 그 친구는 남들이 부러워하는, 이름 모르는 사람이 없는 대기업의 4년 차 선임입니다. 그는 아직 자기가 하고 싶은 일을 찾지 못했고 그렇기 때문에 자신은 이곳에 있다고 주장했지요. 우리는 올해 계란 한판이 되었습니다. 아직 사회 초년생이고 일할 시간이 아직 30년이나 남았습니다. 저는 그 친구에게 말했습니다. "30년이나 살고서도 아직 하고 싶은 일이 뭔지 모르겠다고?!" 그러자 친구는 저에게 말했습니다. "너는 정말 행운아야. 누구보다도 빨리 네가 하고 싶은 일을 찾았잖아." 그리고 저는 또 말했습니다. "네가 그 일을 잡고 있는 이상 절대 네가 하고 싶은 일을 찾지 못할 거야. 하고 싶은 일은 너한테 배달되어 오는 것이 아니라 네가 직접 발 벗고 찾아야 하는 거야." 우리는 현실에 안주하고 싶어 합니다. 친구는 회사에서 5000만 원이 넘는 연봉을 받고 있어요. 그것으로 학자금 대출도 갚았고 부모님에게 맛있는 저녁식사도 대접합니다. 때로는 친구들에게 시원한 치맥도 쏘지요. 그런데 직업을 바꾸게 된다면? 그거에 앞서 이 일을 그만두게 된다면? 앞에서 말한 일들을 하지 못할지도 모른다는 걱정이 앞섭니다. 게다가 밥이나 제대로 먹을 수 있을까 고민도 하지요. 그러나 만약 새로운 직업을 택하지 않는다면 계속해서 지금 하고 있는 것을 할 수 있고 예측 가능한 삶을 살 수 있습니다. 그러면 우리는 마음속으로 안정되고 고민하지 않아도 되는 편안한 삶을 살 수 있지요. 심리학자 아들러는 생활양식(Life style)이라는 단어를 사용하여 우리에게 얘기합니다. 사람은 자기에게 익숙한 생활양식을 고집함으로써 심리적인 안정감을 찾는다고요. 연봉 5000만 원짜리 일을 그만두고 다른 일을 선택하게 된다면 앞으로 어떻게 될지 모른다는 불안함때문에 새로운 생활양식을 택하려고 하지 않아요. 이게 편하고 삶이 예측 가능하니까 너무 편한 거예요. 아들러는 이런 사고방식을 인생의 거짓말이라고 부릅니다. 물론 새로운 생활양식, 새로운 직업을 선택하면 정말 힘들지도 모릅니다. 세찬 비가 쏟아지는 밖에 버려진 느낌이 들겠지요. 일러스트레이터 소효씨의 웹툰에서 이런 글을 보았습니다.비를 맞기 싫으면 집에 처박혀 있으면 돼.하지만 무지개를 보기 위해선 비를 맞는 걸 두려워 해선 안돼.소효님의 웹툰 중에서 그래요. 우리는 두렵습니다. 그러나 비를 맞는 게 두렵다고 해서 무지개를 보는걸 포기해 버릴 건가요? 또 그냥 집에 처박힌 채로 무지개가 우리 집으로 배달되어 오기만을 기다릴 건가요? 우리는 우리 스스로에게 거짓말을 합니다.- 사회가 그렇게 만만한지 알아? 자기가 하고 싶은 일만 해서는 먹고살기 힘들어- 저거 해서 먹고살 수 나 있겠어?- 현실적으로 생각해야지. 저건 단지 꿈일 뿐이야- 난 학자금 대출받은 게 있어서 안돼 불안하니까 생활양식을 바꾸지 않아도 되는 이런저런 이유를 만들어내고 자신의 올바른 선택을 하고 있는 것이라고 매일매일 거짓말하고 있진 않나요? 그렇다면 하고 싶은 일이란 무엇일까요? 간단한 것 같아요. 지금 당신이 뭘 하고 싶은지 생각해보세요. 머릿속에 바로 떠오른 그거! 그게 바로 당신이 하고 싶은 일입니다. 하고 싶은 일이 어처구니없다고요? 이거 해서는 죽도 밥도 안된다고요? 이제부터 우리는 핑계를 대지 않도록 해봅시다. 그냥 머릿속에 떠오르는 일을 해보자고요. 빗속에서 넘어질 수도 있어요. 그렇지만 다시 일어나면 돼요. 길을 반대로 갈 수도 있어요. 돌아갈 수도 있어요. 그렇지만 계속해서 전진한다면 언젠간 일곱 색깔 무지개가 당신을 기다리고 있을 거고 환하게 웃을 수 있을 거예요. 저의 예를 들자면, 저는 프로그래밍이 하고 싶었습니다. 저는 프로그래밍을 하러 정보통신계열로 대학교에 입학했는데 선배들이 이러는 거예요.컴퓨터공학과는 학점 낮은 애나 가는 과야. 전자전기가 취직률이 더 높아 바보같이 그 말을 듣고 전자전기로 과를 선택해버렸습니다. 얼마나 바보 같았는지 정말 후회가 돼요. 저는 그렇게 컴퓨터 프로그래밍과 무관한 회로와 통신, 반도체를 배웠습니다. 너무나 싫었지요. 머릿속에는 프로그래밍에 대한 생각만 가득했습니다. 그런데 무서웠지요. 전공이 아닌 다른 일을 한다는 것이 말이에요. 어떻게 시작해야 하는지 감을 잡을 수조차 없었어요. 무작정 인터넷을 뒤지고 메모장에 프로그래밍을 시작했습니다. 내가 하는 것이 맞는 것인지 항상 의문이 들었지만 그 당시에 하고 싶은 걸 하니까 기분은 좋더군요. 물론 전공 공부를 공부하는 시간에 그걸 했으니 학교에서 학점은 정말 바닥이었지만요. 그렇게 저는 프로그래밍에 입문했고 같은 관심사를 가진 사람들과 스터디도 하고 프로젝트도 하면서 실력을 쌓아갔습니다. 그렇게 실력을 쌓아가다 보니 점점 욕심이 생기는 겁니다. 내가 직접 어떤 서비스를 만들고 운영해보고 싶다. 그렇게 창업을 시작했어요. 물론 지금은 거의 다 말아먹었지만요. 막 개발을 하다 보니 또 드는 생각이, 어떻게 하면 더 좋은 웹사이트를 만들 수 있지? 저는 좋은 웹사이트를 만드는 일을 하고 싶다는 생각이 들더군요. 그렇게 기획을 처음 접하게 되었고 현재는 기획도 겸하고 있지요. 지금은 개발팀에서 작지 않은 팀을 운영하는 매니저가 되었고 또 욕심이 생겼어요. 어떻게 하면 우리 팀을 잘 운영할 수 있을까? 모든 사람이 믿을 수 있고 웃으면서 일할 수 있는 환경을 어떻게 만들 수 있을까? 나도 그런 일을 해보고 싶다는 생각이 들었지요. 그래서 요즘에는 기업 문화와 HR, 그리고 리더십에도 많은 관심을 가지고 있고 개발팀의 채용 및 관리도 맡고 있답니다. 저는 프로그래밍이 좋아 이 일을 시작했지만 나중에도 이 일을 하고 있을지는 모르겠어요. 그때가 되면 또 다른 하고 싶은 일이 생길지도 모르니까요. 아직 30년이나 남았는데요 뭐. 뜻이 있는 곳에 길이 있다고 합니다. 지금 당신의 뜻을 죽이지 마세요. 지금 하고 싶은 일을 하세요. 그러면 길이 생길 겁니다. 그 길에 엄청난 장대비가 내릴 수도 있어요. 우리는 장대비를 뚫고 지나갈 수 있는 튼튼한 다리가 있어요. 다리도 아프고 물에 젖어 몸도 무겁겠지만 언젠가는 환한 무지개를 볼 수 있지 않을까요?#비주얼캠프 #인사이트 #경험공유 #조언
조회수 304

“제가 만족할 수 있을 때까지 계속 발전하고 싶어요.”

#성별은 남자 #직업은 디자이너#기계 그리기를 좋아하고 #디자인을 좋아하고 #브랜딩을 좋아하는 사람사실 이러한 수식어보다, 스스로 만족할 만한 작업을 하기 위해 계속해서 노력하고 있는 사람이라는 말이 더 어울리는 디자이너 주영진. 깔끔하면서도 멋스러운 패션 스타일부터 조근조근 재치 있는 말솜씨까지, 모든 것이 군더더기 없고 감각적인 그를 만났다.주영진에 대해 말해주세요!안녕하세요. B.A.T에서 이것저것 다 하는 디자이너 주영진입니다. 저는 클라이언트와 소비자의 접점을 찾아 시각적으로 표현하는 일을 합니다. 브랜드 디자이너로 경계선 지능 청소년 대상 예술교육을 실현하는 ‘DTS행복들고나’와 대학생 놀이 시터 서비스 ‘놀담’의 브랜드 아이덴티티를 담당했고, 그 외 마케팅에 필요한 시각적 콘텐츠들을 진행하고 있습니다.이것저것 다하는 디자이너라고 했는데, 대체 어떤 것들을 하길래. (웃음)개인적으로 한 분야에만 치우쳐 있는 것보다 골고루 분배되어 있는 디자이너가 되고 싶어서 기회가 되는 대로 최대한 많은 분야를 배우고 있는 중입니다. 그래픽, 편집, GUI 등 디자인뿐만 아니라 사진 촬영, HTML/CSS, IoT 등 언젠간 필요하다고 생각되는 분야까지도요.B.A.T의 메인 비주얼도 도맡아했다는 이야기도 들리던걸요?그렇습니다. B.A.T 폰트 개선 작업과 소개서 등 디자인도 모두 제가 했습니다. 하하 이것저것 다한다는 거 인정할게요! 그나저나 어떻게 B.A.T에 오게 된 건지 궁금해요.사실 이전에는 B.A.T를 몰랐어요. 퇴사 후 외주와 개인 작업을 병행하고 있었는데, 온라인 포트폴리오 사이트에 올라가있는 제 작업물을 보고 B.A.T에서 직접 연락을 주셔서 알게 되었습니다.전혀 몰랐던 회사인데 선뜻 러브콜에 응한 거예요?브랜딩이 너무 하고 싶었습니다. 그래서 퇴사를 결정했는데, 막상 나와보니 오래된 연차의 경력직들만 뽑더라고요. 제가 경력이 많은 편은 아니었거든요. 어떻게 해야 하나 고민하고 있던 상황에서 마침 연락을 받았고, 브랜딩을 할 수 있는 좋은 기회라고 생각해 결정하게 되었습니다.[노트폴리오 픽(NP)에 선정된 개인 작업물][B.A.T 폰트 및 로고 리뉴얼 작업]막상 와서 업무를 해보니 어때요?때로는 다양한 작업들을 하기에 브랜딩에만 집중 못 할 때도 있지만, 점점 더 브랜딩에만 집중할 수 있는 여건과 작업 시간을 만들어주셔서 차근차근해보고 있는 중입니다. 또한 혼자 프로젝트를 진행해야 한다는 부분이 초반에는 조금 어려웠는데, 막상 적응하고 나니 이러한 점들이 오히려 개인으로서 빠르게 발전해나갈 수 있다는 장점으로 작용되는 것 같습니다.사실 좋아서 하는 일이라도 '직업'이 되는 순간 힘들다고 느낄 때가 있잖아요. 맞아요. 특히 프로젝트를 진행하는 동안 제가 생각하는 방향과 다르게 흘러갈 때라던가 커뮤니케이션 미스로 서로에게 의미가 다르게 전달될 때가 가장 힘든 것 같습니다. 각자 열심히 잘하고 싶은 마음은 같은데, 그게 결과물로 잘 이어지지 않으면 아쉽죠.반대서 일하면서 가장 보람을 느꼈던 순간은요.나와 클라이언트가 모두 만족하면서 프로젝트를 마쳤을 때?여기서 마쳤을 때라는 부분이 가장 중요합니다! (웃음)최종적으로 이루고 싶은 목표는 뭐예요?호랑이는 죽어서 가죽을 남기고, 사람은 이름을 남기며, 디자이너는 포폴을 남긴다고 합니다(?)  만족할 수 있는 작업물을 통해 한 단계씩 계속해서 나아갈 수 있는 디자이너가 되고 싶습니다.마지막으로 B.A.T 지원자들에게 한마디.함께하세용!
조회수 1074

[ADC] 제 2회 에이스프로젝트 사내 컨퍼런스 'Change-up'

안녕하세요, 공유를 중시하는 야구게임 전문 개발사 에이스프로젝트입니다.지난 1회 ADC에 이어,에이스프로젝트만의 컨퍼런스인 두 번째 ADC(Aceproject Diversity Conference) 가 성공적으로 개최되었습니다!(지난 ADC는 아래 링크를 참고하세요!)https://blog.naver.com/aceproject/221000991234이번 ADC는 야구게임 전문 개발사인 에이스프로젝트 정체성에 맞게‘Change-up’(야구 용어)에서 주제의 영감을 받았답니다.'Change-up'은 여러 가지 의미를 내포하고 있는데요. 1. (기어를) 올리다2. (눈에 띄는) 변화3. 체인지업 (야구 용어)에이스프로젝트에서 변화한 모습, 실패를 딛고 성장한 경험까지 자신의 이야기를 할 수 있는 자리를 만들고자 'Change-up'이라는 주제를 선정했습니다.이번 ADC에서는 총 11명의 발표자들이 구성원들과 의미 있는 컨퍼런스를 위해 자원했답니다.열정적으로 발표해준 멋진 발표자들 덕분에 2회 ADC도 훌륭하게 진행할 수 있었습니다!장난끼 많은 팀 디렉터가 말하는 진지한 QA 팀의 업무 이야기부터초창기 멤버의 컴프매 1.0.0 비하인드스토리, 이제 막 육아휴직을 마치고 돌아온 워킹맘의 이야기까지.개발자, 기획자, 그래픽, QA, 프론트까지 모든 팀의 참여로 훨씬 더 풍부한 컨퍼런스가 될 수 있었어요.발표는 사내 카페테리아와 다저스 회의실, 그리고 잠실 회의실.듣고 싶은 세션을 자유롭게 선택하여 들을 수 있도록 여러 장소에서 진행했습니다.다른 장소에서 진행된 세션이 궁금하다면????모든 세션을 다시 들을 수 있도록 영상 녹화를 했답니다. 사내 공유 툴을 활용해 ADC 세션 영상을 에이스인 모두에게 공유하고 있어요.모두가 발표를 경청하는 아름다운 모습!바쁜 시간을 쪼개 발표를 준비해준 발표자들을 위해 소소하게 마련한 특전도 있었어요!지난번과 마찬가지로 챔피언스필드를 발표자 대기실로 세팅하고 간단한 다과와 소정의 선물을 준비했답니다.(발표할 때 떨지 마시라고 우황청심환도 같이 준비하는 센스!)제2회 ADC 기념품으로 ‘Change-up’이 적힌 에코백을 에이스인 모두에게 선물하기도 했어요.매 발표마다 청중들 모두가 귀를 기울이고, 적극적으로 Q&A 하는 모습도 볼 수 있었습니다.발표자들이 청중의 피드백을 통해 좀 더 성장할 수 있도록 ‘발표 만족도 설문’도 실시했는데요.청중들이 객관적으로 평가하며 성심성의껏 피드백도 남겨주었답니다.열심히 발표 만족도 설문을 적는 모습!만족도 설문 작성자에게 추첨을 통해 소정의 선물을 주는 시간도 가졌어요!또한 만족도 설문 최우수자인 ‘에이스 스피커’를 선정하여 국내 최대 게임 쇼인 ‘지스타 패키지’ 상품(KTX 왕복 1인+호텔 숙박 2박+지스타 입장권)을 증정했습니다.이번 에이스 스피커는 다소 복잡할 수 있는 디지털 마케팅에 관한 내용을적절한 예시와 함께 쉽고 조리 있게 잘 말해준 기획팀의 ‘H 님’! (무려 4점 만점에 3.9점을 받았답니다! 거의 모든 사람들이 100% 만족한 발표!)수고했어요, 정말 축하해요!! (짝짝)ADC가 끝난 후, 단란한 분위기의 에이스 파티와 함께 행사를 마무리했어요!에이스 파티에서는 발표자에 대한 격려와 응원은 물론, 발표 내용에 대한 좀 더 심도 있는 논의까지다양한 이야기를 나누었답니다! (훈훈)
조회수 993

[앵커리어랩]연구보고서 PM '윤상호' 

오늘은 저 밍케터가!앵커리어에서 1인 다역을(COO, 이사, PM, 피엠찡, 미니언 아범, 스물여덜짤 횽아)맡고 계시는 PM 윤상호(a.k.a 미니언아범)님의 인터뷰를 들고 돌아왔습니다!!기대되시죠? 오늘 진심 대박입니다. 헷그럼 스크롤은 밑으로 쭈우욱!눈은 화면에 고정! INTRO. 인사밍케터) 간단한 자기소개 부탁드립니다.미니언 아범) 간단한 자기소개요?.. 저는 운영이사직을 맡은 공동창업자로 초기부터 함께하고 있습니다. 밍케터)  인터뷰에 임하시는 각오 좀 말씀해주세요!미니언 아범) 허허. 각오는.. 편안하게... 날것 그대로... 원하는 대로... 시키는 대로 밍케터) (예쓰. 시키는 대로) 제1장. 오른손_앵커리어는 나 없이 돌아가지 않아.밍케터) 회사에서 하시는 일 소개 좀 부탁드립니다.미니언 아범)  사업마케팅 관련해서 총괄 책임 맡고 있습니다. 그 외 회계, 세무, 재정 등 회사 운영에 필요한 일들 모든 것을 합니다.한 마디로 잡역꾼이죠.밍케터) 마치 만능 손, 척척 해결박사 같은 모습 이십니다.가장 손이 많이 가는 일은 무엇인가요?미니언 아범)  아무래도 자금처리가. 흠흠. 매번 증빙 챙기는 것이 번거롭네요.밍케터) 회사에서 오른팔 처럼 없어서는 안 될 존재이시겠네요?미니언 아범)  네. 당연하죠.                   네?밍케터) 그래서 지켜보니 손을 굉장히 잘 쓰시더라고요? 특히 마.우.스.터.치.패.드팁 좀 알려주세요.미니언 아범) (당황) 흠. 이게 또 피아노처럼 세심한 조율이 필요합니다.자기 손가락 길이에 맞게 조정하시면 됩니다.밍케터) 마우스 없이 터치패드만 가지고 일하시게 된 계기가 있으신가요?미니언 아범) 이게 사실.... 쓰던  마우스가 건전지가 다 되어서 급하게 썼어요..그런데 건전지를 매번 까먹은 지가 1년이 되었습니다.- 그 마우스는 지금도 제 가방 안에 있습니다. … 다된 건전지와 함께 전원) ....................................................밍케터)  PM님이란 직원들을 자식처럼 품는 분이죠. 그렇다면 깨물었을 때 가장 아픈(소중한) 직원은 누구인가요.미니언 아범) 아픈 손가락의 직원은 없습니다.(=소중한 직원 ㄴㄴ)아아! 다 소중합ㄴ ㅣ어ㅣㅓ밍케터리...(뒤늦은 무마를 하셨지만 밍케터는 듣지 않았다. 기억나지 않는다.PM님에게 소중한 직원은 없다.)제2장. 눈_모든 데이터를 읽는다. GA는 내 손바닥 안에 훗.밍케터) GA(Google Analytics)를 굉장히 잘 다루시던데 주로 어떻게 사용하고 계신가요?미니언 아범) 사용자분들의 사이트 유입 경로를 파악하기 위해서 사용하고 있습니다. 밍케터) 단순 데이터만 읽는 것이 아니라 주변 상황과 잘 매치하여 이해하시는 것 같습니다.GA 사용팁이 따로 있을까요?미니언 아범) (긁적…어려운 이야기를 좀 해볼까?)책에서 맘에 들었던 단어가 있습니다. "허세 매트릭"입니다. 사람들에게 보기 좋은 수치들을 의미하는 말입니다.일일 방문자, 활성 사용자들이 대표적 예이죠.사실 그 수치가 가치 있으려면 의미 있는 숫자여야 하고 이를 이루기 위한 실천전략이 있어야 합니다.하지만 GA로 단순히 숫자만 파악하시고 전략은 없는 경우가 많더라구요? 숫자를 보기 전에 목표를 세우는 것이 중요합니다.필요한 숫자만 보고, 일반적인 숫자, 즉 허세 수치에는 일희일비 하지 않는 게 저의 사용 팁입니다.밍케터) 올.... 방금 되게 인터뷰 같았씁니다.미니언 아범) 그렇죠? 후 후후밍케터)  GA가 다 그래프던데.. 혹시 고등학생 때 확(률과)통(계) 잘 하셨나요? 당연히 잘했겠죠?미니언 아범) (미소_서울대생의 여유)여유있는 관악구 s대 생의 모습.jpg 밍케터) 살면서 두 눈으로 봤던 가장 엄청난 광경 하나만 말해주세요. 미니언 아범) 저희 집 앞 골목에 오르막이 있는데, 차가 주차되어 있었어요.그런데 그 차 뒤에서 어두운밤에 하얀 엉덩이들이 보이더라구요... 나.란.히 앉아서 쉬를 ㅆ…………………@.@[PM님이 직접 묘사한 현장재연]제3장. 귀_EDM과 심장의 연.결.고.리밍케터) EDM음악을 사랑하시죠? 가장 핫한 EDM곡 하나만 말씀해주세요미니언 아범) Porter Robinson의 Fliker입니다!원곡도 좋고 Mat Zo의 리믹스 버젼을 들어도 흥이 넘치실 것입니다.(이 노래를 함께 들은 모든 마케터들이 고개를 갸우뚱 했다는 것은 안 비밀.) [출처 : 네이버 뮤직]밍케터) 그런데 EDM은 그렇게 챙겨 들으시면서 왜 불리한 이야기는 듣고 모른척 하시나요..? 예를들어 오늘 인터뷰 요청이라던가..?미니언 아범) 현실을 부정하고 싶어서..죠? 연기라기 보단… LIKE 발버둥번외. 페이스북 페이지_박수상은 멍청멍청해밍케터) '박수상은 멍청멍청해' 라는 대표님을 소재로 하는 페이스북 페이지가 있다고 합니다. 이에 대해 어떻게 생각하시나요?미니언 아범) 대표님이 요즘시대에 보기든문 젊은이에요. 순수하고 남눈치안보는 매력이 있죠.얼마 전에 족발집에서 식사 끝나고 정리되는 분위기 였어요. 대표님이 그 때 쟁반국수를 하나 더 하자고 하시더라구요?다들 배부르다고 해서 제가 분명히 "아니요 눈치껏 먹어야죠" 라고 했는데...대표님이 "그럼 막국수 하나 더 시키죠"라고 하시고 시키는데 반할 뻔 했습니다.다들 하고 싶은 말을 못하며 사는 것이 시대정신인데 마이웨이의 매력이 있습니다.밍케터) 운영자에게 한 마디 해주세요.미니언 아범) 요새 활동이 뜸하던데 빨리 업데이트를 해주세요. 대표님의 일거수 일투족 알리는 생활툰 같은 매체로 거듭나시길 바랍니다.제4장. 손 묘기_나의 베스트 OF 베스트 부위밍케터) 가장 자신있는 부위 말씀해주세요.미니언 아범) 뭘까요? 저는… 쌍커풀 없고 큰눈이요.(PO당당WER)밍케터) 하지만 PM님의 진정한 매력은 손에 있기에 제 맘대로 바꿨습니다^^미니언 아범) 사실 제가 손 재주가 좀 있습니다. 술 자리에서 하는 아이템들인데 보여드릴께요(자랑)난 이만큼이나 꺽인다(자랑).JPG돌아가는 엄지 손가락 너네는 못 하지?.JPG이 손짓 하나면 대화할 때 모두가 나에게 빠져들어.JPG난 그걸 잘 따라해.JPG그리고 난 지금 너무 재밌쪙.JPG결론. 앵커리어 공식질문1. 나에게 앵커리어란?가시밭길. 한 걸음 한 걸음 전부 쉬운 걸음이 없네요. 하하 2. 자소설닷컴을 한 마디로 표현하면?좋은 서비스. 좋은 서비스는 좋은 사람이 만든다는 글을 보았습니다.사용자들을 이롭게 하고 싶다는 진정성을 가진 선한 팀원들이 만들었습니다.#앵커리어 #팀원소개 #인터뷰 #팀원자랑 #기업문화 #조직문화
조회수 1217

테이블이냐, 컬렉션이냐, 그것이 문제로다!(KOR)

편집자 주 외래어 표기법에 따르면 ‘원어에서 띄어 쓴 말은 띄어 쓴 대로 한글 표기를 하되, 붙여 쓸 수도 있다.’고 규정하고 있다.(제3장 제1절 영어의 표기, 제10항과, 컴퓨터 전문어, 전기 전문어 등) 즉 ‘원칙’과 ‘허용’이 모두 가능하다는 의미다. 이를 바탕으로 여러 표기 용례를 참고한 결과, TableView는 ‘테이블뷰(원칙)’로 표기해야 하나, 본문에서는 독자의 가독성을 높이기 위해 ‘테이블 뷰(허용)’로 표기한다. 응용하여, CollectionView는 ‘컬렉션 뷰’로, TableViewCell은 ‘테이블 뷰 셀’ 등으로 띄어 쓴다. Overview앱에서 데이터를 사용자에게 보여줄 땐 여러 가지의 모습으로 나타납니다. 설정 앱처럼 목록으로 보여줄 때도 있고, 사진 앱처럼 그리드(grid) 형식으로 보여줄 때도 있습니다. 이처럼 데이터를 보여줄 때 많이 사용되는 뷰는 테이블 뷰(UITableView) 또는 컬렉션 뷰(UICollectionView)입니다. 각자 특징이 있기 때문에 앱의 성격에 따라 적절한 뷰를 사용해야 합니다. 왜냐하면 목록을 보여주는 디자인을 바꿀 때, 다시 개발해야 하는 수고를 덜 수 있기 때문입니다. 이번 글에선 각각의 뷰를 간략하게 알아보겠습니다. 목록 형식의 설정 앱과 그리드 형식의 사진 앱 스크린샷테이블 뷰(UITableView)단일 열에 배열된 행을 사용해 데이터를 표시하는 뷰입니다. 수직 스크롤만 가능하며, 테이블의 개별 항목을 구성하는 셀은 테이블 뷰 셀(UITableViewCell) 객체입니다. 테이블 뷰는 이 객체들을 이용해 테이블에 표시되는 행을 그립니다. 여러 행은 하나의 섹션 안에 구성될 수 있으며, 각 섹션은 헤더(header)와 푸터(footer)를 가질 수 있습니다. 섹션과 행은 인덱스 번호로 구별하는데, 번호는 0부터 시작합니다. 테이블 뷰는 plain과 grouped 스타일 중 한 가지의 스타일을 가질 수 있습니다. Plain 스타일은 보통 목록 스타일입니다. 섹션의 헤더와 푸터는 섹션 분리기(inline separators)로 표시되고 스크롤을 할 때 해당 섹션 안에 있는 콘텐츠 위에 나타납니다. Grouped 스타일은 시각적으로 뚜렷한 행 그룹을 표시하는 섹션이 있습니다. 섹션의 헤더와 푸터는 콘텐츠 위에 나타나지 않습니다. 아래와 같은 사진을 보시면 확연히 차이를 볼 수 있습니다. plain 스타일의 연락처 앱과 grouped 스타일의 설정 앱테이블 뷰의 많은 메소드들은 인덱스패스(NSIndexPath) 객체를 매개변수 또는 리턴 값으로 사용합니다. 테이블 뷰는 해당하는 행의 색인 인덱스와 섹션 인덱스 값을 가져올 수 있게 인덱스패스의 범주를 선언합니다. 또한 색인 인덱스와 섹션 인덱스 값을 가지고 인덱스패스를 만들 수 있습니다. 특히 여러 섹션이 있는 테이블 뷰는 섹션 인덱스 값이 반드시 있어야 행의 인덱스 번호로 구별할 수 있습니다.override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> AttractionTableViewCell {         // Table view cells are reused and should be dequeued using a cell identifier.         let cellIdentifier = "AttractionTableViewCell"              guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? AttractionTableViewCell else {             fatalError("The dequeued cell is not an instance of AttractionTableViewCell.")         }                 let attraction = attractions[indexPath.row]                 cell.attractionLabel.text = "\(indexPath.row). \(attraction.nameWithDescription)"         cell.attractionImage.image = attraction.photo                 cell.attractionImage.tag = indexPath.row                 attraction.indexPath = indexPath                 ...                 return cell     } 위의 코드는 데이터 소스(data source) 메소드로, 테이블 뷰의 특정한 위치에 셀을 추가합니다. 다시 말해, 이 메소드는 테이블 뷰가 ‘표시할 새로운 셀이 필요할 때마다’ 특정 행에 노출할 정보가 있는 셀을 만들고 리턴하는 걸 말합니다. 매개변수로 필요한 셀 객체의 행을 가리키는 indexPath 값을 전달합니다. 그리고 indexPath의 row 값을 이용해서 attraction이라는 배열 인덱스로 활용하고, 셀에 표시할 정보들을 설정합니다. 여기서 attraction 배열은 관광 명소들의 정보들이 담고 있는 배열인데, 1행은 첫 번째로 저장한 관광 명소, 2행은 두 번째로 저장한 관광 명소 등 순서대로 설정하도록 indexPath.row 값을 이용하는 것입니다. indexPath의 row 값과 배열의 인덱스 값은 0부터 시작하기 때문입니다. 해당 예제는 섹션이 1인 경우이기 때문에 섹션 인덱스 값이 없지만, 섹션이 여러 개 있다면 반드시 섹션 인덱스 값을 이용해서 설정해야 합니다.테이블 뷰 객체는 데이터 소스(data source)와 델리게이트(delegate)가 필요합니다. 데이터 소스는 UITableViewDataSource 프로토콜을 구현해야 하고, 델리게이트는 UITableViewDelegate 프로토콜을 구현해야합니다. 데이터 소스는 테이블 뷰가 테이블을 만들 때 필요한 정보를 제공하고 테이블의 행이 추가, 삭제 또는 재정렬할 때 데이터 모델을 관리합니다. 델리게이트는 화면에 보이는 모습과 행동을 담당합니다. 예를 들어 표시할 행의 수, 사용자가 특정 행을 터치했을 때, 행의 재정렬 등과 같은 것입니다.override func numberOfSections(in tableView: UITableView) -> Int {         // #warning Incomplete implementation, return the number of sections         return 1     }      override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {         // #warning Incomplete implementation, return the number of rows         return attractions.count     } 위의 두 소스는 데이터 소스가 필수적으로 구현해야 하는 메소드입니다. 하나는 섹션의 개수를 리턴하고, 또 하나는 한 섹션 안에 있는 행의 개수를 리턴합니다.테이블 뷰는 수정 모드에서 행을 추가, 삭제, 재정렬할 수 있습니다. 각 행은 테이블 뷰 셀에 연관된 editingStyle에 따라서 추가, 삭제, 재정렬을 할 수 있는데, 예를 들어 editingStyle이 insert라면 추가하는 메소드를 실행하고, delete면 삭제하는 메소드를 실행합니다. 행의 showsReorderControl 속성이 true라면, 재정렬하는 메소드를 실행할 수 있습니다.// Override to support editing the table view.     override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {         if editingStyle == .delete {             // Delete the row from the data source             ...                 // delete rows and attractions and reload datas             attractions.remove(at: indexPath.row)             tableView.deleteRows(at: [indexPath], with: .middle)             tableView.reloadData()         } else if editingStyle == .insert {             // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view         }     } 위 소스는 editingStyle이 delete일 때 셀을 삭제하고 테이블 뷰를 다시 로드하는 기능을 구현한 것입니다.테이블 뷰를 만드는 가장 쉽고 권장하는 방법은 바로 스토리보드에서 테이블뷰컨트롤러(UITableViewController)를 이용해서 만드는 겁니다. 런타임에 테이블뷰컨트롤러는 테이블 뷰를 만들고 델리게이트와 데이터 소스를 자기 자신으로 할당합니다.컬렉션 뷰(UICollectionView)컬렉션 뷰는 테이블 뷰에서 할 수 있는 모든 것을 할 수 있습니다. 섹션을 가질 수 있고, 인덱스패스 값을 이용해서 셀을 구별합니다. 이 셀들은 컬렉션 뷰 셀(UICollectionViewCell)의 서브 클래스이며 데이터 소스(UICollectionViewDataSource)와 델리게이트(UICollectionViewDelegate)가 필요합니다. 셀을 추가, 삭제, 재정렬하는 기능도 구현할 수 있습니다. 그렇다면 컬렉션 뷰와 테이블 뷰를 구분하는 특징은 무엇일까요? 바로 레이아웃입니다. 컬렉션 뷰는 여러 개의 열과 행으로 셀을 표현할 수 있습니다. 예를 들어, 그리드(grid) 형태로 아이템의 목록을 보여줄 수 있습니다. 그래서 수직 스크롤뿐만 아니라 수평 스크롤도 할 수 있습니다.스토리보드에서 디자인한 테이블 뷰 셀과 컬렉션 뷰 셀위 스크린샷에서 테이블 뷰와 컬렉션 뷰의 가장 큰 차이는 바로 셀입니다. 테이블 뷰에서는 하나의 열에 여러 행을 표시하는 형식이기 때문에, 셀의 모습을 행에 맞춰서 디자인합니다. 하지만 컬렉션 뷰는 열과 행을 만들 수 있기 때문에, 꼭 행의 모습이 아니더라도 다양한 모습으로 셀을 디자인할 수 있습니다. 컬렉션 뷰 셀의 가장 큰 특징이기도 하죠. 위처럼 셀을 디자인하고 앱을 실행하면 아래의 화면이 나타납니다.테이블 뷰와 컬렉션 뷰의 앱 화면 차이또한 컬렉션 뷰는 레이아웃 객체가 있습니다. 기존에 제공하는 flow layout을 사용해도 괜찮지만, 본인이 원하는 레이아웃 모양을 custom layout을 만들어서 사용합니다. 이를 담당하는 프로토콜은 UICollectionViewDelegateFlowLayout 입니다.func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {         let fullWidth = collectionView.frame.size.width - (self.CGFLOAT_INSET_WIDTH * 3) - (self.CGFLOAT_ITEMSPACING * 3)         let width = fullWidth/3         return CGSize(width: width, height: width + self.CGFLOAT_HEIGHT_ATTRACTIONCELL_DEFAULT)     }         func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {         return UIEdgeInsetsMake(self.CGFLOAT_LINESPACING_VERTICAL, self.CGFLOAT_INSET_WIDTH, self.CGFLOAT_LINESPACING_VERTICAL, self.CGFLOAT_INSET_WIDTH)     } 위 소스에서 collectionView(:layout:sizeForItemAt:) 메소드는 해당하는 셀의 사이즈를 설정하고, collectionView(:layout:insetForSectionAt:) 메소드는 섹션 안에 margin을 설정합니다.여러 모양의 셀을 이루어 하나의 뷰 화면을 구현할 수도 있습니다. 섹션마다 셀을 만들어 각각 다른 모습의 셀을 설정하고, 한 화면에 다양한 모습의 셀을 가진 뷰를 만드는 것입니다. 예를 들어, 헤더, 메뉴, 본문, 푸터 각각 셀을 만들어서 원하는 모양으로 만들고, 하나의 뷰 컨트롤러에 셀을 조합해서 한 화면에 나타나게 할 수 있습니다. 이 방법을 사용하면 자주 사용하는 셀을 재활용할 수 있습니다. 똑같은 헤더와 푸터 셀을 여러 번 만들지 않고 기존의 셀을 재활용하면 시간도 절약하고, 훨씬 깔끔한 소스를 만들 수 있을 겁니다.브랜디 앱 스크린샷 일부위의 스크린샷처럼 여러 화면에서 보여줘야 할 똑같은 뷰가 있을 때, 셀 xib 파일을 만들고 컬렉션 뷰에서 셀을 섹션별로 설정 및 사용하면 재활용하기 좋습니다.Conclusion지금까지 테이블 뷰와 컬렉션 뷰의 특징들을 살펴봤습니다. 한마디로 정리하면 테이블 뷰는 가장 간단한 목록을 만들 수 있습니다. 컬렉션 뷰는 다양한 모습의 목록으로 커스터마이징(Customizing)할 수 있습니다.그렇다면 우리는 어떤 것을 선택해야 할까요? 구현할 목록이 얼마나 복잡한지에 따라 선택은 달라집니다. 테이블 뷰는 간단하고 보편적인 목록을 만듭니다. 반면에 컬렉션 뷰는 특정한 모습의 목록을 만들 수 있습니다. 그래서 테이블 뷰는 목록이 간단하고 디자인 변경이 없을 때만 사용하길 권장합니다. 하지만 나중에 디자인이 바뀔 수도 있다면 컬렉션 뷰를 사용하는게 더 좋겠죠.Simple is the best! 간단하게 구현할 수 있는 건 테이블 뷰를 사용합시다. 테이블 뷰에서 구현하기 힘들다면 컬렉션 뷰를 이용해 개성 있는 목록을 마음껏 만들어봅시다!참고UITableView - UIKit | Apple Developer DocumentationUICollectionView - UIKit | Apple Developer Documentation 글김주희 사원 | R&D 개발1팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #개발문화 #개발팀 #업무환경 #인사이트 #경험공유
조회수 2542

(연말특집 소환글 2)'실패에 대한 두려움'

블랭크의 소소한 이야기를 구독하시는 분들과 공유하고 싶은 글이렇게 링크로 소환합니다. 바쁜 송년의 시간을 보내고 계실 독자 여러분들이 꼭 하루 정도는 한 해를 뒤돌아보면서 정리하셨으면 좋겠습니다! 내가 얼마나 성장했는지내가 무엇을 했고, 어떤 배움이 있었는지내가 어떤 실패를 했는지 그래서! 내가 어떻게 나아갈지!  여러분의 2019년은 용기와 도전으로 가득하시고!실패와 역경을 추억할 때, 한 장의 히스토리로 남기를 바랍니다  블랭크코퍼레이션 남대광 대표가 사내메신저 슬랙에 남긴 글남대광'실패에 대한 두려움' 에 대하여.. 제가 블랭크 슬랙 tmi 방(투머치인포메이션, 아무말이나 적는 방 ㅎㅎㅎㅎ)에 쓴 내용인데요! 혹시나 혹시나.. 누군가에게 조금은 힘이 될수도 있지 않을까 라는 생각을 하며 페이스북에 공유해보아요. ------------------------------------------------------ 오늘 혼자...www.facebook.com 12월 21일 (금요일) 블랭크 슬랙 #tmi 채널오늘 혼자 생각하다 ‘실패에 대한 두려움’ 에 대한 꼭지를 생각해봤어요ㅎㅎ이 방은 tmi방이니까 제가 '실패에 대한 두려움'이 많이 없어진 계기를 한번 적어보려구요. 저는 아주 어렸을 때부터 지금까지 쭈욱 사업을 해왔어요. 사업(?) 이라고 하기엔 너무 거창하지만...초등학교때는 ㅋㅋ 학교에서 구슬도 팔고, 삐삐모양의 시계도 팔고중고등학교땐 온라인 게임 아이템 장사도 하고 20살 넘어선 노점(피어싱, 목도리, 비니), 방문판매 (술집 돌아다니며 복조리 판매) , 동대문 사입삼촌, 남성의류 쇼핑몰, 교육플랫폼 (인강강사 플랫폼)그 다음에 지금의 사업의 줄기가 된 몬캐스트, 메이크어스(그 곳에선 이사로), 블랭크... 그렇게 계속을 사업을 해오고 큰 성공은 아니지만.. 동년배보단 돈을 많이 벌다보니 전 제가 엄청 뛰어난 줄 알았어요. 뭐를 하든 남들보다 다 잘할 줄 알았죠 ㅎㅎㅎ그런데 제가 쇼핑몰을 운영하며 번 돈으로 '교육플랫폼’에 돈을 투자해 사업을 하던 시절, 운영하던 쇼핑몰에 큰 일이 생겼어요. 동대문에서 우리에게 주던 물건 중 ‘누디진 청바지’ 레플리카(레플리카란 말도 거창하네요...ㅠ 짭..)가 있었는데 우리가 그것을 엄청 팔았고 누디진이 한국 진출을 하면서 우리에게 소송을 한거였어요.그때 당시 전 이러한 상식 (가짜를 팔면 안된다) 에 대한 개념도 전 없는 상태였죠... 부끄럽네요...... 4억 짜리 소송을 맞았어요 ㅎㅎ전 그때 보증금 500에 월세 50만원짜리 원룸에 살면서 수중에 1000만원도 없는데(계속 다른 사업에 투자를 하다보니..ㅠ) 변호사비만 3000만원이 들어가는 소송에 맞게되었어요. 일단 제가 처분할 수 있는 것들을 하나둘씩 처분하고ㅎㅎ 벽에 붙어있던 그림 액자까지 3만원에 처분하고...ㅎㅎㅎㅎ제가 갖고 있는 모든 것들을 처분했어요.보증금도 빼고.. 친구집 으로 월세 10만원을 주면서 이사하고 한달 생활비를 10만원으로 생활했어요. 해결해야할 문제도 너무 많아지구요.. 그래서 카드빚도 계속 생기고.... 그러다 저는 신용불량자가 되었어요 ㅎㅎㅎ (그래서 아직도 신용등급이 매우 낮아서.. 현대카드에 퍼플신용카드 신청을해도 안되더라구요 ㅋㅋㅋ 얼마전에 빠꾸 먹음 ㅠ) 지금으로부터 6년 전 28살. 그 시기가 가장 힘들었던 순간이었어요. 신용불량자가 되고 금전적인 압박의 고통도 컸지만.. 가장 나를 힘들게 한 것은 '자존감'문제 였어요.그때 그 시기는... 나에 대한 자신감이 완전 바닥까지 떨어진 시기였거든요. 난 무엇이든 할 수 있다 생각했는데... 그게 아니란 것을 안 순간들이었어요. 그렇게 힘든 시간들을 조금씩 버티다..조금씩 버티다...!!!!!!!!!저에게 작은 취미가 하나 생겼었어요. 돈을 아끼고 아끼고 모아 일주일에 한번, 월요일 점심시간에 회사 근처에 있는 상수동 커피숍 ‘스탠딩커피’에서 블루 레몬에이드를 사먹는 것! 지금 생각하면 너무 소박하지만...! 저에게 작은 '취미' 아니 작은 즐거움 하나가 생겼어요.ㅎㅎ  일요일 밤에 자기 전 ㅎㅎ 내일 월요일 해결해야할 문제를 생각하며 다음 날 먹을 블루 레몬에이드를 먹는 모습을 상상하곤 했어요남대광 대표가 당시 마시던 상수동 스탠딩커피 블루레모네이드 라지 사이즈 이미지 근데!! 어느날 문득!!행복하다는 생각이 들었어요 ㅎㅎ 난 비록 현재 실패하고 느리고.. 아무것도 가진 게 없지만 무엇인가를 꿈꾸고, 무엇인가를 원하고 있는 이 모습이 너무 행복했어요 ㅎㅎ 아..행복이란게 큰 것에서 오는게 아니란 생각을 했어요. 블루레몬에이드를 기다리면서도 행복할 수 있고내가 나를 조금만 더 믿는다면 최악의 금전적인 상황에서도행복할 수 있는 거구나 라고 생각했어요.. ㅎㅎ 그 이후, 실패가 두려워지지 않게 되었어요.. 물론 실패하면 어쩌지 란 생각도 해요. (사실 많이 해요 ㅎㅎ)블랭크가 실패할 수도 있고, 제 삶이 실패할 수도 있어요. 그렇지만 전 그 안에서 다시 행복을 찾을 거에요. 또 다시 작은 블루 레몬에이드를 찾을 것이고 내 옆에 있는 사람과 밝은 미래를 이야기하며 다시 행복을 찾을거에요.  여기 있는 블랭커 모두가 일 뿐만 아니라 각자의 삶 안에서 많은 도전을 할거라 생각해요.가족을 만드는 도전을 하기도 하고, 삶의 길을 바꾸는 도전을 하기도 해요.많이 두려울 거에요. 많이 힘들기도 하구요. 그렇지만 저는 우리 블랭커가 조금은 더 용기있었으면 해요.난 실패하더라도 행복할수 있어...!실패한 나도 충분히 소중하고 행복할수 있을거야..!라는 믿음이 있다면 실패에 대한 두려움이 조금은 줄어들수 있지 않을 까 생각해요.블랭커 여러분!!저는 여러분이 진심으로 행복했으면 좋겠어요.. 행복에 대한 정의를 저도 아직 못내렸지만..여러분의 삶이 지금보단 좀 더 고통이 덜하고 '가치'있는 삶을 살았으면 해요. 블랭크는 여러분이 행복을 찾아가는 '고통'의 여행에서 실패할 수 있는 기회를 주는 회사, 도전할 수 있는 기회를 주는 회사가 될게요...!!블랭크는 여러분이 행복을 찾아가는 '고통'의 여행에서실패할 수 있는 기회를 주는 회사,도전할 수 있는 기회를 주는 회사가 될게요...!!- 남대광 드림-Jason KH커뮤니케이션    기획자
조회수 300

시프티 사명과 코어 가치

폴 손 (Paul Sohn)은 그의 블로그에서 ‘문화는 어려움 속에서 반드시 전략을 초월한다’라고 썼습니다. (Here's How Leaders Create Healthy Organizational Culture, http://paulsohn.org/heres-how-leaders-create-healthy-organizational-culture/)시프티의 예를 들면, 비즈니스에 대한 경험이 전무한 두 명의 공동 설립자에 의해서 시작되었습니다. 사업이 계속 성장함에 따라 2017 년 9 월, 2 명의 팀원을 추가로 합류하였고 바로 그 때 시프티의 팀과 문화, 가치에 대해 다시 한 번 생각해 보기 시작했습니다.우리는 모든 회원들이 참여하기를 열망하는 독특한 문화를 육성하여 미래에 시프티 팀에 합류할 모든 구성원들에게도 자연스럽게 전달되게 하고자 했습니다. 시프티의 문화는 우리가 누구인지, 어떻게 사업을 함께 해 왔는지, 그리고 우리 모두가 시프티를 운영하는 데에 서로 동의하는 철학에서 비롯되었습니다. 그래서 우리 고유 문화를 구축하기 위해 2016 년 7 월 시프티 프로젝트가 시작된 후 첫 해를 되돌아 보고 팀과 공유할 시프티의 핵심 가치, 미션과 비전을 수립하였습니다.Unconventional첫 번째로, 우리는 우리가 누구인지, 다른 기업과 다른 차별성이 무엇인지를 아는 것이었습니다. 한 예로 우리는 한국에서는 다소 익숙하지 않을 수 있는 언어를 사용하여 기존 방식과 다른 제품 개발 프로세스를 수행했습니다. 또한 북미 지역에서는 스케줄링, 출퇴근 용 앱 또는 소프트웨어 시장이 상당히 포화 상태라고 말할 수 있지만 한국은 완전히 새로운 시장이었습니다. 중견 기업의 경우에도 오래된 방법으로 출퇴근을 기록하고 근무표 계획과 급여를 엑셀로 처리하는 전통적인 방법에 크게 의존하고 있습니다. 우리는 시프티의 익숙치 않은 언어를 기꺼이 배우고 일해줄 인력을 찾기 어려울 것이라는 예상과 새로운 시장을 개척한다는 위험을 가지고 시작하게 되었고 UNCONVENTIONAL이라는 가치는 시프티가 앞으로 나아가는 데에 있어 중요한 코어 가치가 되었습니다.Insight두 번째 핵심 가치는 INSIGHT입니다. 우리는 나날이 들어오는 사용자들에 신기했지만 많은 사람들이 시프티를 사용하지 않고 떠나는 것들으르 지켜보았습니다. 사용을 하든 떠나든, 우리는 그들의 요구와 불만을 듣는 데에 많은 노력을 했습니다. 이 과정 속에서 우리는 주로 많은 사용자들의 ‘원함’만을 들었습니다. 우선순위가 없는 의견들과 요청들이 난무하여 우선 순위를 정하는 데 어려움이 있었습니다. 시프티 서비스의 핵심과 사용자에게 제공하는 가치의 중심을 지키기 위해 합리적이지 않은 ‘원함’ 류의 피드백 대부분을 제거해야 했습니다. 우리는 비즈니스의 본질 인 사용자가 실제로 ‘필요’로 하는 것을 연구하기 시작했습니다. 우리는이 접근법을 취하면서 더 나은 통찰력을 가지게되었고 사용자가 정말 필요로 하는 기능을 구현할 수가 있었습니다. 우리는 팀에게 다음과 같은 메시지를 전하게 되어 자랑스럽습니다. “단순히 원하는 것이 아니라 사용자가 정말로 필요로 하는 본질을 찾자.”Flexibility제품 초기에는 MVP 만 있었기 때문에 대부분의 대기업 요구에 부응할 수 없었습니다. 그렇다고 당시에는 우리가 소상공인을 위한 문제를 완벽하게 해결할 수 있지도 않았습니다. 초기에는 제품의 성숙도가 낮아서 주요 타겟 시장으로 간주되는 소상공인의 니즈도 거의 처리하지 못했기 때문입니다. 저는 매일 새로운 자영업 사용자에게 시프티를 떠난 이유를 묻곤 했습니다. (MVP가 갓 나온 초기에 심각한 인게이지먼트와 리텐션 문제를 겪었습니다.) 시프티를 그만 두는 핵심 사유를 찾아내려는 많은 시도는 효과가 없었습니다. 많은 사용자는 시프티에서 무엇이 필요한 지를 정확히 표현하지 못했습니다. 우리는 마침내 소상공인으로부터 피드백을 얻는 것이 대기업의 피드백만큼 효과적이지 않다는 것을 알게 되었고, 사업의 방향성을 중소/대기업 중심으로 전환하게 되었습니다. 대기업은 직원 관리에 대한 절차가 확실하여 특정 기능 요청이나 귀중한 피드백을 세세히 제공할 수 있었기 때문입니다. 이러한 피드백들은 지금의 시프티로 성장하는 데에 결정적인 역할을 했습니다. 결국 시장반응에 빠르고 현명하게 변화하기 위해 pivot할 수 있었던 시프티의 세 번째 가치는 FLEXIBILITY입니다. (소상공인도 여전히 시프티를 편리하게 이용할 수 있습니다.)Customer Satisfaction and Openness마지막 두 가지 핵심 가치는 CUSTOMER SATISFACTION과 OPENNESS입니다. 우리는 고객의 니즈에 필수적인 서비스로 고객을 만족시키고자 합니다. 또한 팀 내에서 열린 문화를 가짐으로써 자유롭게 의견을 제시하고 협력을 촉진할 수 있는 환경을 만들고자 합니다. 우리는 계층적 보고 절차를 가진 전통적이고 엄격한 기업이 되고 싶지 않았기 때문입니다.핵심 가치:Unconventional: 다르다는 것을 두려워하지 않음Insight: 원하는 것을 제공하지 않고 사용자가 필요한 것을 제공Flexibility: 변화에 신속한 대응Customer Satisfaction: 고객을 만족시키기 위해 더 나아감Openness: 투명성과 협업을 수용, 구성원의 평등 추구우리가 위에서 확립한 다섯 가지 핵심 가치는 시프티 팀 내에서 공유될 것이며 궁극적으로 아래의 사명을 이루는 데에 기여할 것입니다.사명:올인원 솔루션을 제공하여 직원 근무일정 스케줄링, 출퇴근기록 및 급여정산 프로세스를 간소화합니다.기업의 운영 효율성을 향상시킵니다.고객이 직원 관리 비용을 절감 할 수 있도록 도와줍니다.#시프티 #고객가치 #핵심가치 #기업소개 #서비스소개
조회수 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, 블록체인 등을 언급하면 매우 혁신적이고 선도적인 미래를 선도한다고 생각하는 데 반해, 이런 터치형 디바이스가 새로운 컴퓨팅의 미래라고 규정하는 것은 다소 따분하게 생각하는 경우가 많다. 그러나 소비자 기술은 이제까지의 역사를 봤을 때 매우 보수적으로 변화했기 때문에 앞으로 그 기조가 극적으로 바뀔 것이라 보지는 않는다. 우리가 기술업계에 있기 때문에 미묘한 변화를 매우 둔감하게 받아들이는 경향이 있는데, 때로는 아주 작은 것이 세상에 큰 영향을 미치기도 한다. 우리는 이런 미묘한 변화에 예민한 촉을 갖고 접근해야 한다. '마우스'라는 작은 디바이스가 우리의 세상을 어떻게 바꾸었는 지를 보면 알 수 있다. 컴퓨터 전면에 달린 카메라 하나가 우리의 업무환경을 어떻게 바꿨는지, 스마트폰 후면에 달린 카메라 하나가 세상을 어떻게 바꿨는 지 말이다. 모두가 앨런머스크고 손정의일 필요는 없겠다. 
조회수 2778

스타트업 CTO의 일

최근 다음과 같은 고민이 깊어졌다."나는 잘하고 있을까?""내가 지금 해야만 하는 중요한 일은 무엇일까?""나의 역할은 어디까지고, 무엇을 위임해야 할까?""어떤 사람을 채용해야 할까?"팀의 구성원이 떠나기도 했고, 회사도 여러 가지 도전을 받고 있으며, 나 자신의 정체도 느끼는 것이 고민의 시작이다. 위 질문들의 공통된 뿌리는 “나의 일은 무엇인가?”라는 질문이다.'나의 일'이라는 것은 '스타트업 CTO의 일'이다. 하지만 모든 스타트업의 CTO가 하는 일이 나와 같지는 않다. 스타트업은 다양한 단계가 있고, 목표로 하고 있는 시장도 제각각이다. 가지고 있는 기술, 목표로 하는 기술도 다르고, 구성원 또한 제각각이기 때문이다. 하지만 어느 정도 공통점이 있을 거라 생각한다. 혹시 이 글을 어느 스타트업의 CTO가 읽으신다면 자신의 일과 비교를 해봐 주시길 부탁드린다.본격적으로 시작하기 전에 이 글은 내가 앞으로 겪을 경험에 따라 많이 바뀔 수 있음을 미리 알려둔다.CTO?Chief Technology Officer의 준말이다. 경영진 중의 한 명으로 회사에서 기술과 관련된 모든 일을 관리, 책임진다. 여기에서 '기술과 관련된 모든 일'이라는 모호한 것을  들여다보기 위해서는 CTO의 역할을 좀 더 나눠 볼 필요가 있다. 다음과 같이 나눠보고 각각에 대해서 살펴보자.Technical Leader - 최고의 엔지니어Technical Businessman - 기술조직과 사업조직의 가교Team Manager - 팀장Product Manager - 프로덕트 관리자Technical Leader보통 CTO라 하면 가장 먼저 떠올리게 되는 역할이다. 기술기업의 경우 핵심 기술역량을 보유하고 있거나, 서비스 기업의 경우 주도적으로 서비스를 개발/운영해본 경험이 있어야 한다. 다음과 같은 역할이 요구된다.1) 기술 비전과 로드맵회사의 기술 비전을 세우고, 그 비전을 달성하기 위한 로드맵을 정하고 실행해야 한다. 실행을 위해서 기술 조직에 비전을 전달하고 공감을 얻어 낼 수 있어야 한다.2) 아키텍트회사가 만드는 서비스 아키텍처를 만들고 발전시켜 나가야 한다. 동시에 이 서비스가 동작하는 인프라 아키텍처를 셋업하고 견고하게 만들어야 한다. 이를 위한 개발 스택들을 결정하고 적용해야 한다.3) 좋은 기술 코치팀이 기술적으로 성장할 수 있는 환경을 갖추고 코칭을 해야 한다. 팀의 구성원이 기술적 목표를 높게 유지할 수 있도록 해야 한다.4) 시니어 개발자시니어 개발자로 다음과 같은 역할을 해야 한다.· 팀이 현재 겪고 있는 가장 어려운 문제를 풀 수 있어야 한다.· 회사의 핵심 기술을 이해하고 높은 퍼포먼스로 제품을 만들어야 한다.· 개발 효율을 높일 수 있는 환경을 갖춰야 한다. (DevOps)· 문서화를 해야 한다.Technical Leader로서 위와 같은 일들을 잘 하게 되면· 고도화되더라도 효율이 떨어지지 않는 시스템· 높은 제품의 성능· 높은 기능적 완성도· 경쟁력 있는 기술과 그 기술을 갖춘 팀을 얻을 수 있다. 위 일들은 조직이 커지게 되면 팀의 시니어 개발자들이 점점 나누어 가지게 된다. (단, '기술 비전과 로드맵'을 제외하고) 다르게 말하면 반드시 위의 역할을 잘 나누어 가질 수 있는 사람을 시니어 개발자로 채용해야 한다.Technical Businessman대부분의 스타트업은 기술을 기반으로 시장의 문제를 해결(=사업)한다. CTO는 기술조직과 사업조직이 함께 잘 굴러가기 위한 가교 역할을 해야 한다. 이를 위해서는 회사의 사업에 대한 이해와 사업적인 센스가 필요하다.1) 기술적인 조언시장의 문제를 기술적으로 해결하고자 한다면, 기술조직에서 아이디어가 나와야 한다. CTO는 보통 가장 많은 아이디어를 사업조직에 제공해야 한다. 또한 회사가 새로운 일을 시작하고자 할 때, 그 일이 기술적으로 가능한 일인지, 어느 정도 크기의 일인지를 추정해야 한다. 비록 추정이 조금 부정확하더라도 추정이 있어야 사업적 판단을 할 수 있다. 그리고 회사에서 그 추정을 가장 잘 해야 하는 사람이 CTO다.2) 사업을 기술조직에 전파“나는 왜 이것을 개발해야 하는가?”에 대한 개발자의 질문에 답을 해주어야 한다.(정확히는 물어보기 전에 알려주어야 한다.) 이 일을 하는 사업적인 이유를 충분히 설명해 주어야 개발자는 동기를 얻고, 정해진 것 이상의 것을 만들어 낼 수 있다.3) 기술을 다른 조직에 전파회사가 가진 기술을 다른 조직에 전파해서 충분히 이해할 수 있도록 해야 한다. 그래야 기술이 아이디어를 만나 빛을 발하고 회사의 가치가 높아진다.Technical Businessman으로 위와 같은 일들을 잘하게 되면 회사가 가진 기술이 사업에서 효과적으로 사용된다. 그리고 사업을 위해 필요한 기술이 기술조직에서 발전하게 된다. 이 일들은 조직이 커지게 되면 역시 시니어 개발자와 프로젝트 관리자에 의해서 대체될 수 있다.Team Manager일반적인 팀장/조직장이다. 이 역할을 잘 수행하기 위해서는 커뮤니케이션 능력, 시간/리소스 관리 능력을 갖추어야 한다.1) 채용좋은 개발자를 채용해야 한다. 이를 위해서는 다음과 같은 기본적인 일을 해야 한다.· 채용 공고를 작성하고 올린다.· 면접을 진행하고 채용을 결정한다.· 좋은 사람을 소개받고 만난다.채용을 위해서는 장기적으로는 회사의 '기술 브랜드', '기업 문화'를 만들어 나가는 것이 도움이 된다. 물론 이런 것 보다 회사가 로켓처럼 날아가는 게 효과는 훨씬 더 좋다.2) 인력의 유지어렵게 뽑은 인력을 잘 유지해야 한다.  · 개인의 비전과 회사의 비전을 일치시키기 위해 노력한다. 다른 말로는 동기부여라고 한다.· 개인의 조직 내 성장을 돕는다.· 개인이 회사에서 만나게 되는 문제를 해결해 준다.물론 충분한 대우를 해주는 것도 중요하다.3) 자원의 산정과 확보프로젝트가 시작되기 전에 프로젝트에 필요한 인적, 물적 자원을 구체적으로 산정한다. (위의 Technical Leader가 하는 초기 결정을 위한 추정과는 다르다.) 대부분의 경우 어떤 사람이 어떤 일을 할 것인가를 결정짓는 일이다. 그리고 개발 혹은 운영에 필요한 추가적인 자원들을 준비한다. 장비가 될 수도 있고, 외부 서비스가 될 수도 있다.4) 일정의 계획과 관리일정을 계획하고, 관리한다. 다른 팀 혹은 외부와 의존성이 있는 경우 특히 이런 부분들을 잘 관리해서 일정이 차질 없이 진행이 될 수 있도록 한다. 프로젝트의 진행상황은 시각화하여 공개적으로 확인할 수 있도록 한다.5) 업무 프로세스 개선업무 프로세스를 개선해서 효율적으로 일할 수 있도록 해야 한다. 이를 위해서는프로젝트 관리 도구의 도입이슈 트래킹 시스템 도입스크럼/칸반등의 개발 방법론을 도입하고 운영등이 필요하다.3), 4), 5)는 우리가 일반적으로 프로젝트 관리자(PM)라 부르는 사람의 역할이기도 하다.이 일을 잘하게 되면회사에 필요한 인적 구성/역량을 갖춘 기술 조직을 유지할 수 있다.팀이 효율적으로 일할 수 있다.타 팀과 조화롭게 일할 수 있다.팀이 진행하는 프로젝트를 성공으로 이끌 수 있다.이 일들은 조직이 커지게 되면 중간 관리자, PM, HR 담당자가 생기면서 대체될 수 있다.Product Manager팀이 고객들이 원하는 제품을 전달하게 한다. 이 역할을 잘하기 위해서는 사업, 기술에 더해 UX에 대한 이해가 추가로 필요하다. (인터넷 서비스의 경우)1) 고객에 대한 이해고객을 보다 잘 알기 위한 노력을 해야 한다. 이를 위해서는 서비스에 관련된 지표들을 지속적으로 관찰해야 한다. 또는 인터뷰, 고객 대응 등을 통해 고객의 소리를 직접 듣는다.2) 고객의 대변자고객이 원하는 바를 명확하게 적은 스펙 문서를 작성해서 메이커에게 전달해야 한다. 또한 애매한 사항들이 있을 때 이를 최종적으로 결정해야 한다. 때로는 고객을 대신해서 제품에 대한 쓴소리를 해야 한다.3) 제품의 비전과 로드맵"우리는 어떤 제품을 만들어 갈 건가요?"라는 질문에 답을 할 수 있어야 한다. 즉, 제품의 비전을 구축해야 하고 이를 위한 구체적인 로드맵을 만들고 실행해야 한다. 이 비전을 조직에 전파하고 공감을 얻어야 한다.4) 우선순위의 결정사업, 고객의 측면에서 때로는 기술/디자인 부채를 없애기 위한 메이커의 입장에서 우선순위를 결정해야 한다.각 구성원 간의 이해관계가 부딪치는 부분이다. 효과적인 커뮤니케이션을 통해 슬기롭게 해결해 가야 한다.5) 제품의 퀄리티제품의 퀄리티를 책임진다. 직접 QA도 하고 디테일을 챙겨서, 구성원들이 높은 퀄리티를 목표로 할 수 있도록 해야 한다.이 역할을 잘하게 되면 좋은 제품을 만들어서 고객들의 호응을 이끌어 낼 수 있다. 또한 제품을 만드는 구성원들이 만족감을 얻을 수 있다. 이 역시 조직이 커짐에 따라 기획자, UX 디자이너가 일부 역할을 대체할 수 있으며 Product Manager를 뽑을 수도 있다.마치며스타트업의 CTO가 해야 하는 일은 이렇게 많다. 사실 스타트업 초기에는 위에서 말한 모든 것이 필요하지는 않다.(일단 컴퓨터를 사고, WIFI 설정도 하고..) 하지만 회사와 조직이 성장함에 따라 각각의 역할은 점점 중요해진다. 적당한 시기에 이 역할들을 위임하지 못하면 구멍이 생기기 시작하면서, 결국 여러 가지 중 하나도 제대로 챙기지 못하는 상황이 발생하게 된다. 이렇게 일을 정리하고 보니 지금의 내가 그런 상황이 아닌가 싶다.그럼 이제 내가 해야 하는 일은 동료들에게 적극적으로 도움을 요청해야 하는 것이다. 동료들도 내가 손을 내밀기를 기다리고 있을 거라 생각한다. :)  · 마지막으로 타이틀 이미지는 최근 프로덕트 그룹 워크샵에서 디자이너님의 타이포 세미나 때   제가 직접 그려 본 것입니다.#8퍼센트 #에잇퍼센트 #스타트업CTO #CTO #일상 #하루 #관리자

기업문화 엿볼 때, 더팀스

로그인

/