스토리 홈

인터뷰

피드

뉴스

조회수 901

블루오션 시프트

내가 놀담을 창업했을 당시에는 '대학생 놀이시터'라는 개념이 없었다.창업교육을 이수중이었던 우리는 대학생이 아이들을 재밌게 놀아주는 모델로 사업을 하고 싶었다. 때마침 맘카페, 구인구직카페에선 '우리 아이와 그냥 재밌게 놀아주실 분을 구한다. 대학생도 상관 없다.'는 글이 간헐적으로 등장했다. 그렇게 데모데이를 하루 앞두고 우리의 사업 모델을 '대학생 놀이시터 매칭 서비스'라 정의했었다. 그렇게 2년이 지난 지금, '대학생 놀이시터'는 아이를 키우는 엄마 아빠 사이에서 매우 핫하다.모든 시터는 에너지가 넘치고 밝은 대학생들이며 심사와 교육까지 이수하여 믿을 수 있다. 어플리케이션으로 간단하게 신청할 수 있고 내가 원하는 시간에 원하는 곳으로 시터를 부를 수 있다.급한 일이 있을 때, 우리 아이가 재밌게 뛰어놀았으면 할 때, 아이가 심심해하거나 혼자 놀게 하기 미안할 때, 놀이 시터는 아이에게는 즐거움을 보호자에게는 휴식을 선사한다.놀담은 베타테스트부터 뜨거운 관심을 받았고 점점 '대학생이 아이를 놀아준다'는 개념이 시장에 녹아들어가면서 사업도 순항을 맞은 듯 했다. 맘카페에서 '놀이시터 후기'는 하루에도 십수개씩 쏟아졌다.매력있는 아이템임은 분명했다. 당연한 이치로 머지않아 경쟁자가 나타났다. 저마다의 이야기와 매력으로 무장한 그리고 굳고 곧은 미션을 가진 기업들이 등장했다. 지금 이 시장은 5~6개의 스타트업이 경쟁하는 우리만의 레드오션이다. 서로는 각자가 가진 경쟁력을 스스로 잘 알고 있다. 나또한 수 많은 사업계획서에서 장표 하나를 할애해가며 경쟁사를 사분면위에 올려두고 우리의 차별화 전략을 목놓아 외치며 우측 상단 사분면에 놀담을 올려두었다. 하지만 고객의 관점에서는 비슷비슷한 '놀이시터 업체'일 것이다.  많은 스타트업이 이와같은 고민을 할 것이라 생각한다. 촤란~ 내 사업을 설명했을때, '그게 ㅇㅇㅇ이랑 뭐가 다른데?' 란 대답을 듣게되는 씁쓸함. 밤을 새워가며 끙끙대며 만든 내 자식과도 같은 아이템을 슥- 비슷하게 뚝딱! 만들어 선보이는 신기업이 나탔을때의 허탈함. 이런 감정을 느껴본 모두에게 이 책을 추천한다. [블루오션 시프트]레드오션의 경쟁에서 빠져나와 블루오션의 시장을 창출하는 법※주의블루오션 시프트는 '익숙해진 신개념'에 속한다. 이 개념의 첫 등장은 무릎을 탁 치게할 정도로 너무나 놀라웠지만 우린 이미 블루오션 시프트와 유사한 "제로투원" 또는 "블루오션 전략"에서 비슷한 개념을 많이 접해보았다. 이 글은 비슷한 부류 가운데 가장 최근에 나온 책에서 (잉? 블루오션 시프트가 비슷하다는 평가를 받는다니 모순적이다ㅜㅜ!) 적용하기 좋은 몇 개의 개념을 요약한 것이라고 생각하면 되겠다.1. 차별화와 저비용을 동시에 이뤄라.레드오션의 시장 경쟁에서 승리하고자 하는 자라면 모두 응당 두 가지 전략을 생갹할 것이다. 더 질 좋은 서비스 또는 상품을 만든다. "또는" 비용을 낮춰 더 값싼 서비스 또는 상품을 만든다.이 두가지를 동시에 이루는 것이 블루오션 시프트이다. 가치를 혁신하면 훨씬 저비용으로 완전히 차별화된 사업모델을 차줄 수 있다는 것. 가치 혁신이란 기회가 어디에 있는지에 대한 이해를 바꾸는 것이다.저자 르네 마보안은 튀김기의 레드오션에서 기름 없이 튀겨버리는 액티프라이 (우리에겐 에어프라이가 더 익숙한 모델명이지만)을 만든 세브그룹의 케이스를 예로 들었다. 블루오션 시프트의 목적은 가치와 비용의 상충관계(저비용을 추구하면 퀄리티가 낮아지고 압도적 퀄리티를 추구하면 비용이 높아진다)를 꺠버리는 혁신을 이뤄내는 것이다.2. 비슷비슷한 서비스를 제공하는 레드오션을 빠져나와라.블루오션 시프트를 이루는 기업가는 업계의 조건을 주어진 것으로 생각하지 않고 오히려 이러한 조건을 자신에게 유리하도록 재구성한다. 이 대목을 읽고 함께 퇴근학교에서 공부하는 학생독립만세가 생각났다. 자타 공인 과외고수 공대생 두 명은 2년간 유료과외업체 '어몽'을 성공적으로 운영 중이었다. 시장엔 이미 너무 많은 과외 업체가 자신들만의 매력을 뽐내고 있었다. 어몽은 6개월 전 사업을 피봇했다. 과외 시장 안에서 '과외를 받을 수 없는 환경에 있는 학생'에게 집중하는 모델이다. 학독만은 일단 무료로 과외를 제공하고 학생은 스스로의 힘으로 얻어낸 사교육을 누리며 대입에 매진할 수 있다. 대입 후 과외비를 갚는 조건으로. 사업을 시작함과 동시에 우리가 다른 과외 업체와 뭐가 다른지, 얼마나 좋은 지 홍보할 새도 없이 학생들이 모여들었다. 현재는 100분의 1의 비용으로 고객을 유치하고 있고 유료과외를 할때보다 수익 구조도 훨씬 탄탄하다. 학생독립만세는 과외를 대출해주는 모델로 경쟁 자체를 의미없게 만들었다. 3. 모든 프로젝트는 인간적이여야한다.저자는 프로젝트 진행에 있어서의 인간다움에 대해서 계속해서 언급했다. 전 과정이 리더의 결정과 지시로 이루어지는 것이 아니다. 레드오션 시프트의 필요성을 듣는 것이 아니라 팀원 전체가 스스로 발견하게 하는 과정이 중요하다. 그러면서 프로젝트에 대한 주인의식과 창의력이 높아진다는 것이다. 4. 방법론방법론까지 하나하나 거론하지는 않겠다. (솔직히 그저 그랬다... 익숙해진 신개념...흑흑)자세한 방법론과 템플릿은 블루오션 시프트 공식 홈페이지에 자세히 나와있다.간단히 요약하자면 PMS지도, 전략 캠퍼스, 구매자 효용성 지도, 비고객 세계층 정의, 여섯가지 경로 프레임워크 등 인데 우리가 익히 알고있는 디자인씽킹 전략과 너무나 유사하다. 가치혁신에 대한 새로운 방법론을 모색하고 있다면 한 번쯤 살펴보는 것도 나쁘지 않을 것 같다.결론올림픽이 한창이다. 스피드 스케이팅의 경기를 보고 있자면 경쟁자를 잘 만나야 한다는 생각을 하게 된다. 누가 옆에서 뛰느냐에 따라 전략과 페이스가 달라지고 결국 기록이 달라진다. 압도적으로 뛰어난 선수에게는 예외이다. 그에겐 수 많은 시간으로 단련한 자신만의 페이스가 있다. 경기에선 언제나 그랬듯이 나를 이기면 되는 것이다. 우리의 사업을 요리조리 살펴보자. 우리가 진짜 하고 싶은 게 뭔지, 진짜 이뤄내야하는 게 뭔지, 세상이 진짜 필요로 하는 게 뭔지. 그리고 그 미션으로부터 혁신을 시작하자. 경쟁이 의미없도록. 나만 나를 이기면 되는 운동장에서 뛰자.
조회수 24356

면접관으로서의 스타트업 면접 후기

어느덧 학창시절 지원자로서 면접 본 횟수보다, 면접관으로서 면접을 치르게 된 횟수가 3배 4배는 더 많아진 것 같습니다.  어렸을 땐, 면접관이 무얼 물어볼지 구글링하고 선배들에게 조언을 구하거나 서점에서 면접대비 책을 구매해가면서까지, 예상질문과 예답을 만들어가며 심지어 기숙사 벽장에 포스트잇까지 붙여가며 말하는 톤 하나하나 엄청 연습을 했었는데, 직접 사업을 운영해보니 그때 내가 지원자로서 받았던 질문들, 도무지 이런 질문까지도 준비를 해가야 하는거야? 라는 생각이 들 수 밖에 없던 질문들을 회사는 왜 물어볼 수 밖에 없는지 아니, 물어야만 하는지,  이젠 너무 훤히 알아서 실웃음이 나옵니다.  그만큼, 구인자와 구직자의 시각과 입장 차이가 다르다는 거겠죠. 도대체 우리나라 이력서는 왜 얼굴 사진을 박으라고 하고, 도대체 엄마 아빠 나이랑 직업은 왜 쓰라고 하는거야 심지어 몸무게, 키는 왜 써? 어이가 없네? 이런 생각을 저도 했었어요 하하. 팀원들끼리는 우스개 소리로,  지원자의 조부모님은 안녕하신지 한번 물어볼까? 라고 얘기합니다.  이 말을 알아들으신다면, 아마 여러분도 저만큼 또는 저보다 더 많은 사업 경험을 하신 분일지 모르겠습니다. 최근 우리 회사도, 다양한 직군의 신규 인력을 채용 중에 있어,  제 주간 스케줄 다이어리에 매주 4~5타임이 넘게 면접 일정이 채워지고 있습니다.  이번 포스팅에서는, 회사가 어떻게 인재상을 만들어가는지에 대한 내용을 다루려고 합니다.  CJ나 삼성과 같은 대기업 홈페이지를 들어가보면, 뭐 애플이나 구글 등 외국계 careers 사이트도 마찬가지겠고요. 회사소개나 비전, 인재상 등이 나와있는 페이지를 클릭하면 우리 회사는 어떠어떠한 인재를 원한다고 언급되어 있습니다.   열정, 도전정신, 끈기, 긍정 뭐 이런 말 많이 들어봤을 거에요.  어렸을 땐, 에이 으레 하는 말이겠거니 하고 그렇게 중요하게 살펴보지 않았어요.   그런데, 실제 회사를 운영해보니, 이게 웬걸, 그게 제일 중요하더라고요. 왜 중요할까요?▷인재상을 찾아가는 계기초기 스타트업의 경우, 함께 같이 일할 멤버를 찾습니다.  가족이나 친척이 될 수도 있고, 친구가 될 수도 있고 또는 건너 건너 소개를 받거나, 온라인에서 알게 되는 경우 등 다양한 경로로 멤버를 구합니다.  시간이 흐르면 흐를수록, 해치우는 일 보다, 해야할 일이 더 많아지게 되고, 운영진은 추가 인력 채용을 고민하게 됩니다.  그런데, 경험이 부족하다 보니, 정말 딱 맞는 친구가 들어오게 되면 너무 좋겠지만, 세팅을 해나가는 중인 회사는 회사 나름대로 안 따라줘서 답답하고, 직원은 직원 나름대로 고생하는 입장이 있겠고 거기서 빚어지는 자잘한 마찰이나 서투름 등을 이유로 결별하는 경우가 잦습니다.  이직이 빈번한 요즘 시대에, 스타트업은 인력변동이 더 심하죠. 처음엔, 직원과의 결별은 씁쓰름하고 여운이 며칠 갈 때도 있지만, 시간이 흐르면, 오히려 서로 개운할 때도 있습니다. 직원으로선 실력과 본인의 커리어를 한줄씩 차곡차곡 쌓아가고, 회사는 어떤 사람이 우리가 하는 일과 우리의 분위기와 우리의 업무 스타일에 맞는 사람인지 형상을 구체화하기 시작합니다. ▷회사와 직원 간의 호흡우리 회사는, 지원자 중에서 창업 경험이 있거나 창업 멤버로 일한 경험이 있는 친구를 좋아합니다.  설령 짧게 몸담았을지라도,  운영했던 회사가 비록 문을 닫았을지라도 그 경험을 저는 굉장히 가치 있게 여깁니다. 회사를 운영한다는 것이 여간 힘든 게 아니라는 것을 아는 친구,  운영진으로서 직원들에게는 말 못하는 고민들이 무언지 잘 아는 친구는, 회사의 방향성을 잘 이해합니다.  여기서 실력이나 역량은 그 다음입니다.  설령 능력이 뛰어나지 않더라도,  함께 의논하고 각자 맡은 바 일을 매일매일 조금씩 해내는 직원이 회사가 원하는 인재입니다. 빅딜을 계속 연이어 따거나,  거액 투자 유치를 하면 분명 회사는 비약적으로 성장하겠지만,  직원과 회사의 호흡이 따라주지 않으면 회사의 기반이 약할 수 밖에 없습니다. 지휘자가 스파르타식으로 단원들 연습을 단행한다던가 자기 맘대로 지휘하고, 오케스트라 단원들은 지휘자 손깃 한번 쳐다보지 않고 알아서 연주한다면, 심지어, 다른 단원의 악기 소리는 듣지도 않고 연주한다면 과연 그 소리는 아름다울까요?  그 합주를 듣고 관객은 어떤 반응을 할까요?회사라는 조직도 마찬가지입니다.  회사는 직원을 존중하고 나아가는 방향대로 따라올 수 있도록, 기다려줘야 합니다.  직원도 운영진의 입장과 회사가 나아고자 하는 방향을 정확히 알고 있어야 합니다.  쪽팔림 이런 거 개의치 않고 모르면 물어봐야 할 정도로 중요한 부분입니다.  마케팅, 영업, 개발, 디자인, 고객센터 등 업무는 다르지만, 내가 하는 일이 유기적으로 다른 파트와 어떻게 연결되어 있는지 알고 있어야 합니다.  초등학교 운동회를 하면, 청팀 백팀 대항 중 단골 게임인, 발목을 묶는 공동달리기 시합이 있습니다.  한 사람이 넘어지면, 같이 일으켜 세우고 격려해주고, 탓하지 않아야 합니다.   물론, 한 사람이 넘어지면, 어깨동무하던 옆사람도 넘어지는 점도 알아야 합니다.  성숙한 조직 생활이라는 건, 일이란 나 혼자 잘 한다고 되는 일이 아니라는 것을 인지하는 것에서부터 시작한다고 봅니다.  체계적인 조직 생활이라는 건, 직원들의 감정을 무시하지 않고 또 직원들의 역량과 성격 성향을 잘 이해하는 것에서부터 시작합니다. 실력이 아무리 좋아도, 회사 입장이 아닌 내 입장으로만 생각하는 사람은 원치 않습니다.   하찮은 주제를 가지고 얘기하거나 잡담을 하더라도, 말 한마디 말 한마디를 들어보면, 이 사람이 회사를 평소에 어떻게 생각하고 있는지 훤히 보입니다.   ▷스타트업이 지원자를 보는 관점규모와 서비스 업종에 상관 없이 기업이라면, 인재 채용을 정말 중요하게 여깁니다.  아무나 들어와도 상관없어- 하는 경영진은 아마 없을 거에요.  누가 들어오느냐에 따라 회사의 방향과 속도가 달라지는 만큼, 인재 한명이 회사를 일으켜 세우고, 한 명 때문에 망할 수 있는 게 회사입니다.  심지어 스타트업은, 1인 다인 역할은 물론 자기 일은 알아서 잘 해내야 하는 곳입니다. 면접을 진행할 때 회사가 보는 부분은 해당 업무에 대한 관심의 무게와 이해력, 적응력이 빠른지, 이전 회사에서 무엇을 성취해 왔는지, 그 경력이 우리 회사에선 어떤 식으로 역량 발휘가 되는지를 살펴봅니다. 어떤 서비스를 제공하는지, 서비스에 대한 이해, 열정과 배움의 자세, 인성과 성격 등 다양한 관점으로도 지원자의 합격여부를 고려하구요.  전공은 뭐고, 이전 경력은 뭐고, 어떤 역량이 있고 이런 것들도 물론 중요하지만, 스타트업은 특히 이 사람이 과연 스타트업에서 일할 수 있는 사람인지를 염려합니다.  예를 들면 이런거죠.  어떤 사람의 이력서를 보니, 줄곧 큰 기업에서만 일해왔는데,  과연 부서가 곧 직원 한 명,  회사가 팀인 작은 회사에서 일할 수 있을까 라는 의구심이 드는거죠. 그간 채용을 진행하며 깨달은 건, 전공과 직장 경력을 떠나서 역량에 대한 자기계발 및 자기반성이 부족할 경우, 회사로서는 아무리 그 사람의 성향에 맞는 일을 주거나 다른 보직으로 변경해도 답이 안 나온다-라는 겁니다. 결과물에 대한 스스로의 기준이 낮은 사람은, 장기적으로 회사에 도움이 되는 인재가 아닙니다.  이는 비단 실력의 문제가 아닙니다.  아무리 실력이 뛰어나도 대충대충 일하면 결과물이 나올까요? 학교 시험성적이 70점 나왔다고 탓하는 게 아니라 아쉽지만, 본인 스스로 70점을 받으면 속상해서 더 열심히 공부를 할 수 있는 계기만 된다면 그건 속상한 일이 아닌데, 70점 맞고도 속상은 커녕 너울너울 지낸다면, 과연 그 학생은 평생 만년 70점에 만족하는 사람이 되겠죠.  그래서 경력이 많은 사람이 채용 되는 게 아니라, 직장 경력과 연수는 적을지라도 잠재 역량이 높은 사람, 상황 별 대처 능력과 판단 능력이 있는 사람, 해결 능력이 있는 사람을 회사는 채용해야 합니다. 스타트업은 복지나 근무 환경이 열악할 수 있습니다.  구글, 페이스북과 같은 멋 드러진 회사 오피스에서 자유분방한 분위기 만을 생각한다면, 얼른 환상에서 벗어 나와야 합니다.   물론, 시키는 일보다 스스로 해야 하는 일이 스타트업에서 많을 수 잇습니다.  마냥 좋아할 일은 아니지요.  그만큼 본인에게 책임감이 주어지는 거니깐요.  물론, 일 못한다고 시말서까지 쓰진 않지만, 무조건적인 비판 보다는 문제의식을 가지고, 본인의 능력 안에 개선할 수 있는 것 작은 것부터 해치우려는 태도가 정말 중요합니다.  이 태도가 지원자에겐 보이지 않는다면, 합격 카드를 주기가 힘들 것이고,  이 태도가 지금 함께 일하는 직원에게서 보이지 않는다면, 그 회사는 고심이 클 수 밖에 없습니다. 그래서 이런 기본 자세가 없으면 스타트업에서는, 직원 스스로도 만족스러운 성과를 내기 힘들고, 회사에 나오는 게 점점 힘들어질 수 밖에 없습니다.  회사 또한, 안 그래도 의기투합해도 모자랄 판에, 엔진 동력에 한 부분이 모자르니 성장이 더딜 수 밖에 없습니다.  ▷면접 절차면접에 정해진 방식은 없지만, 넷뱅은 기본적으로 서류 전형을 통과한 지원자를 대상으로 전화면접, 사전과제 순으로 진행하며 대면 면접은 실무면접, CEO면접으로 구성되어 있습니다.  사전과제는 직군에 따라, 문제가 다릅니다.  때론 실기, 때로는 필기 과제가 주어집니다.   여기서 진짜로 걸러지는 건, 서류전형이 아니라 사전과제입니다. 경력이나 전공이 직무에 적합하면 서류전형 통과는 비교적 관대합니다.  어디 가서 우리 회사 면접 쉬웠다고 말하고 다니는 사람은 아마 최종문턱에도 못간 분들일거에요.  사전과제 제출여부에 따라, 회사 차원에서는 이 지원자가 진심으로 회사에 관심이 있는지의 의지를 확인할 수 있습니다.  사전과제 질문에 어떤 답변을 썼는지는 그 다음 중요도인거죠.  넷뱅의 경우, 오픈북 형태이더라도 생각의 로직을 묻는 질문이 많기 때문에 지원자의 실제 업무 지식이 어느 정도인지를 파악할 수 있습니다.  말만 거창하게 쓰고, 속 알맹이는 없을 수도 있고, 비록 전문용어는 없더라도 문액에 생각의 흐름이 읽혀지는 답변도 있으니까요. 직군에 따라 실무면접 시 팀 및 그룹면접을 진행하는 경우도 간혹 있습니다. 면접 결과는 보통 3에서 7일 이내, 최대 2주일 이내에 알려드립니다.  최종합격자에 한해 결과를 통보해드리고 있습니다. 넷뱅이란 회사에 관심을 갖고 계신 분들께 힌트를 드리자면,  홍보마케팅 분야는 계속 수시채용을 진행하고 있으니 비록, 채용이 마감됐더라도, 이력서를 보내면 즉시 채용담당자가 확인합니다. 늦어도 1주일 이내로 회신을 드리니 주저 마시고 지원하는 것을 장려하고 싶네요. #넷뱅 #스타트업 #스타트업취업 #스타트업채용 #면접후기 #후기 #경험공유
조회수 1475

멀티플렉스 20년 역사와 함께하다! CJ CGV 영사기술팀장 옥경원 님

극장을 찾은 관객들에게 최적의 관람 환경을 제공하기 위해서는 서비스 현장뿐만 아니라 보이지 않는 곳에서의 노력이 필요할 터. 매일 각 지역 극장, 상영관 영사시스템 상황을 보며 최고의 관람 환경을 만들기 위해 힘쓰는 이가 있다. 바로 CJ CGV 영사기술팀장 옥경원 님이다.국내 최초 멀티플렉스인 CGV강변 오픈 멤버로 지금까지 영사 관련 업무를 맡아온 그는 멀티플렉스 20년사의 산증인이며, 아버지부터 자신을 거쳐 딸까지 3대째 영화 관련 일을 이어온 남다른 집안 이력의 소유자. 필름 시절부터 지금까지 변화환 멀티플렉스와 국내 영화 산업 이야기를 듣다 보니 옛날 영화 한편을 보는 듯한 착각을 불러 일으켰다. CGV강변과의 인연은 IMF 덕분?▲ 멀티플렉스 20년 역사의 산증인 CJ CGV 영사기술팀장 옥경원 님 영사실과의 인연은 초등학교 시절로 거슬러 올라간다. 당시 극장 상영용 30초 광고 제작을 했던 아버지는 그에게 동네 극장 영사실로 심부름을 자주 시켰다. 그때부터 영사실에 대한 동경이 싹텄다. 그러다 고3 졸업 후 우연한 기회로 영사실에서 일하게 됐다.CGV강변과의 인연은 아이러니하게도 IMF 덕분(?)이었다. 1998년까지 역삼동 계몽아트홀(현 예림당 아트홀)에서 일하다 IMF로 인해 그만두게 됐다. 당시 가족들을 위해서라도 일을 빨리 구해야 했는데, 우연히 신문기사에서 CGV강변 영사기사 공고를 보게 됐다. 그 즉시 지원을 했고, 합격했다. ▲ CGV강변 오픈 당시 상영관 모습 합격의 기쁨도 잠시, 국내 최초 멀티플렉스 오픈을 위해 많은 노력을 쏟아 부었다. 특히 달라진 영사시스템 습득이 우선이었다. 단관 시절엔 모든 게 수동이었다. 영화 상영 전, 영사기사가 직접 극장 조명을 끄고 출입문도 닫았다. 멀티플렉스에선 모든 시스템이 별도의 Automation 장비로 제어된다.옥경원 님과 동료들은 달라진 시스템을 배우기 위해 호주의 한 멀티플렉스 영사 팀장의 교육을 받았다. 교육 프로그램 기간은 약 3주, 하나라도 더 배워야 하는 금족 같은 시간에 호주 영사 팀장은 교육은커녕 초기 약 1주 동안 청소만 시켰다. 가장 중요한 영사기 세팅 및 각종 테스트는 혼자 진행한 것. 심지어 오후 5시가 되면 영사실 문을 잠그고 퇴근해 버렸다. 국내에서 나름 영사 시스템 전문가들이었기에 무시당하는 느낌을 지울 수 없었고 자존심도 상했다.하지만 주저 앉지는 않았다. 퇴근 시간 이후, 몰래 구한 열쇠로 영사실에 들어간 이들은 매뉴얼을 보면서 공부하며 실습도 병행했다. 우리나라 최초 멀티플렉스 영사팀이라는 수식어에 걸맞게 학구열을 불태운 것. 이후 호주 영사 팀장의 본격적인 교육이 시작됐고, 기다렸다는 듯이 깊이 있는 질문을 마구 쏟아냈다. 당황한 쪽은 호주 영사 팀장이었고, 이들은 제대로 된 복수(?)를 감행했다는 기쁨을 누렸다. 이 일을 겪은 후 제대로 된 교육이 이뤄졌으며 CGV강변 오픈을 위해 새로운 영사시스템에 적응해나갔다. 멀티플렉스 산업 중심에서 변화를 외치다!▲ 그는 기존 영사 업무 이외에도 다양한 업무를 맡았다.옥경원 님은 멀티플렉스 산업의 변곡점에서 큰 역할을 해왔다. CGV강변 오픈 이후, 각 지역으로 사이트 확장이 이뤄졌다. 그는 2003년 건설팀으로 자리를 옮겨 영상, 음향 시스템 전문가로 상영관 설계에 힘을 쏟았다. 더불어 영사실 미소지기 대상으로 영사 자격증 취득을 위한 교육 프로그램과 위기 상황별 대처 방법과 유지 보수 교육도 병행했다.필름에서 디지털 영사시스템으로 전환되는 시기였던 2008년에는 디지털 영사시스템 도입을 목적으로 만든 벤처회사 디시네마오브코리아(이하 ‘DCK’)에서 활동했다. DCK는 CJ CGV와 롯데시네마가 50%씩 투자해 만든 법인으로 그는 극장에 도입할 디지털 영사시스템 선정 및 설치 관련 업무를 맡았다. 다소 부침은 있었지만, 1년 동안의 지속적인 대화와 협의를 통해 새로운 영사시스템 안착을 이뤄냈다. 이후 장비 수급과 설치 등을 맡아 디지털 세상으로의 변화를 이끌었다.   CJ CGV의 글로벌 진출 과정에도 그의 활약은 계속됐다. 2010년 글로벌 4DX 프로젝트를 담당했고, 멕시코, 중국, 태국 등 1차 론칭 준비 작업에 착수했다. 멕시코에서 4DX 론칭 할 때가 가장 힘들었던 것 같아요. 그만큼 보람도 커요. 가장 힘들었던 건 각 나라 문화 차이를 이해하고 적용하는 것이었다. 국내 4DX 경우 물, 바람, 버블, 진동 등 다양한 효과가 너무 강하다는 관객들의 의견을 데이터베이스 삼아 멕시코에서도 이를 적용했다. 하지만 고객사 임원들은 눈살을 찌푸리며 ‘MAX! MAX!’를 외쳤다. 4DX를 보는 관객들은 옷이 젖을 것을 각오하고 입장하는 게 아닌가라는 반문까지 했다.그는 ‘아차’ 싶었다. 열정의 나라인 멕시코 인들의 특성을 고려하지 않았던 것. 이후 그들이 원하는 방향에 최대한 맞췄다. 이런 어려움 속에 오픈 첫 날, 4DX 상영관은 만원사례였고, 처음 느끼는 효과에 관객들도, 그들을 뒤에서 지켜본 고객사 임원들도, 그리고 그도 즐거움을 만끽했다. 이런 노하우를 통해 태국과 일본 진출 시 적용했고, 4DX 론칭을 성공적으로 이뤄냈다. 영사 기술팀, 극장 운영 효율을 위해 노력!▲ NOC 시스템을 통해 국내 150개 이상의 CGV 극장 영화 상영 상황을 한눈에 볼 수 있다. 글로벌 업무를 해왔던 옥경원 님은 작년 2월 영사기술팀으로 복귀했다. 영사기술팀은 효율적 영사시스템으로의 발전을 보여주고 있는 조직이다. 그가 팀장으로 있는 영사기술팀의 핵심 업무는 NOC(Network Operation Center) 파트. NOC는 디지털 시네마 기반에 통신/IT 기술을 결합한 원격 모니터링 관제 시스템이다. 과거 각 극장 영사실은 영사기사가 직접 운영을 했지만, 이제는 영사기술팀에서 NOC 시스템을 통해 국내 150개가 넘는 CGV 극장의 영화 상영 상황을 한눈에 볼 수 있다. 영사기술팀 내 NOC 관제 센터에서 실시간 모니터링이 가능하다. 시간 내 영화가 시작했는지, 문제 없이 영화가 나오고 있는지 등을 확인할 수 있다. 만약 문제가 생기면 원격 조정을 하는 등 극장 운영 효율에 만전을 기하고 있다. 국내외 신규 극장 및 특별관 건설을 담당하는 건설 파트와 국내외 영사 업무 지원이 주 역할인 영사지원 파트가 있다. 옥경원 님은 상영관 건설 시 3S(Screen, Sound, Seat)를 중요하게 여긴다. 관객의 시야각, 화면 밝기, 화면 비율 등을 고려하는 것도 이 때문이다. 최근 CJ CGV는 관객의 몰입감 증대를 위해 벽면 가득히 스크린을 채운 월투월(wall-to-wall) 방식으로 스크린을 설치한다.이 밖에도 국내 최초 극장운영 전문가 양성센터인 ‘CGV 유니버시티(University)에서 영사 관련 업무 매뉴얼 제작지원 및 교육도 한다. 현재 조직통합으로 현장 서비스와 영사 관리를 병행하고 있기 때문에 이들을 위한 영사 매뉴얼, 유지보수 교육을 진행한다. 위기는 곧 기회라는 마음으로▲ 위기는 곧 기회라는 마음을 갖고 있습니다. 최근 멀티플렉스 산업의 성장세가 둔화하고 있다. 국내 영화 관람객은 2013년 2억명 돌파 후 극심한 정체 현상을 보이고 있다. 영화 산업의 최전선에 있는 북미 박스오피스 또한 급감하고 있다. 그는 관객 수 정체 및 감소 현상의 주요 원인 중 하나는 넷플릭스 등 스마트폰을 주요 플랫폼으로 삼는 온라인 스트리밍 서비스의 성장세에 있다는 데 동의했다.스마트폰을 통해 단시간 몰입을 주로 했던 10, 20대들의 시청각 환경 변화로 인해 관객 수 감소하고 있다고 덧붙이면서도 ‘위기는 곧 기회’라는 말로 이어갔다.   인생에 있어 가장 큰 위기는 IMF 때 였어요. 하지만 그 위기가 CGV강변 입사라는 기회를 열어준 계기가 됐죠. 위기는 기회가 되는 경우는 많습니다. 그는 관람객 정체 현상 타파 방법의 하나로 4DX를 비롯한 IMAX, ScreenX, 4DX with ScreenX와 같은 특별관을 언급했다. 특별관을 통해 극장에서만 느낄 수 없는 갖가지 체험 요소가 관객을 불러모을 수 있다는 것. 물론, 각 극장 특성에 맞는 영화 콘텐츠의 개발도 이뤄져야 할 것이다.옥경원 님에게 멀티플렉스는 20년 동안 즐겼던 재미난 놀이터다. 쉬지 않고 새로운 프로젝트를 할 수 있는 기회가 왔고, 즐겁게 일하며 성공적인 결과물도 이뤄냈기 때문이다. 이제 그는 자신이 느꼈던 재미를 후배들에게 전해주고자 한다. 10년 뒤, 또 다른 재미난 놀이터에서 즐겁게 일을 하는 그와 후배들의 모습을 기대한다.[채널 CJ] #CJ #CJCGV #CGV #CGV멀티플렉스매니저 #멀티플렉스 #멀티플렉스매니저 #직무소개 #직무정보 #CGV채용 #CGV공채 #영사기술팀
조회수 1833

제4차 산업혁명이라 불리우는 변화의 본질은 무엇인가

'제 4차 산업혁명’이 여기 저기서 화두가 되고 있다. 작년 다보스포럼에서 발표될 때만 해도 크게 주목받지 못했는데 방송에서 다뤄지고 클라우스슈밥이 다녀가면서 관심이 많아지기 시작했다. 때마침 창조경제를 대신 할 키워드가 필요했던 정부기관과 대선주자들의 관심이 겹치면서 그 정의의 모호함에도 불구하고 가장 많이 언급되는 용어가 된지도 모르겠다. 그래서 지금은 많은 사람들이 유행처럼 4차산업혁명 배우기에 빠져들었고, 반면에 또 많은 사람들이 실리콘밸리에서는 사용하지 않는 마케팅용어라며 그 모호함을 비판하고 있다. 난 이 두가지 시각이 다 불편하다. 유행이면 앞뒤없이 달려드는 가벼움도, 실리콘밸리에서 사용되지 않으면 아무것도 아니라는 편견도 모두 균형잡힌 시각은 아니라 생각하기 때문이다. 이것이 주류가 아니라 하더라도 분명히 변화라는 흐름속에서 바라 본 방향성이라는 것이 있을 것이다. 그래서 더 궁금했다. 진짜 이 뒤에 숨겨져 있는 변화의 본질은 무엇일까? 미래는 아직 발생하지 않은 시제이기에 어느 누구도 단정지을 수는 없는 불확실성을 내포하고 있지만, 통찰력있는 사상가나 비저너리들은 이것을 어떻게 바라보고 있을까? 어쩌면 다른 이름으로 불리우는 여러 변화들의 동인과 주장속에 우리가 알고자하는 제4차 산업혁명과 겹치는 본질을 알수 있지 않을까 하는 생각이 들었다. 여러 구루들의 인사이트에서 가려진 핵심동인을 읽어보기 위해 비교분석을 해보았다.기술의 변곡점을 바라보는 여러 관점과 해석들1. 클라우스 슈밥의 제4차 산업혁명슈밥은 우리가 전통적으로 산업혁명이라 부르던 증기기관으로 운영되는 기계적 생산설비의 출현을 1차 산업혁명으로 규정한다. 그리고 전기로 동작하는 모터와 컨베이어벨트가 출현하면서 본격적인 대량생산이 시작되는 것을 2차 산업혁명, 컴퓨터의 등장으로 생산의 수치제어 및 자동화가 본격화 된 것을 3차 산업혁명이라 구분한다. 그리고 센서들을 포함한 수많은 사물들이 인터넷에 연결이 되면서 물리적인 시스템과 연결된 가상의 정보지능공간이 융합이 되고 지능화된 생산시스템이 나타나는 것을 4차 산업혁명의 전조라 주장한다. 생산방식과 제조시스템의 진화가 만드는 변곡점을 주목하고 있다.2. 앨빈 토플러의 제4의 물결토플러의 첫번째 물결은 농업혁명으로 부터 시작한다. 그리고 두번째 물결로 화석연료를 기반으로 생산과 교통수단이 진화하는 산업혁명을 이야기 했으며 세번째 물결은 통신과 컴퓨터, 그리고 인터넷이 만드는 정보혁명을 말한다. 이때 생산량과 소비량이 비약적으로 증대되는 후기 산업혁명이 함께 일어났다고 언급하기도 했다. 제4의 물결은 다른 저서였던 부의미래를 통해 제시를 했는데 미래의 부를 결정 할 변화의 동인이 속도, 공간, 그리고 지식의 혁명으로 부터 비롯된다고 이야기한다. 시장을 만드는 생산혁명과 정보와 지식혁명, 그리고 시간과 공간을 와해시키는 기술적 진보가 만드는 가치의 변곡점을 읽는자가 부를 가진다 이야기한다.3. 제레미 리프킨의 제3차 산업혁명슈밥과 가장 유사한 구분이지만 각각의 혁명은 에너지 패러다임의 변동으로부터 기반한다고 주장한다. 그래서 제1차 산업혁명은 기계적동력과 석탄에너지, 제2차 산업혁명은 전기와 석유, 제3차 산업혁명은 인터넷과 재생에너지에 의해 진행된다고 구분을 했다. 특히 지금 진행되고 있는 3차 산업혁명에서는 데이터 교환을 기반으로 한 커뮤니케이션 인터넷, 물류와 물리적인 시스템의 연결을 의미하는 물류인터넷, 개인들이 생산하는 재생에너지까지 그리드에 연결하여 서로 주고받을 수 있는 에너지 인터넷, 이렇게 세가지 연결이 생산과 소비, 그리고 소유의 패러다임을 완전히 바꿀 것이라 주장한다.    4. 케빈 캘리의 제2차 산업혁명케빈 캘리는 이제서야 제2차 산업혁명이 시작되었다고 이야기한다. 다른 사람들이 주장한 이전의 모든 산업혁명은 다 하나인데, 증기기관, 내연기관, 전기모터등 인간이 만든 인공동력이 끊임없이 생산량을 증가시키는 방향으로 진화해 왔다고 주장하며 이 것이 제1차 산업혁명의 연장선상에 있었다고 이야기한다. 이제 제2차 산업혁명이 시작되는데 인공지능이 모든것과 결합이 되면서 생산량이 아닌 개인화, 다양화, 자동화, 최적화, 지능화등이 강화되는 방향으로 진화할 것이며 인류는 역사상 가장 지능적인 존재가 될 것이라 이야기 한다. 20년후에 모든 사람이 사용하고 있을 인공지능 제품이나 서비스는 아직 발명되지도 않았다고 주장한다.5. 에릭 브리놀프슨의 제2차 기계의 시대       에릭 브리놀프슨도 케빈 캘리처럼 두단계의 분류를 주장한다. 첫번째 생산혁명의 근간은 물리적동력의 혁명이고 두번째는 지능혁명으로 기계가 지능을 가지게 되면서 제2차 기계의 시대가 시작된다고 한다. 지능을 가지기 전의 기계시대와 가진 후의 기계시대로 나뉘는 것이다.이렇게 이들이 주장하는 산업혁명의 패러다임 변화는 기준과 해석하는 철학도 각각 다르다. 물론 정답이 존재하는 것도 아니다. 다만 이들의 주장속에 들어있는 변화를 견인하는 동인과 흐름의 방향, 그리고 변곡점을 규정하는 사건들은 해석의 견해차이에도 불구하고 공통적으로 바라보는 관점과 영역이 있다. 그리고 두번의 오버랩되는 구간이 있다. 첫번째는 18세기 생산의 기계화로 부터 시작된 산업혁명이며, 두번째가 바로 지금이다. 당장 몇년의 의미라기 보다는 21세기에 들어서면서 부터 스며들 듯 시작된 변화의 씨앗들이 현재를 기점으로 향후 이삼십여년정도의 기간을 거쳐가며 급격히 새로운 가치의 시대를 만들 것이다.이들의 이야기 속엔 연결의 진화, 캄브리아기 같은 수많은 센서들의 자각과 연결. 이어지는 데이터의 폭발, 비트와 아톰의 융합, 연결된 지능의 탄생, 그리고 새로운 에너지가 속도와 공간의 확장에 더해지면서 만들어지는 변화의 결이 담겨있다. 그리고 하나하나의 단일기술이 아닌 모든 기술적 동인들이 서로 영향을 주며 함께 파괴적인 혁신의 양상을 만들 임계점을 향해 진화하고 있는 것이다. 그리고 그 끝자락 어디쯤에는 레이 커즈와일이 예견한 특이점이 기다리고 있을지도 모른다. 그래서인지 필립코틀러는 시장의 가치 변화를 제시하며 기업과 시장이 지향해 나갈 새로운 시대를 마켓 4.0에 담아 이야기하고 있고, 롤프얀셴은 르네상스소사이어티를 통해 우리 사회가 탈문질경험과 감성이 중요한 시대로 접어들 것이라고 주장하고 있다. 위에서 언급한 기술적 동인들이 만들 사회와 시장이 기술적으로 엄청난 진보를 겪는 과정에서 결국은 가치와 따뜻한 인간적 감성, 그리고 사람들의 경험이 중요해지는 시대로 진화할 것이라 억지로 묶어 생각해도 사실 어색해 보이지 않는다.   시장과 사회의 변화가 의미하는 새로운 가치의 시대 이 변화의 동인들이 만드는 미래가 지금 우리가 이야기하는 제4차 산업혁명이냐 아니냐는 중요하지 않다. 거인들의 생각속에서 오늘 우리가 읽을 수 있는 것은, 엄청난 영향을 만들어 낼 변화는 이미 진행중이며 그 결과는 후대가 이름을 붙여야 비로소 완결된 의미를 가지게 될것이란 것이다. 모호한 경계와 다양성에 기반한 변화속에 만나게 될 미래를 위해 진위에 대한 논쟁보다는 우리가 준비하고 만들어 나갈 가치를 하나하나 실행 해 나가기 위한 의미있는 논의가 앞서길 희망한다.더 깊이있는 공부와 의미있는 토론이 될 수 있도록, 다른 의견, 다른 관점이 있다면 더하거나 제기 해 주시고, 더 다아간 생각의 지점들을 공유 해 주시길 바랍니다. 이미지출처: https://www.weforum.org/agenda/2016/06/leadership-challenges-of-the-fourth-industrial-revolution#라이프스퀘어 #스타트업 #창업자 #창업가 #마인드셋 #조언
조회수 1275

빠르게 성장하는 옐로모바일, 이익을 내는 기업이 되자

CFO인터뷰어제 옐로모바일의2015년 실적 발표가 있었죠.약3,200억원의 매출과470억원의 영업손실을 기록하며 한 해를 마무리했는데요,연 단위의 적자이긴 했으나 마지막4분기에 매출1,000억원과 소폭이지만 영업이익 흑자전환을 이루어낸 것에 대해서는 긍정적인 여론이 형성되고 있는 것 같습니다.국내외 다양한 유니콘 및 독보적 스타트업들이 수익성 확보에 어려움을 겪고 있는 것을 감안할 때,이 정도 규모의 분기 매출 및 흑자전환은 옐로모바일의 재무 성장성 및 건전성에 대해 새로운 시각을 갖게 하는 기회가 될 수도 있을 것 같다는 생각이 들었는데요,이와 관련하여 이상훈CFO와 간단하게 몇 마디 나누어 보았습니다.드디어 분기 영업이익이 흑자로 돌아섰는데요,감회가 새로우시겠어요.하하 실은 예상된 시나리오대로 진행 중이라 실적에 대한 긴장과 감동이 있지는 않습니다만, 그래도 영업적자대신 영업이익이라는 단어를 쓰게 되니 기분은 좋네요 :) 많은 분들께서 잘 모르고 계시는 사실이 있는데요, 옐로모바일은 2014년 상반기까지 영업이익 흑자를 기록하던 회사입니다. 2014년 하반기부터 사업 규모 확장 및 성장 촉진을 위해 다방면의 투자를 시작했고, 2014년 포메이션8 (Formation8)의 투자 이후 2015년 상반기에는 투자 규모를 보다 확대했죠. 이로 인해 2014년과 2015년 각각 영업손실로 한 해를 마무리하긴 했지만,애당초 옐로모바일은 수익을 충분히 낼 수 있는 체력을 확보한 상태였습니다. 수익의 규모를 늘리는 것이 관건이었죠.특히 이번 2015년 연말 실적은 3분기까지 회사 자체적으로 진행했던 가실적 발표가 아닌 금융감독원이 지정한 지정 감사인의 공신력 있는 감사를 통과한 성과라 더 의미가 있습니다. 감사인의 판단 기준에 따라기존 발표내용보다 분기별 영업손실 기준이 조정되어 4분기 영업이익이 20억원대 후반 수준까지 갈 수 있었는데 가지 못한 점은 좀 아쉽지만요.그럼2016년은 영업이익 흑자를 기록할 수 있을 것으로 보시나요?물론입니다. 2015년 투자의 많은 부분이 쿠차에 집행되었는데,쿠차는 이미 월 단위의 흑자전환을 이루었고,계속해서 성장할 플랫폼입니다.또 다른 집중 투자 대상이 미디어 사업을 이끌고 있는 피키캐스트인데,피키캐스트는 올해부터 본격적으로 수익화를 준비하고 있습니다.올 해 안에 연 단위의 흑자 달성은 무리일 수 있지만,적어도 연 내에 월 단위의 흑자는 낼 수 있을 것으로 기대하고 있습니다.이에 더해 광고,여행, O2O사업은 원래도 흑자를 내 온 사업들이기에, 2016년은 무리 없이 연 단위의 영업이익 흑자를 기록할 것으로 예상되며, 2017년이 되면 다섯 개 사업 그룹 모두가 각자 흑자를 달성할 것입니다.그렇군요.그럼 조금 다른 방향에서 질문을 드려볼까 합니다.실은 옐로모바일은 아직 스타트업이고 비상장사인데,왜 이익을 내는데 집중하고 계신가요? 여타의 주목받는 스타트업들도 아직 적자를 기록하고 있는 것으로 알고 있지만 여전히 이익보단 성장에 초점을 맞추고 있는 것 같은데 말이죠.저희가 이익에만 집중하고 있는 것은 절대 아닙니다.성장하는 회사에게는 어찌 보면 매출 성장(Top-line Growth)이 더 중요할 수 있고,그렇기에 저희도 지속적으로 외형적 성장을 이어가고 있습니다.네이버, 카카오, 옐로모바일의 2015 분기별 매출 비교다만,결국 외형적 성장의 끝에 있는 목표는 수익이죠. 국내의 주요 스타트업들 역시 궁극적으로 훌륭한 수익 기반을 마련하기 위해 전략을 수립하고 실행하고 있을 것이라 생각합니다.유니콘의 단계를 넘어선 기업이 수익성을 확보하지 못했을 때 생기는 문제가 조금씩 드러나고 있는 곳이 오늘날의 실리콘밸리인 것 같아요.최근 타임지(TIME)에서도트위터(Twitter)의 수익성 문제를 지적한 적이 있죠.트위터는 상장 이전에 이미4억 달러 이상의 누적 적자를 기록하고 있었고,상장 이후 상황이 극적으로 호전되지 못하고 있는 실정입니다.최근3년 연속 영업손실을 기록하고 있죠.옐프(Yelp)역시 고전을 면치 못하고 있는데요, 2015년4분기에2,200만 달러의 적자를 보이며 네 분기 연속 적자를 기록,주가 관리에 어려움을 겪고 있습니다.물론 상장사이기 때문에 이러한 문제에 더 노출되어 있는 것은 맞습니다.그렇다고 해서 비상장 기업이 성장을 위해 수익성을 간과해도 된다고 생각하지는 않습니다.제가 꼭CFO여서 그러는 것이 아니라,안정적인 수익에 기반하여 성장할 수 있는 회사가 가장 이상적이지 않을까요?그런 의미에서 옐로모바일은 오늘도 성장과 수익이라는 두 마리 토끼를 잡는 쉽지 않은 길을 계속해서 걸어가고 있습니다.기업의 존재 이유가 이윤 추구만은 아닐 것입니다.그러나 동시에 기업의 생존과 지속 가능성을 위해 필수적인 요소가 수익인 것은 부정할 수 없는 사실이죠.스타트업이 언제부터 수익을 내야 하는지에 대한 정답은 없는 것 같습니다.또한 성장성과 수익성이 항상 상반되는 개념도 아닌 것 같고요.빠르게 성장하는 회사가 이익까지 낼 수 있다면,정말 더할 나위 없는 상황이겠지만,설령 둘 중 하나가 조금씩 정체되더라도 꾸준히 나아지는 모습을 보이는 것이 가장 중요한 것이 아닐까 싶습니다.옐로모바일이 어제보다 오늘,오늘보다 내일이 나은 회사가 될 수 있기를 기대해 보며,이상Y였습니다.
조회수 4297

Flask로 만들어 보는 WSGI 어플리케이션

안녕하세요. 스포카 크리에이터팀 문성원입니다. 오늘은 WSGI(Web Server Gateway Interface)어플리케이션을 직접 작성해보고, 또 이런 작성을 보다 쉽게 도와주는 프레임워크 중 하나인 Flask에 대해서 알아보겠습니다.WSGIWSGI에 대해 기억이 가물하신 분들을 위해 지난 글의 일부를 잠깐 다시 살펴보죠.이 경우 uwsgi는 일종의 어플리케이션 컨테이너(Application Container)로 동작하게 됩니다. 적재한 어플리케이션을 실행만 시켜주는 역할이죠. 이러한 uwsgi에 적재할 어플리케이션(스포카 서버)에는 일종의 규격이 존재하는데, 이걸 WSGI라고 합니다.(정확히는 WSGI에 의해 정의된 어플리케이션을 돌릴 수 있게 설계된 컨테이너가 uwsgi라고 봐야겠지만요.) WSGI는 Python 표준(PEP-333)으로 HTTP를 통해 요청을 받아 응답하는 어플리케이션에 대한 명세로 이러한 명세를 만족시키는 클래스나 함수, (__call__을 통해 부를 수 있는)객체를 WSGI 어플리케이션이라고 합니다.글로는 감이 잘 안오신다구요? 그럼 코드를 보면서 같이 살펴봅시다. (모든 코드는 Python 2.7에서 테스트 되었습니다.)Hello World!def app(environ, start_response):    response_body = 'Hello World!'    status = '200 OK'    response_headers = [('Content-Type', 'text/plain'),                         ('Content-Length', str(len(response_body)))]    start_response(status, response_headers)        return [response_body]view rawgistfile1.py hosted with ❤ by GitHubapp은 일반적인 Python 함수지만, 동시에 WSGI 어플리케이션이기도 합니다. environ과 start_response를 받는 함수기 때문이죠.(PEP-333) 사실은 꼭 함수일 필요도 없습니다. 다음은 위의 app과 동일한 동작을 하는 WSGI 어플리케이션입니다.class App(object):    def __init__(self, environ, start_response):        self.environ = environ        self.start_response = start_response    def __iter__(self):        status = '200 OK'        response_body = "Hello World!"        response_headers = [('Content-Type', 'text/plain'),                            ('Content-Length', str(len(response_body)))]        self.start_response(status, response_headers)        yield response_bodyview rawgistfile1.py hosted with ❤ by GitHubApp는 Python 클래스(Class)로 environ과 start_response를 멤버 변수로 가지는데, 여기에는 약간의 트릭이 있습니다. 생성자(Constructor)인 App를 함수처럼 사용하게 하여 리턴되는 결과(실제로는 생성자를 통해 생성된 객체겠죠.)가 \_\_iter\_\_를 구현한 순회 가능한(Iterable) 값이 되게 하는 것이죠. (덤으로 이 객체는 발생자(Generator)를 돌려주게 됩니다.)그럼 이제 이 코드들을 실행하려면 어떻게 해야할까요? 그러려면 먼저 WSGI 규격에 맞게 어플리케이션을 실행시켜 줄 서버를 작성해야합니다. 하지만 다행히도 Python 2.5부터 제공되는 wsgiref.simple_server를 이용하면 간단히 테스트 해 볼 수 있습니다.(서버를 직접 작성하는 부분에 대해선 나중에 다루도록 하겠습니다.)from wsgiref.simple_server import make_serverhttpd = make_server('', 8000, app)httpd.serve_forever()view rawgistfile1.py hosted with ❤ by GitHub위 코드를 실행시킨 후에(당연히 app이나 App도 만들어져 있어야겠죠?) 웹 브라우져를 통해 localhost:8000으로 접속하면 작성한 어플리케이션의 동작을 확인할 수 있습니다.environ과 start_response테스트도 해봤으니 코드를 조금만 더 자세히 살펴봅시다. 함수 버젼의 app이나 클래스 버젼의 App모두 공통적으로 environ과 start\_response를 인자로 받아 요청을 처리하는 것을 확인할 수 있습니다. (당연한 이야기겠지만, 반드시 이름이 environ이나 start\_response일 필요는 없습니다만 편의상 이후 계속 environ과 start_response로 표기하겠습니다.)하나씩 살펴보자면, environ은 Python 딕셔너리(dictionary)로 HTTP 요청을 처리하는데 필요한 정보가 저장되어있습니다. HTTP 요청에 대한 정보는 물론, 운영체제(OS)나 WSGI 서버의 설정 등도 정의되어있지요. 다음 코드는 이러한 environ의 내용을 응답으로 주게끔 수정한 WSGI어플리케이션입니다.def dump_environ_app(environ, start_response):    response_body = "\n".join(["{0}: {1}".format(k, environ[k]) for k in environ.keys()])    status = '200 OK'    response_headers = [('Content-Type', 'text/plain'),                         ('Content-Length', str(len(response_body)))]    start_response(status, response_headers)        return [response_body]view rawgistfile1.py hosted with ❤ by GitHublocalhost:8000에 각종 쿼리 스트링(Query String)을 붙이거나, 브라우져를 바꿔가면서 확인해보면 출력되는 값이 바뀌는 것을 확인하실 수 있습니다.그럼 이제 start\_response를 한번 볼까요. start\_response는 일종의 콜백(Callback)으로 인터페이스는 다음과 같습니다. start_response(status, response_headers, exc_info=None) 실제 서버에서 어플리케이션으로부터 응답(Response)의 상태(Status)와 헤더(Header), 그리고 예외(Exception)의 유무를 확인받아 실행하게 되는데, status와 response_headers는 HTTP 응답 명세에 근거하여 작성하게 됩니다.Middleware지금까지 우리는 어떻게 WSGI 어플리케이션을 작성하는지에 대해 살펴봤습니다. 요청을 받아 처리하는 HTTP의 기본 기능에 충실한 어플리케이션이었죠. 그런데 일반적으로 우리가 작성하는 웹 어플리케이션에서 주로 다루게 되는 쿠키(Cookie), 세션(Session)에 대해서는 어떻게 처리해야 좋을까요? WSGI 명세에는 이러한 내용을 직접적으로 다루고 있지 않습니다. WSGI 자체는 서버나 프레임워크 자체가 아니라 서버가 어플리케이션과 통신하는 명세를 다루고 있기 때문이죠. 따라서 이러한 기능은 작성자가 직접 이를 구현해야 합니다. 그런데 이런 구현을 어플리케이션을 작성할때마다 하는건 너무 번거로운 일입니다. 그것보다는 이미 작성한 어플리케이션을 확장하는 것이 간단하겠지요. 이러한 확장을 위해 필요한 것이 WSGI 미들웨어(Middleware)입니다.미들웨어는 어플리케이션을 처리하기 전후의 처리나 environ의 추가등을 통해 작성된 어플리케이션을 확장할 수 있습니다. 다음은 쿼리 스트링의 \_\_method\_\_에 따라 HTTP 메소드(Method)를 임의로 변경하는 처리를 도와주는 간단한 미들웨어입니다.from werkzeug import url_decodeclass MethodRewriteMiddleware(object):    """        app = MethodRewriteMiddleware(app)    """    def __init__(self, app, input_name = '__method__'):        self.app = app        self.input_name = input_name    def __call__(self, environ, start_response):        if self.input_name in environ.get('QUERY_STRING', ''):            args = url_decode(environ['QUERY_STRING'])            method = args.get(self.input_name)            if method:                method = method.encode('ascii', 'replace')                environ['REQUEST_METHOD'] = method        return self.app(environ, start_response)view rawgistfile1.py hosted with ❤ by GitHubMethodRewriteMiddleware는 \_\_call\_\_를 통해 app을 대체하게 됩니다. (데코레이터(Decorator)가 생각나셨다면 정확한 이해십니다.)Flask미들웨어를 통해 어플리케이션을 확장하는 방법까지 알아봤습니다. 그러나 이것만 가지고 웹 어플리케이션을 만들기에는 아직 귀찮은 부분이 많이 남아있습니다. 각종 파라미터를 처리하기 위해서는 environ를 일일히 뒤져야하며, 요청에 대한 응답으로 전달할 HTML도 일일히 문자열로 적어야하죠. 이런 여러가지 불편함을 해결하기 위해 알아볼 것이 WSGI 마이크로프레임워크를 자처하는 Flask입니다. Flask는 WSGI 라이브러리인 Werkzeug를 만들기도 한 Armin Ronacher가 만든 프레임워크로 “마이크로”라는 수식어에 어울리게 아주 핵심적인 부분만을 구현하고 있지만, 유연하게 확장이 가능하게 설계된 것이 특징입니다.다시 한번 Hello World!우선 Flask를 시스템에 설치해야하는데, pip가 설치되어있다면 pip install flask로 설치 가능합니다.(환경에 따라 루트(root)권한이 필요할 수도 있습니다.) easy_install의 경우도 마찬가지로 easy\_install flask로 설치 가능합니다.설치가 완료되었으면 다음과 같이 아주 간단한 어플리케이션을 작성해봅시다.from flask import Flaskapp = Flask(__name__)@app.route("/")def hello():    return "Hello World!"if __name__ == "__main__":    app.run()view rawgistfile1.py hosted with ❤ by GitHubFlask(정확히는 Werkzeug)는 테스트를 위해 간단한 WSGI 서버를 자체 내장하고 있기 때문에 app.run을 통해 어플리케이션을 직접 실행할 수 있습니다.Route이번에 작성한 Flask 어플리케이션에는 이전까지 보지 못하던 개념이 들어 있습니다. app.route가 바로 그것인데요. 이 메서드는 URL 규칙을 받아 해당하는 규칙의 URL로 요청이 들어온 경우 등록한 함수를 실행하게끔 설정합니다. 위의 Hello World! 예제 같은 경우엔 “/”가 해당되겠지요. 또한 이런 규칙을 URL로 부터 변수도 넘겨 받을 수 있습니다.# http://flask.pocoo.org/docs/api/#[email protected]('/')def index():    [email protected]('/')def show_user(username):    [email protected]('/post/')def show_post(post_id):    passview rawgistfile1.py hosted with ❤ by GitHub이렇게 URL을 통해 처리할 핸들러를 찾는 것을 일반적으로 URL 라우팅(Routing)이라고 합니다. 이런 URL 라우팅에서 중요한 기능 중 하나가 핸들러에서 해당하는 URL을 생성하는 기능인데, Flask는 이를 url_for 메서드를 통해 지원합니다[email protected]('/')def index():    return ""@app.route('/')def show_user(username):    return [email protected]('/post/')def show_post(post_id):    return str(post_id)from flask import [email protected]("/routes")def routes():    return "".join([            url_for("index"),            url_for("show_user", username="longfin"),            url_for("show_post", post_id=3)            ])view rawgistfile1.py hosted with ❤ by GitHub보다 자세한 사항은 API 문서를 참고하실 수 있습니다.Template여태까지 우리는 요청에 대한 응답으로 단순한 문자열을 사용했습니다. 하지만 일반적인 웹 어플리케이션의 응답은 대부분이 그것보다 훨씬 복잡하지요. 이를 보다 쉽게 작성할 수 있게끔 도와주는 것이 바로 Flask의 템플릿(Template)입니다. Flask는 기본 템플릿 엔진으로 (역시 Armin Ronacher가 작성한)Jinja2를 사용합니다.기본적으로 템플릿엔진은 별도의 규칙(여기서는 Jinja2)에 맞게 작성된 템플릿 파일을 읽어 환경(Context)에 맞게 적용한 결과물을 돌려주는데 이 과정을 Flask에서는 render_template()가 담당하고 있습니다. 다음 코드는 hello.html이라는 템플릿 파일을 읽어서 이름을 적용한 뒤에 돌려주는 코드입니다.# from http://flask.pocoo.org/docs/quickstart/#rendering-templatesfrom flask import [email protected]('/hello/')@app.route('/hello/')def hello(name=None):    return render_template('hello.html', name=name)view rawgistfile1.py hosted with ❤ by GitHub쉽게 작성할 수 있게 도와준다고 해도, 템플릿 역시 나름의 학습을 필요로 합니다. 자세한 사항은 Jinja2의 API 문서를 참고하시기 바랍니다.RequestHTTP 요청을 다루기 위해서 때로는 environ의 내용은 너무 원시적일때가 있습니다. HTML 폼(Form)으로부터 입력받는 값이 좋은 예인데요. Flask에서는 request라는 객체(역시 Werkzeug에서 가져다가쓰는 거지만요)를 통해 이를 보다 다루기 쉽게 해줍니다. 다음은 HTML 폼으로부터 입력받은 message라는 값을 뒤집어서 출력하는 코드입니다.from flask import [email protected]("/reverse")def reverse():    message = request.values["message"]    return "".join(reversed(message))view rawgistfile1.py hosted with ❤ by GitHubSession로그인등으로 대표되는 요청간의 상태를 유지해야하는 처리에 흔히 세션(Session)을 사용하실 겁니다. Flask에서는 session객체를 지원합니다.# from http://flask.pocoo.org/docs/quickstart/#sessionsfrom flask import Flask, session, redirect, url_for, escape, requestapp = Flask(__name__)@app.route('/')def index():    if 'username' in session:        return 'Logged in as %s' % escape(session['username'])    return 'You are not logged in'@app.route('/login', methods=['GET', 'POST'])def login():    if request.method == 'POST':        session['username'] = request.form['username']        return redirect(url_for('index'))    return '''        <form action="" method="post">           <input type=text name=username>           <input type=submit value=Login>        </form>    '''@app.route('/logout')def logout():    # remove the username from the session if its there    session.pop('username', None)    return redirect(url_for('index'))# set the secret key.  keep this really secret:app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'view rawgistfile1.py hosted with ❤ by GitHubFlask는 기본적으로 시큐어 쿠키(Secure Cookie)를 통해 세션을 구현하므로 길이에 제한이 있습니다. 때문에 파일이나 DB기반의 세션을 구현하려면 Beaker와 같은 프레임워크를 통한 확장이 필요합니다.(하지만 이 또한 매우 쉽습니다.)#스포카 #개발 #개발자 #개발팀 #인사이트 #기술스택 #꿀팁 #Flask
조회수 226

누군가를 위로하고 싶은데  방법을 모르겠다면

누군가를 위로하고 싶은데방법을 모를 때가 있습니다그녀가 입원했다는 소식을 들었을 때도 그랬습니다. 갑작스럽게 입원해서 바로 항암치료를 들어간다는 그녀에게 무슨 말을 해야 위로가 될지 전혀 가늠이 안돼서, 허둥지둥 대다가 그냥 아무 말 대잔치를 해버렸던 것입니다. 그랬던 것이 그녀를 떠나보내고 나서도 두고두고 내내 아쉬웠습니다. 매일매일이 아팠을 그녀에게 괜찮냐고 물어보는 게 맞는 것인지, 잘 지내지 못할 걸 알면서도 잘 지내냐고 물었어야 했는지, 당최 뭐라고 말을 시작해야 위로가 될지 전혀 가늠이 되지 않아서 몇 번을 망설이다 연락을 포기하곤 했었는데 그녀가 그렇게 빨리 가버릴 줄 알았다면, 아무 말이라도 그냥 던져보기라도 할 것을 하고 후회하고 또 후회했습니다. 가끔 SNS에 힘든 감정을 토로했을 때 모르는 이에게서 괜찮다, 그 정도는 다 지나간다, 다들 그렇게 산다라는 댓글을 발견했을 때, 대체 저 사람이 나의 고통에 대해 뭘 안다고 저렇게 말하는 걸까 하고 불쾌했던 적이 있었습니다. 분명 그분도 위로를 하고 싶은 마음에 꺼낸 이야기라는 걸 알면서도, 기분이 나쁜 건 어쩔 수가 없었습니다. 받는 상대가 받고 싶어 하지 않는 위로. 그게 정말 위로가 맞는 걸까요? 각자가 위로받는 방법은 분명 다를 텐데, 우리는 곧 괜찮아질 거야, 다 잘 될 거야, 힘내라는 의미 없는 말만 계속 반복해오고 있는 것은 아닐까요? 정말 그런 것이라면, 나는 그런 말로 위로가 되지 않는다면, 각자가 자신을 위로하는 방법에 대한 이야기를 공개하는 것이 제일 좋지 않을까 하는 생각이 들었습니다. 그래서 시작합니다. '___ 위로하는 방법 프로젝트' 그 첫 번째 시작은 바로 저의 이야기입니다.이남희를위로하는 방법  저는 정말 힘들 때는 그냥 펑펑 울어버립니다. 그렇다고 큰소리로 엉엉 우는 건 아니고, 그냥 조용히 눈물을 흘리면서 흐느끼곤 합니다. 한참을 울고 나면 눈물이 주는 정화작용 덕분에 기분이 한결 나아지더라고요. 그렇게 눈물로 에너지를 회복시킨 후에, 감정 다이어리 북을 쓰곤 합니다. 사실 저는 매일 꼬박꼬박 일기를 쓰는 인간이 못됩니다. 그래서 제가 만들어놓고도 그저 샘플로만 활용했었는데, 얼마 전에 독감이 걸려서 죽다 살아나는 경험을 하고 나니 이 불안하고 답답한 마음을 어디든 털어놔야겠다는 생각이 강하게 들더라고요. 그래서 책을 꺼내 들고 제 힘든 마음을 적어 내려가기 시작했습니다. 그렇게 답답한 마음을 모조리 여과 없이 써 내려가고 나니 마음이 한결 편해지더군요. 마음속에 담아두고 어쩔 줄 몰랐던 것들을 내 눈으로 명확히 보면서 아.. 내가 이런 걸 힘들어하고 있었구나 하고 찬찬히 들여다 보고 나니 답답했던 마음이 조금 풀어진 것 같습니다. 그래서 그날부터 저는 제가 만든 감정 다이어리 북을 열심히 쓰고 있답니다. 그리고 올해 1월부터 감정 다이어리를 쓰는 분들과 1달에 한 번씩 만나는 모임을 진행하고 있는데요. 멀리 대구에서 올라오셔서 참여하신 분을 보며, 나보다도 더 열심히 감정 다이어리를 쓰는 분들의 빛나는 후기를 들으면서, "내가 정말 잘 만들었구나."하며 엄청난 힘을 얻고 있습니다. 지난 모임에 참여하셨던 심리상담사 선생님께서 이런 모임들이 더 많아지면 상담사가 필요 없을 것 같다는 후기를 나눠주셨는데, 모두들 마음속에 담아두었던 이야기들을 꺼내서 토로하기도 하고, 서로 토닥여주기도 하고, 각자의 팁을 들으며 조언을 얻기도 하는 시간, 저도 매달 이 모임 날을 손꼽아 기다린답니다. 3월엔 20일에 진행하니 감정 다이어리 북 들고 마음을 나누러 오세요.                          3월 감정 다이어리 모임 신청하기그렇게 혼자서 고조되었던 감정을 추스르고 나면 내 이야기를 들어줄 누군가를 찾곤 합니다. 사실 아무리 친구라고 해도 힘들다는 이야기를 밑도 끝도 없이 털어놓는 것은 못할 짓이라고 생각하고 있기 때문에, 거친 생각들은 혼자서 정리하는 과정을 거치려고 노력합니다. 그래서 누가 들어도 괜찮을 정도로, 내 마음이 정리가 되고 나면 제 얘기를 털어놓는데요. 끄덕이며 들어주는 친구에게 한참 동안 내 이야기를 털어놓고 나면 기분이 좋아집니다. 저는 이렇게 나에게, 그리고 친구에게 위로를 받습니다.당신은 어떤가요?당신의 이야기를 기다립니다. 위로받는 방법에 대한 인터뷰를 원하시는 분은 아래 링크를 통해 신청해주세요. 인터뷰 내용은 추후에 매거진이나 단행본으로 출간될 수 있습니다. 글을 보니 조금 관심은 생기지만, 그래도 뭔가 신청하기는 부담스럽다는 생각이 들어서 인터뷰를 신청하지 않는다해도 괜찮습니다. 그저 이 기회로 당신이 나는 어떻게 위로받을 수 있는걸까, 나를 위로하는 방법이 무엇일까에 대해서 잠깐이라도 생각해볼 시간이 되었다면, 저는 그것만으로도 만족하니까요. 그렇게 찬찬히 생각해보았더니 이런 이야기는 다른 이들과 나누어도 좋겠다는 생각이 들면, 그 때 신청해주시면 됩니다. 저는 그때까지 조용히 당신을 기다리고 있을게요.https://goo.gl/8XTDdb스트레스컴퍼니의 모든 상품은 스트레스컴퍼니샵에서 구매 가능합니다.ⓒ스트레스컴퍼니 - 무단 전재-재배포 금지#스트레스컴퍼니 #심리스타트업 #스트레스관리 #서비스소개 #제품소개
조회수 1040

스푼 EX팀의 Chuck을 만나보세요!

스푼을 만드는 사람들 열두 번째 이야기누구라도 '내 주변에도 이런 사람 한 명쯤은 있으면 좋겠다'라고 할법한 그런 사람.핑크색 아이폰이 너무나도 잘 어울리는 남자! 회사에서 보면 좋은 동료 같고, 때론 편한 동네 언니(?) 같이 카페에서 5시간 동안 함께 수다 떨 수 있을 법한 그런 다양한 매력이 있는, 멋진 척을 소개합니다!남자는 턱수염이죠!"제가 처음에 스푼에 입사 전에 물어본 게 있어요. 바로 '수염'을 안 깎아도 되는지에 대한 질문이었어요. 근데 웬걸.. 복장도 자유, 모자 쓰고 오시는 분들도 있고 저의 수염이 막 튀거나, 남다르게 느껴지지 않더라고요. 신선했습니다! 나와 코드가 잘 맞는 곳이구나!라고 생각했죠. 저 수염 기르고 싶거든요."EX 멤버들과 Chuck (오른쪽)듣고 싶은 당신의 스푼 라이프Q. 스푼에 입사하시게 된 계기가 궁금해요"저는 사실 취직을 조금 늦게 한 편인데요. 예전에 첫 직장을 다니다가 몸이 안 좋아져서 조금 오랫동안 쉬었어요. 충분히 쉬고 나서 회복되었을 때, 다시 구직활동을 하려던 차, 스푼에 근무하고 있는 지인이 추천을 해주시더라고요. 사실 그전부터 저는 라이브 스트리밍에 관심이 많은지라  스푼에 대해서 이미 알고 있었고 지인이 스푼을 너무 즐겁게 그리고 열심히 다니시는 모습을 보고 궁금하기도 하고 관심이 생겼었는데, 기회가 닿아서 입사를 하게 되었어요." Q. 척은 어떤 업무를 담당하고 있나요?"저는 사실 처음에 총무 포지션으로 들어왔다가, EX팀 업무도 함께 병행하면서 May의 제안으로 EX팀에서 노무 업무를 맡고 있어요! 예를 들면, 회사 규정을 만드는 업무 있잖아요? 규칙 등 그런 일들을 합니다. 무엇보다 다른 분들을 서포트하는 업무를 많이 하고 있어요."Q.  EX팀에서 나의 존재는?아기 - "EX팀에서 유일한 초보자이니까요!"그래서, 앞으로 배워야 할 것도 많고 열심히 배우려고 노력하고 있답니다. 경험 많은 팀원들께서 잘 이끌어주시고 도와주셔서 열심히 따라가고 있어요.Q. 내가 생각하는 스푼에서 일하는 장점은?"업무에 대해 개개인의 의견을 말할 수 있는 기회가 참 많은 것 같아요. 모든 구성원의 의견을 다 귀담아 들어주려고 노력하는 모습도 멋지고요. 이 부분이 저는 가장 큰 장점이라고 생각해요. 수평적인 조직의 문화의 기초가 되는 부분이라고 생각하거든요"Q. 함께 일하고 싶은 사람은 어떤 사람인가요?제겐 없는 부분을 가진 사람, 차분하고 밸런스가 잡힌 사람과 일하고 싶어요.그 예로, 저희 팀 새로 들어오신 Noah가 계신데요. 면접 때가 굉장히 인상 깊었어요. 면접 때 긴장하셨을 텐데도 불구하고 질문에 대한 답변을 굉장히 차분히, 틀린 부분은 정정하시면서 대답을 해주시더라고요. 그 부분이 굉장히 매력 있고 저와는 다른 부분으로 서로 부족한 부분을 채워줄 수 있을 것 같다고 생각했어요. 팀 내에 다양한 성향과 성격의 사람들이 있으면 그런 부분이 좋을 것 같아요.척이 수집하는 신발들의 '일부분' 사진알고 싶은 Chuck의 이야기Q. 나를 한마디로 표현한다면?오나이 - "사나이의 상반되는 개념이고, 한량이되 한심하지 않은 사람을 말합니다."Q. 법을 공부하셨다고 들었습니다."네, 어릴 땐 제 꿈이 법조인이 되는 거라고 생각했고, 그래서 법학과를 나왔어요. 생각해보면 제가 법을 공부하고 고시 준비를 했던 건 법조인이 되고 싶다는 마음보다는, 법조인이 된다면 제가 얻을 수 있는 것들과 제게 돌아오는 것들이 좋다고 생각했던 것 같아요. 공부는 중학교 때 까진 정말 열심히 했던 것 같은데, 고등학교 땐 잘 안 했던 것 같아요(겸손모드..) 그 당시엔 사실 저는 공부 말고 제가 무엇을 잘하는지 모르겠더라고요. 그래서 열심히 해야 한다고 생각했던 것 같아요"Q. 신발 수집은 언제부터 시작됐나요?"어릴 때부터 신발을 좋아했던 것 같아요. 우리 세대, 제 세대엔 마이클 조던이 전성기였거든요. 그때 뭔가 트렌드였어요. 저는 운동화뿐만 아니라, 부츠도 좋아하고 모든 신발을 좋아하지만 그중 운동화가 가장 많은 것 같아요. 이유는 음.. 모르겠어요.. 그냥 좋아하는 신발을 신고 있다는 그 느낌이 좋아요. 근데 저 생각보다 운동화 몇 켤레 없어요. 한 20켤레 정도 될걸요? 더 어릴 땐 지방까지 내려가서 사고, 줄 서서 사곤 했는데 요즘은 그러진 않아요! 아! 그리고 저 모자도 수집해요. 매년 4월이 되면 모자를 꼭 하나씩 사요. 생일 쿠폰이 나오거든요. 그래서 얼마 전에 또 신상 모자 하나 샀어요"Q. 척의 인싸력은 타고난 건가요?"저요? 저 낮 좀 가리는 편인데요? (실상 전혀 그렇게 보이지 않음. 누구보다도 친근하고, 편함)단지 저는 어색한 상황을 좋아하지 않는 편이에요. 아마 그래서 모두와 편하게 지내려고 하는 게 아닐까 싶어요"Q. 원래부터 Yolo 인생을 살았나요?*Yolo (You live only once) : 미래를 위해 현재를 희생하기보다 현재를 즐기려는 사람"저는 오늘이 행복하지 않으면, 내일도 행복하지 않다고 생각해요. 제 좌우명이 오늘이 행복하면 됐다이거든요. 내가 지금 행복한가?라고 묻는 다면 그건 내가 지금 행복하지 않기에 묻는 질문이라고 생각해요. 원래부터 그랬던 건 아닌 것 같은데, 크게 아프고 나서 변한 것 같아요. 지금은 물론 의학적으로 건강하지만요. 저는 제가 완전한 Yolo족은 아닌 것 같은데.. 제가 다른 분들에겐 그래 보일 수도 있을 것 같네요!"Q. 인터뷰해보시니 어떠셨어요?"기분이 좋았어요. 누군가 저에게 관심을 가져주고, 질문을 해준다는 게 기분 좋은 일이더라고요 :)"(인터뷰에 응해주셔서 감사합니다)Chuck은, 1. 음식을 가리지 않지만, '직화' 요리만 먹지 않습니다 2. 술, 담배를 하지 않습니다.함께 식사를 하게 된다면, 센스 있게 '직화' 요리는 피하고 술과 담배는 권하지 않으면 센스만점 동료가 될 수 있을 것 같아요 :) 팀원들이 척을 한마디로 표현한다면?Go 曰: 마이쿤의 명태 코다리 명태 코다리는 사계절 내내 명태의 참맛을 느낄 수 있다고 합니다,속초 출신인 척이 마이쿤을 위해서 사계절 내내 열심히 일해주세요~May 曰: 냉철한 두뇌와 뜨거운 마음의 소유자 사고는 논리적이고 체계적이지만 행동은 정의롭고 따뜻하거나 가끔 뜨겁기도 함 ㅎㅎKai 曰: 무서운 형 - 가끔 눈살을 찌푸릴 때 화난 거 같이 보여서요..Noah 曰: 고등학교 동창 - 낯설지 않은 친근함이 매력 포인트
조회수 1056

[번역] 개발 게임화 시스템

이 글은 Warby Parker tech team blog의 Systems Development Gamified!를 번역한 글입니다.우리는 이슈가 있었습니다: 우리의 기술팀은 "주도권"을 우려했는데, 이는 와비 파커(Warby Parker)가 개발해야하는 요청, 우선순위, 개발일을 할당하는 것과 관련이 있었습니다.(이는 유연성, 권한부여, 효율성이라는 의문을 제기하기도 했습니다). 모든 일이 그래왔던 것처럼 우리는 발전하고 반복하여 살펴보았습니다. 이는 여러 역할을 수행하는 이해관계자들의 그룹의 사람들을 "우리의 목표를 쇄신하여 엄청난 목표를 달성할 수 있을지를 고민하는 일일 세션"에 참가토록 했습니다. 우선 우리는 현재 프로세스에서 발생하는 사소한 문제들을 해결할 수 있는 문제들에 대해 토론하기 시작했습니다. 그리고 우리는 토론에 근거해 우선순위를 정하고, 일을 선택하는 것에 대한 게임화, 시장중심적인 접근방법을 만들었고 "와블스 프로세스(The Warbles Process")라고 부르기로 했습니다.주요 이해관계자들에게(애원하다시피 부탁하여) 넓은 폭의 설문과 인터뷰를 통한 피드백 이후에, 우리는 단지 소수의 사람만이 엔지니어들에게 할당된 일에 대해서 완전히 만족한다는 점을 알게되었습니다. 주요 문제는 다음과 같습니다.- 유연성 : 이전의 프로세스들은 분기 미팅에 의해 결정되는데, 이 분기 미팅에서 다음 분기에 무엇을 할건지를 선택하고 우선순위를 정하는 일이 사업적인 니즈의 특정 영역에 의해 정해집니다. 이 프로세스는 엄청난 관심을 받고 큰 이슈로 정해지는 반면, 가끔 작거나 예상치 못한 일이 관심을 받지 못하기도 하지요. 빠르게 대처해야하고, 빠르게 진화해야하는 환경에 놓인 우리 비즈니스의 특성상, 분기 단위의 시간은 너무나 깁니다. 또한 이러한 시간 박스(Time box)는 낮은 가치의 프로젝트들을 큰 프로젝트들이 완료된 후 단순히 "틈새를 메우기 위한" 일로 치부될 수 있습니다. 그러기엔 분기는 너무 짧지요.- 가치-우선순위 결정(Value-Prioritization) : 이전의 프로세스에서, 일은 일방적으로 기울어진 시각으로 일부 영역만을 집중하는 경영진(일반적으로 해당 부서의 책임자)에 의해 우선순위가 매겨집니다. 그래서 기술팀은 경영진에 의해 선택된 일이 가끔은 기업에 초점을 맞춘것이 아니라 부서에 초점을 맞춘 것으로 느끼기도 합니다.- 권한부여(Empowerment) : 기술팀은 경영진에 의해 분기 주도적이고 우선순위가 결정된 일을 할당받습니다. 팀은 할당이라는 행동자체에 대해 권한을 행사할 수 있음에도 불구하고, 궁극적으로 의사결정자가 아닙니다. 그리고 한번 주도권을 가지게 되면, 일하는 사람은 그대로 따라가기 마련입니다. 우리는 기술팀에게 권한을 부여하기를 원했고, 이 프로세스는 앞의 목표와 상충되는 것이었습니다.이런 문제를 해결하기 위해서, 우리는 팀을 다시 북돋우고 프로세스를 정비하기로 했습니다. 프로젝트 매니저, 비즈니스 애널리스트, 소프트웨어 엔지니어, 경영진을 한 방에 몰아넣고, 우리의 프로세스 향상에 초점을 맞춘 "종이비행기 린 트레이닝(Paper Airplan Lean Traning)"이라는, 일종의 종이비행기를 접는 Lean 시뮬레이션을 시작했습니다. 우선 우리는 그룹을 두 개의 작은 팀으로 나누었습니다. 각 팀은 우리의 "꿈의 프로세스(Dream process)를 상상하도록 했습니다. 이 시뮬레이션을 반정도 하니 신기한 일이 발생했습니다: 두 팀 모두 이상적인 프로세스에 대한 같은 시각을 가지게 된 것입니다.이 깨달음으로부터, 우리는 피벗(Pivot)하여 두 개의 팀을 하나로 합쳤고 하나의 아이디어에 집중하도록 하였습니다. 엄청난 양의 포스트잇과 수많은 피자 이후에, 기술팀을 위한 우선순위 결정에 대한 새로운 접근방법을 가지게 되었습니다. 이 세션은 이 아이디어에 대해 관심있게 지켜보았던 시스템 기술개발팀의 부사장에게 프레젠테이션을 하는 것으로 마무리 되었고, CEO에게 공유하기전에 아이디어를 공식화하고 디테일을 정착하였습니다.그렇게 와블스 프로세스(Warbles Process)가 탄생하였습니다.와블스 프로세스(Warbles Process)회사 누군가의 요청을 통해 모든 것은 시작됩니다. Epic이라는 폼(Form)을 통해 제출된 백로그(Backlog)는 와비파커 전원이 볼 수 있습니다. 이것의 투표 시스템을 통해 회사의 모든 매니저들은 찬성(Up-vote), 반대(Down-vote), 포기(Decline)를 할 수 있습니다. 각 에픽에 대해서 매니저들은 그들이 생각하기에 현재 회사가 가장 최우선시해야하는지를 생각하고 투표하게 됩니다. 각 찬성표는 5 와블스, 반대표는 -2 와블스를 얻습니다. 이 결과는 그들이 할당한 와블스 가치에 의해 우선순위가 순서대로 리스트에 반영됩니다.(와블스를 일련의 경제학적인 가치 형태라고 가정합니다)와블스 프로세스는 각 기술팀에게 어떤 에픽을 선택하여 진행할지 권한을 부여합니다. 기술팀은 백로그의 상단에서부터 선택하지 않아도 됩니다(혹은 백로그에 없어도 됩니다). 각 팀은 규칙이나 특정 사업영역과 전문적 기술을 조율할 수 있는 선임기술자에 의해 리드됩니다. 리더에 의한 관리하에, 팀은 그들의 특정 기술이나 경험에 기반하여 가장 효율적으로 완수할 수 있는 에픽을 선택합니다. 6개월뒤, 평균 와블스/엔지니어 가 가장 높은 팀이 우승을 차지합니다! 이긴 팀은 특별한 팀 회식을 즐깁니다.이 가치 기반의 접근은 우리의 업무 선택과 우선순위 결정 절차를 게임화하였습니다. 그리고 팀은 상하로 정렬되거나 중심적 업무 할당방식이 아닌 요청 방식으로부터 높은 우선순위의 일을 선택하여 일함으로써 인센티브가 있다는 느낌을 받습니다. 아직은 이를지 몰라도, 우리는 이 방식이 우리와 같은 빨리 진화해야하는 조직에 굉장히 잘맞는다는 것을 깨달았고, 게다가 기술팀이 일을 선택하는 권한을 부여하여, 조직 전체적으로 주목을 받고있는 가장 밀접한 일을 하고 있다고 확신하는데 도움을 주기도 합니다.우리는 와블스 프로세스를 적극적으로 평가하는 중입니다. 지금까지 와블스는 이전의 프로세스때문에 주목을 받지 못했던 여러 프로젝트들에 대해 격렬한 비판을 할 수 있는 역할을 톡톡히 수행하고 있습니다. 또한 다른 프로세스와 비교했을때, 내부 이해관계자들과 프로젝트에 참여하는 기술팀의 행복지수가 모두 엄청나게 상승하는것을 보았습니다. 게다가 조직 전체에서 깊게 관련되지 않은 사람들에게도 긍정적인 피드백을 받는 중입니다.(모두가 윈윈하는 길이네요!)#비주얼캠프 #인사이트 #경험공유 #조언 #개발자 #개발팀
조회수 2210

실리콘밸리에서 10일동안 느낀 것

MENTO - (L)Sarah(UX/STORYBOARD) , (R)Eliad(BUSINESS MOEDL)정말 재밌고 많이 자극된 10일이였다. 미드로만 봤던 실리콘밸리.10일 동안 실리콘밸리에서 낮에는 멘토들에게 조언을 받고 또 필드로 나가 고객/이해관계자를 만나고 밤에는 호텔에서 맥주를 마시며 팀원들과 일을 하였다. 평균 수면량이 제일 적었던 단기간이였는데 버스에서 열심히 쪽잠을 자며 컨디션을 유지했다. 일정 중간에 는 페이스북/스탠퍼드를 방문했고 winery , union square 관광하면서 미국의 모든 배경들을 눈에 담고 기억하려고 했다. 이 순간을 절대 잊지 않기 위해서.10일동안 여정을 한 단어로 요약한다면 글로벌이다.무조건 글로벌해지는데 나 자신, 내 젊음을 쏟아부어야겠다고 생각했다. 글로벌에 답이 있다. 처음부터 글로벌을 생각해야 된다. 글로벌에 목숨을 걸어야된다. 글로벌에 모든 것을 투자하다보면 국내에서도 '온니원'이 될 수 있다고 생각한다. 그러니깐 글로벌이 무조건 사업의 핵심이라고 생각한다. 글로벌에 투자해야 되는 이유를 난 2가지를 꼽는다. 첫번째는 탁월한 능력을 가지고 있는 인재들과 함께할 수 있고 두번째는 마켓 쉬프트다.첫번째에 대해선 글로벌로 가면 뛰어나고 다양한 배경을 가진 인재들과 멋진 일들을 할 수 있다. 이런 다양성은 혁신을 만들어낸다. 이질적인 것들이 만나 창의적인 것들이 나온다. 같은 것들이 충돌하면 새로운게 안나온다. 다른게 충돌하면 가능하다. 서로 다른 문화,환경을 가진 인재들이 충돌해서 만드는 제품은 놀랍다. 실리콘밸리라는 프로덕트도 그런 다양한 인재들이 만들어낸 에코 시스템이다. 이런 인재들과 일하는 것은 나의 가슴을 뛰게한다.두번째에 대해선 서로 다른 마켓을 컨트롤 하면서 부가가치를 낼 수 있다는 것이다. 나는 이미 한국이라는 시장을 가지고 있기 때문에 미국으로 간다면 한국-미국이라는 마켓을 컨트롤 하면서 부가가치를 낼 수 있는 기회가 생긴다. 가령 패션을 예로 들어보자.한국에 있는 옷(제품)을 미국에 팔 수 있는 것이다.역으로 미국에 좋은 것을 한국에도 팔 수 있을 것이다.그게 제품이 될 수도 있고 서비스 런칭이 될 수도 있다.(서비스 경우 로컬라이제이션-커스터마이징) 그리고 글로벌의 단위는 사실 언어의 단위와 현지화라고도 볼 수 있는데 영어가 가능하다면 미국 뿐만 아니라 여러 마켓을 컨트롤할 수 있는 역량이 생긴다.이것이 바로 마켓 쉬프트라고 나는 정의를 내린다. 마켓 쉬프트야말로 큰 판을 벌릴 수가 있다. 큰 자본금을 확보하는 길이며 규모가 있는 사업을 할 수가 있다.이것이 글로벌의 힘이며 마켓 쉬프트이다.실리콘밸리에서 가장 많이 배운 것은 팀워크다. 짧게나마 본 실리콘밸리 인재들의 팀워크는 정말 효율적인 느낌을 받았다. 10일동안 서비스 개발을 Paloalto SAP DCC 라는 곳에서 했었는데 아이디어 논의를 할 때에는 포스터잇은 필수다. 그리고 논리를 자주 시각화시키고 많이 논의된 얘기들은 단순하게 요약해놓고 다음 스텝을 넘어간다. 프로토타입을 최대한 싸게 빠르게 만드는 것을 목표로 비즈니스 캔버스 모델도 적극적으로 사용한다. 또한 구성원 모두가 주도적으로 논의들을 이끌어가고 자신의 생각을 적극적으로 표출한다.(포스터잇으로 해당 주제에 의견을 붙여나감) 1.논리를 시각화하는 것에 대해서 2.팀끼리 논의에 대한 합의를 이루는 방법에 대해서 많이 인사이트를 얻었다. SAP은 대기업에도 불구하고 스타트업처럼 움직이는 느낌을 받았다. 구글과 애플은 세계에서 가장 덩치가 큰데도 스타트업이라고 하는 의미를 알 것 같았다. 상사에게 NO를 하는 건 당연하게 생각한다. 한국 스타트업에서 일할 때는 "위에서 하라던데요?" 인 경우도 종종 있었는데 여긴 그런 것이 없다. 일을 해야되는 이유가 없다면 그 일을 하지 않는다. 사용자에게 어떤 가치를 줄 수 있는지 팀이 합의를 이루어야지만 진행된다. 팀워크의 핵심은 서로를 배려하는 많은 대화라고 생각했다. 그리고 이들의 팀워크 효율은 심플함(본질만 남겨두고 다른 모든 것을 제거하고 포커스하는 것)을 바탕으로 꾸준히 개선될 수 있다고 느꼈다.나는 한국 여러 스타트업들에서 일하면서 가장 중요하게 생각했던 주제가 기업 철학과 문화에 관한 것이였다.창업자의 철학이 기업 문화의 뿌리를 만들고 그 뿌리 위에서 서로 다른 배경을 가진 사람들이 협업하면서 자기 회사의 고유 문화를 만들어나간다. 잘 만들어진 기업 문화는 사내의 의사소통을 굉장히 효율적으로 만든다. 이는 결과적으로 모든 동료들이 사내기업가 되는 것을 돕는다.(반대로 소통이 막히면 결과적으로 팀원들은 스타트업인데도 불구하고 일반 월급쟁이처럼 일을 하게 된다.) 그래서 많은 회사들이 실패하는 이유 중 하나가 사내 의사소통에(전사적 정보 공유)실패들이 쌓이면서라고 판단한다. 소통이 안되니 한 조직인데도 따로 놀고 수직적이게 된다. 협업 효율이 떨어지고 성과 안나오니 제대로된 의사소통을 통한 팀워크를 반성하는 것이 아니라 숫자에 집착하게 되고 고객 만족은 바닥으로 떨어지고 조직에 온갖 잡음들이 생겨나기 시작한다. 그래서 나는 사내 의사소통에 아주 큰 영향을 주고 있는 기업 문화가 정말 중요하다고 생각한다. 실리콘밸리의 경쟁력은 기업 문화로부터 만들어졌다고 생각한다. 그리고 그 문화들의 핵심 공통점은 팀내 정치가 없고 의사소통의 효율화로 사용자에만 집중한다.H1B visa를 통해 다양한 인재들이 실리콘밸리로 모여들 수 있었다. 서로 다른 배경을 가진 사람들이 효율적으로 협업을 하면서 좋은 결과물을 내려면 업무를 진행하기 위한 합의된 효율적인 공유된 양식이 필요하다.(가령, 회사의 어떤 이슈가 생겼을 때 "우리스러운, 우리다운 선택이 무엇인지" 그것은 회사가 추구하는 비전과 문화가 무엇인지에 따라 결정된다.) 이런 공유된 양식이 결국 기업의 문화인 것이고 탁월한 기업의 문화가(여기서 창업자의 훌륭한 철학이 선행- 보통 실리콘밸리에선 "더 나은 세상을 만드는 것") 탁월한 실리콘 밸리의 생태계를 만든 것이 아닐까. Culture is simply a shared way of doing something with passion.-문화는 열정적으로 무언가를 하기 위한 명료하게 공유된 방식이다.Brian CheskyCo-founder, CEO of Airbnb앞 글을 키워드로 정리하면 글로벌,팀워크,기업철학/문화가 될 것이다.한국이 아닌 해외에서 반드시 Earthy inc. 를 나스닥에 상장시킬 것이다. 세계에서 유일하고도 탁월한 기업 철학과 기업 문화를 바탕으로 인류의 라이프 스타일의 질을 향상시키고 그들의 의사결정을 도울 수 있는 위대한 제품군들을 완성시킬 것이다.이 브런치 글의 소제목에 다음과 같이 썼다.Great impact makes a lot of money이 말은 훗날 후배 기업가들에게 가장 해주고 싶은 말이다.기업의 목적은 사전에 나와 있듯이 "이윤의 획득을 목적으로 운용하는 자본의 조직단위" 가 절대 아니다. 기업의 목적은 어디까지나 더 좋은 세상을 만들기 위해 사람들의 삶의 질을 향상시키고 인류에게 영향력을 주기 위한 목적으로서 존재할 뿐이다.많은 영향력이 많은 돈을 벌어다 줄 뿐 그 이상 그 이하도 아니다.모든 기업은 사회적 기업이다.따라서 기업은(스타트업은) 사람들의 삶에 영향력을 끼치는 것에만 집중하면 된다.시총이 600조인 애플과 구글. 그리고 그 외 수백조의 기업 가치를 지닌 수많은 실리콘밸리 기업들이 이 한 줄을 증명해주고 있다고 생각한다.글로벌한 영향력 끼치는 것에 집중하면 된다.그러면 모든 것은 따라오게 되어있다.#페오펫 #peopet #스타트업 #운영 #창업 #창업가 #창업자 #마인드셋 #인사이트
조회수 6749

리디북스 뷰어 형광펜 개선 후기

종이책과 비교했을 때 전자책의 매력 중 하나는 ‘형광펜’ 기능입니다. 책을 읽으며 원하는 구절에 형광펜을 남기면 모든 기기에 동기화가 되고, 이를 독서노트에서 한 번에 모아볼 수도 있습니다. 이러한 매력에도 불구하고 그동안 리디북스 형광펜 남기기 기능에는 고질적인 문제가 있었습니다. 그것은 페이지 마지막 문장에 형광펜을 남길 때 다음 페이지에 이어서 남길 수 없었다는 점입니다. 하지만 2016년 9월, iOS를 시작으로, 형광펜을 이어서 남길 수 있습니다. 이 기능을 ‘형광펜 이어서 남기기’ 라고 부릅니다.형광펜을 남기는 불편한 방법과 그 이유1. 개선 전 형광펜을 이어서 남기는 방법‘형광펜 이어서 남기기’ 기능을 추가하기 전, 두 페이지에 걸쳐있는 문장에 완전한 형광펜을 남기는 과정은 아래와 같습니다.1) ‘반대로 혼자서 무엇인가를~’로 시작되는 문장을 다음 페이지에 이어서 형광펜을 남기려고 했을 때 마땅히 다른 방법이 없습니다.2) 어쩔 수 없이 글자 크기를 줄여서 두 페이지에 걸친 문장을 한 페이지에 표시합니다.3) 형광펜을 남깁니다.4) 다시 눈에 편한 이전 글자 크기로 조정합니다.형광펜을 남기는 과정은 이같이 번거로웠습니다. 그래서 앞 페이지에 형광펜을 남기고, 문장이 끊긴 채로 다음 페이지에서 새로 형광펜을 남기는 사용자도 많았습니다.2. 불편함을 토로하는 사용자의 의견형광펜 이어서 남기기에 대한 의견은 ‘형광펜’과 관련된 많은 의견 중에서도 상당수를 차지했습니다.“완벽하게 형광펜을 남기려면 글자 크기를 줄이고 남겨야 하는데 귀찮고, 읽는 흐름이 끊겨서 불편합니다. 개선해주세요.”“페이지 간 형광펜을 이어서 남길 수 없다 보니 앞, 뒤 페이지에 따로 남기곤 합니다. 독서노트에서 문장이 가닥가닥 끊어져 있어서 보기 좋지 않네요. 독서노트에서 문장을 연결할 수 있게 해주세요.”“다음 페이지로 이어서 형광펜을 남기는 기능은 언제 추가되나요? 매번 형광펜을 남길 때마다 피곤합니다.”3. 형광펜 이어서 남기기가 가능하지 못했던 이유종이책과 달리 전자책은 절대적인 판형, 글자 크기, 문단 너비, 줄 간격 등이 존재하지 않습니다. 그러므로 사용자는 읽기 편하게 글자 크기를 늘리거나 줄 간격을 넓힐 수 있습니다. 이때 설정을 변경함에 따라 하나의 문장이 한 페이지에 존재할 수도, 두 페이지 또는 여러 페이지에 걸쳐 존재할 수도 있습니다.또 전자책은 모바일을 기준으로, 보통 화면에 한 페이지만 노출합니다. 연결된 하나의 문장이라도 화면에 보이지 않는 다음 페이지에 걸쳐 있다면 이어서 형광펜을 남길 수 없었습니다. (그래서 화면이 넓은 태블릿이나 PC 뷰어에서는 형광펜을 이어서 남기고자 하는 요구가 상대적으로 적었습니다.)글자 크기나 문단 너비, 줄 간격 등의 변수로 문장이 화면에 보이지 않는 다음 페이지에 걸쳐졌을 때, 이어서 형광펜을 남길 수 없었습니다.프로젝트의 조건1. 형광펜을 남기는 두 가지 방식 모두 자연스러워야 한다.리디북스 뷰어에서는 핸들로 문장을 선택하여 남기는 방식, 미리 선택하지 않고 문장을 누른 채로 드래그하여 바로 형광펜을 남기는 방식(이하 오토 하이라이트), 총 두 가지 방식을 지원하고 있습니다. 이 두 가지 방식 모두 자연스러워야 했습니다.핸들로 문장을 선택하여 형광펜을 남기는 방식(좌측), 문장을 누른 채로 드래그하여 바로 문장에 형광펜을 남기는 방식(우측), 총 두 가지를 지원하고 있습니다.2. 가능한 익숙한 UX여야 한다.뷰어는 책 읽기에 집중할 수 있도록 문장으로만 채워져 있습니다. 설명이 필요한 낯선 요소가 들어갈 경우, 설명에 문장이 가려져 독서에 방해가 될 수 있으며 사용자는 새로운 사용법을 익혀야 합니다. 최대한 학습이 필요 없는 익숙한 UX를 지향했습니다.위 두 가지 조건을 모두 만족하는 리디북스만의 방식을 찾아야 했습니다.개선된 ‘형광펜 이어서 남기기’ 방법두 페이지에 걸쳐있는 문장에 형광펜을 남기는 두 가지 방법은 이러합니다.1. 첫 번째 방법1) 페이지 마지막 문장까지 선택하면, ‘문장 이어서 선택하기’ 에디트 메뉴가 뜹니다.2) 메뉴를 누르면 다음 페이지로 넘어가고 해당 문장이 끝나는 마침표까지 자동으로 선택됩니다.3) 이어 ‘형광펜 / 메모’ 에디트 메뉴가 뜨고 그 상태에서 ‘형광펜’을 누르면 됩니다.2. 두 번째 방법1) 오토 하이라이트로 페이지 마지막 문장까지 형광펜을 남기면, ‘형광펜 이어서 남기기’ 에디트 메뉴가 뜹니다.2) 메뉴를 누르면 다음 페이지로 넘어가고 나머지 과정은 첫 번째 경우와 같습니다.문제 해결 과정1. 문장 선택 방법 결정하기형광펜을 남기는 두 가지 방식을 모두 지원하면서 익숙한 UX가 되려면 두 가지 방식에서 사용하는 요소여야 했습니다. 함께 고민하던 개발자님이 떠올린 아이디어는 핸들(Handle) 이었습니다.문장 선택 시 사용하는 핸들을 HIG(Human Interface Guidelines)에는 따로 명시되어 있지 않지만, iOS에서 코드상으로는 그래버(Grabber), 일반적으로는 핸들(Handle)이라 부르며 Android에서는 텍스트 셀렉션 핸들(Text selection handles)이라 부릅니다.에디트 메뉴를 띄워서 핸들로 문장을 선택하는 방식은 기존에 이미 핸들을 사용하고 있으므로 다음 페이지로 넘어가 핸들로 원하는 문장까지 선택하는 것은 자연스러웠습니다. 앞 페이지에서 오토 하이라이트로 형광펜을 남기고 페이지가 넘어간 후, 다음 페이지에서 핸들이 나타나는 것은 처음엔 다소 어색하게 느껴졌습니다. 하지만 기존에 쓰고 있는 요소여서 낯설지 않았고 사용 방식 또한 익숙해서 어렵지 않게 다가왔습니다.2. 세부사항 결정하기프로토타입을 기반으로 UI 디자이너가 모여있는 UI 길드와 사내에서 다양한 피드백을 받았습니다. 그 후, 다듬고 수정하는 과정을 거쳐 세부사항을 결정하였습니다.1) 레이블 결정하기형광펜과 결합하여 사용할 수 있는 동사는 ‘하다’, ‘치다’, ‘칠하다’, ‘긋다’, ‘남기다’ 등 생각보다 많습니다. 그렇다 보니 사용자뿐만 아니라 사내에서도 같은 기능이지만 다르게 불리곤 합니다. 여러 가지 동사 중, 형광펜과 밑줄에 모두 어울리는 동사가 필요했습니다. ‘하다’는 광범위한 행동에 사용됩니다. ‘치다’와 ‘긋다’는 형광펜보다는 밑줄과 더 잘 어울리며, ‘칠하다’는 형광펜에만 어울립니다. ‘남기다’가 형광펜과 밑줄에 모두 어울리고 ‘독서노트에 남긴다’라는 의미로도 맞아서 레이블에 형광펜과 결합하여 사용할 동사로 결정하였습니다.2) 맥락에 맞는 레이블 메뉴 구성‘남기다’로 동사를 결정한 후, ‘형광펜 이어서 남기기’로 에디트 메뉴 레이블을 결정했습니다. 밑줄로 남길 때는 형광펜에 해당하지 않으므로 상황에 맞게 ‘밑줄 이어서 남기기’ 레이블로 변경하였습니다. 또 문장을 선택해서 형광펜을 남기는 경우도 문장 선택을 먼저 하므로 맥락에 맞지 않았습니다. 이 경우에는 ‘문장 이어서 선택하기’라는 레이블로 변경하였습니다. (개선된 ‘형광펜 이어서 남기기’ 방법 항목 참조)‘문장 이어서 선택하기’ 에디트 메뉴에는 ‘형광펜’, ‘메모’, ‘듣기’, ‘정의’, ‘검색’, ‘공유’ 등 기존 에디트 메뉴도 함께 보여줘야 했습니다. 다음 페이지로 넘어가지 않고 마지막 문장까지만 형광펜을 남길 수도 있고, ‘듣기’나 ‘공유’ 등 다른 에디트 메뉴 기능을 사용하는 상황도 있을 수 있기 때문입니다. 하지만 페이지 마지막 문장이 끊기지 않고 마침표로 완전하게 마무리되는 경우는 많지 않았습니다. 그래서 ‘마지막까지 문장을 선택한다면 다음 페이지로 이어서 문장을 선택하고 싶다’는 가설을 세웠습니다. 그리고 ‘문장 이어서 선택하기’에 집중할 수 있도록 다른 메뉴는 감추고 한 단계를 더 거쳐 선택하도록 하였습니다.한 번에 많은 메뉴가 노출되면 선택에 집중하기 어려웠습니다. 그래서 마지막 문장까지 선택한 경우, 다른 메뉴는 감춰 문장 선택에 집중할 수 있도록 하였습니다.3) 에디트 메뉴의 위치처음 에디트 메뉴 위치는 커스텀이지만 OS와 유사한 위치를 사용했습니다. 어디서부터 선택하는지, 어느 정도 선택하는지에 따라서 자동으로 에디트 메뉴의 위치가 달라집니다. 또 선택한 문장과 겹치지 않게 선택된 문장의 위나 아래에 위치합니다. 그렇다 보니 페이지 마지막 문장까지 선택했을 때 손을 뗀 자리가 아닌 문장과 겹치지 않는 먼 위치에 에디트 메뉴가 떠서 어색했습니다. 그래서 손을 뗀 가까운 곳으로 에디트 메뉴 위치를 변경하여 바로 다음 페이지로 넘어갈 수 있게 하였습니다.OS에서 제공하는 에디트 메뉴의 위치에서, 사용하기 편하도록 에디트 메뉴의 위치를 마지막 문장이 끝나는 지점과 가깝게 옮겼습니다.4) 다음 페이지로 넘어간 후 선택해줄 문장의 범위페이지가 넘어간 후, 문장이 끝나는 마침표까지 선택해줄 경우, 문장이 해당 페이지에서 끝나지 않을 수 있습니다. 그래서 처음에는 다음 페이지의 시작 문장에서 다섯 글자까지만 선택해주었습니다. 하지만 문장이 페이지를 넘어가는 경우가 더 적어서 마침표까지 선택해주는 것이 형광펜을 남기는데 더 편리했습니다. 또 문장이 해당 페이지를 넘어간다면 다시 ‘문장 이어서 선택하기’ 에디트 메뉴를 노출하여 다음 페이지로 이어서 선택할 수 있게 하면 되므로 문장을 마침표까지 선택해주었습니다.다음 페이지로 넘어갔을 경우, 해당 페이지 안에서 문장이 끝나는 경우가 많았지만 문장이 끝나지 않고 그다음 페이지로 넘어가는 경우에도 대응해야 했습니다.마치며2016년 9월로 페이퍼까지 형광펜 이어서 남기기가 추가되었습니다. 리디북스 내 ‘묵은지’라 불리던 이 문제를 해결하여 더는 형광펜으로 고통받지 않아도 될 분들을 생각하면 기쁩니다.마지막으로 해결하기 어렵다고 생각한 형광펜 이어서 남기기를 구현해주신 리디북스 iOS 개발자님에게 감사를 표합니다.참고 문헌[1] Apple Inc. “Edit Menus - UI Controls - iOS Human Interface Guidelines” Last modified 2016. [2] Google (2016). “Selection - Patterns - Material design guidelines” Last modified February, 2016. [3] 이광희. ePub(이펍) 제작 테크닉. 서울: 비엘북스, 2012.#디자인 #UX #UI #UX디자인 #UI디자인 #사용개선 #유저중심 #리디북스 #UserExpirience #UserInterface #사용성 #후기

기업문화 엿볼 때, 더팀스

로그인

/