스토리 홈

인터뷰

피드

뉴스

조회수 8900

내가 창업을 선택한 3가지 진짜 이유 (동기)

내가 창업을 선택한 3가지 진짜 이유"왜 창업을 하셨나요?"스타트업 대표들이 가장 많이 듣는 질문 중에 하나이다. "남들 밑에서 일하기 싫었다."라는 대표부터, "세상을 바꾸고 싶다"라는 거창한 이야기를 하는 대표까지 각각의 창업자마다 창업이란 길을 선택한 수많은 동기와 이유들이 있다.  나 역시도 같은 질문을 받았을 때마다 상황에 맞는 그저 평범한 수많은 모법 답안을 대답했지만 말하지 않았던 내가 창업을 선택한 3가지 진짜 이유들에 대한 이야기이다.1. 돈으로 살 수 있는 것들 (여태껏 살아온 세상)마이클 센델의 책들을 개인적으로 정말 좋아한다. 하지만 작년 베스트셀러인 "돈으로 살 수 없는 것들"은 내가 경험한 현실과는 거리가 있어 보인다. 교수라는 사회적 위치와 어느 정도의 경제 수준과 상황에 올라갔기 때문에 나올 수 있는 책이 아닐까? 세상 대부분의 사람들은 돈으로 살 수 없는 것보다 돈으로 살 수 있는 것, 즉 현실에 매달려 살아가고 있다.돈이 인생의 전부는 아니라는데 동의한다. 하지만 돈이라는 것이 행복을 위한 여러 조건 중에 가장 기본적이고 도 많은 부분을 차지한다는 것을 나는 경험했다.우리 집은 어렸을 때부터 가난했다. 옥탑 단칸방에서 네 식구가 살기도 했었고, 이사를 정말 많이도 다녔던 기억이 있다. 경제적으로 부족한 아버지 때문에 평범한 가정주부 대신 어머니는 일터를 선택해야만 했고 정말 많은 고생을 하시는 모습을 지켜보며 자라왔다. 흔히 드라마에 나오는 것처럼 여유롭게 가족들이 여행을 다녀왔던가 하는 행복한 추억들은 그리 많지 않다.시간이 흘러 성인이 되었고 사회로 나와 열심히 노력하며, 좋은 직장을 들어가기 위해 치열하게 경쟁하고 살아남았다. 하지만 한창 젊었던 시절 사랑하던 여자 친구와 경제적인 문제로 헤어지는 상처를 받기도 했다. 유복한 가정의 여자 친구 부모님에게는 직장생활 급여라는 경제력만을 가지고 있던 나는 턱없이 부족했고 결국 우리는 이별이라는 현실을 선택해야만 했다. 어머니가 살아오신 삶 때문 일까? 어머니는 항상  "네가 능력이 안된다면 귀한 집 딸을 데리고 와서 고생시키지 말아라."라고 하셨었다. 나도 동의한다. 사랑하는 여자를 어머니처럼 고생시키고 싶지 않기 때문이다. 그런데 뭐 결혼 안 한다고 큰일 나는 거 아니지 않은가? 그리고 내 있는 그대로의 모습을 인정하고 받아들이는 여자를 만나면 되지 않는가?그래! 가난했던 집안 환경, 사랑 그리고 결혼 이런 것들은 이겨냈고 앞으로도 없이 살 수 있다고 생각한다. 나도 좋은 집에 살고 비싼 차를 몰고 싶지만 주어진 현실에 만족하면서 열심히 일하고 실력을 쌓고 나 스스로의 삶을 개척하고 살아가고 있다고 자부하며 지난 30대 초반을 지내왔다.어머니는 나와 동생의 대학교 등록금을 벌기 위해 10년 넘게 식당을 하셨었다. 두 아들이 대학교도 무사히 마치고 자리를 잡아가기 시작했지만 자식들한테 나중에 신세 지고 손 벌리기 싫다고 하시면서 계속 열심히 일만 하셨다.2012년 가을하늘도 정말 무심하시지. 그렇게 평생 고생만 하고 사셨던 어머니에게 정말 큰 아픔이 다가왔다.식당일로 인해 보건증을 끊으러 병원을 가셨다가 암 4기 말 판정을 받으셨다. 가족들에게 알리지도 않고 몇 주를 고민하시다가 털어놓으셨고 온 가족이 그때 받은 충격은 이루 말할 수 없었다. 큰 대학병원으로 옮겨 검사가 시작되었고 의사로부터 길어야 6개월이라는 시한부 선고를 받게 된다. 그렇게 힘든 인생을 사시고 자식들을 위해 고생만 하신 어머니가... 힘들게 살면서도 더 여러운 이웃에게 항상 베풀기만 하셨던 분이 도대체 왜.수술을 하면 어머니가 조금이라도 더 사실 수 있다는 의사의 의견에 우리 가족은 수술을 하기고 결정했다. 시한부 판정을 받았더라도 수술 날짜는 바로 잡을 수가 없었다. 수많은 암환자들이 있는 대학병원에서 가능한 수술 날짜와 입원날짜는 아직도 하늘에 별따기이다. 서울의 유명하다는 모든 대학병원을 수소문해서 수술과 입원이 가능한 곳을 알아봤지만 짧게는 한 달에서 길게는 세 달의 시간을 기다리라는 답변만을 받았다. 주변의 지인들을 통해 아는 의사나 교수님 모든 인맥을 동원해서도 노력해봤지만 대답은 같았다. 보호자가 힘든 내색을 하면 안 좋기 때문에 속으로 정말이지 수백 번을 울면서도 어머니 앞에서는 괜찮다고 웃어 보이며 금방 찾을 수 있다고 안심을 시켜 드렸었다. 하지만 현실에서 하루가 다르게 상태가 악화되는 어머니를 보면서 내가 할 수 있는 것은 아무것도 없었다. 어머니 본인 스스로의 충격과 현실은 그보다 더 잔인했다. 그렇게 온 가족이 모든 수단을 동원했지만 유명한 의사가 있고 가장 믿을만한 병원에서 두 달 정도 뒤에 가능하다는 최종 통보를 받았다. 아니 남아있는 6개월 중에 2달을 그럼 그냥 시간을 보내고 기다리라는 말인가!시간은 계속 빠르게 흘러갔고 살려야만 했고 방법을 찾아야만 했다. 그러던 중 어머니 친구분이 떠올랐다. 그 어머니 친구분은 재산이 몇백,몇천억이 아닌 "조"단위 정도 되는 큰 부자이신데 그분이라면 병원의 높은 사람을 아시지 않을까? 지푸라기라도 잡는 심정으로 전화를 걸었다."아이고 혁재야 그런 일 있으면 말하지 아줌마가 전화 한 통 넣을게"돌아오는 대답은 그냥 평범했고 형식적이었다. 하지만 정확히 하루 만에 두 달을 기다리라고 했던 바로 그 대학병원의 원무과장에게 직접 전화가 왔다."OOO님 되시죠. 내일 바로 입원하시고요. 최대한 빠르게 수술 진행하도록 돕겠습니다."정말 그렇게 말도 안 되는 일이 벌어졌고, 어머니는 다음날 바로 입원을 할 수 있었다. 흔히 말하는 각과의 과장들이 직접 내려와서 어머니를 캐어하기 시작했고 그것도 모자라 다른과의 과장들과 협진을 통해 수술 준비를 이어갔다. 병원에서의 모든 직원들의 역시 대우가 틀려졌다. 입원을 하자마자 정말 빠르게 모든 검사가 완료됐고 바로 수술 날짜가 잡혔다. 그분의 전화 한 통 후 그렇게 대한민국 최고 권위의 의사들과 좋은 시설의 병원에서 며칠 만에 모든 검사와 수술이 이루어졌다. 수술 이후에도 지속적으로 수많은 치료가 이루어졌다.수술은커녕 입원조차 안된다고 하던 바로 그 병원에서...그렇게 6개월 시한부 판정을 받으신 어머니는 병원에서 기적같이 살아나셨다. 나중에 모든 사실을 알게 되었다. 부탁을 하신 그 부자라는 어머니 친구와 남편분의 가족은 병원에서 흔히 말하는 VIP, 아니 VVIP 중에서도 최고의 VVIP였다. 가장 높은 사람인 병원장과 형, 동생 하면서 골프를 치는 사이이고 병원에 기부도 수십억 하고 그런 부류의 사람들. 병원장부터 내려온 오더는 어머니의 수술과 치료에 총동원이 되었던 것이다.수술이 끝나고 어머니 친구분께 고맙다는 인사를 드리고 나서 혼자 병원 벤치에 앉아 엉엉 울었다. 정말이지 고맙고 서럽고 만감이 교차했다. 사랑하는 사람조차 살리지 못하는 부족한 내 모습이 싫었고 돈이 사람 생명을 결정하는 현실이 너무나도 싫었다. 하지만 한편으로는 그래도 이렇게 어머니를 살린데 어디인가 스스로를 위안했다. 병원은 사람을 치료한다고 살려야 한다고 하지만 이익을 내야만 하는 영리 조직이고, 그 조직은 돈의 의해서 움직인다라는 것을. 사랑하는 사람을 경제적인 이유로 제대로 된 치료를 못 받게 하고 잃을 수 있는 현실을 머리로는 받아들였지만 가슴속으로는 받아 들 일 수 없었다.< 드라마 낭만닥터에서 주인공의 아버지는 VIP 환자에게 수술순서에 밀려서 죽는다. >-진짜 복수 같은 걸 하고 싶다면 그들보다 나은 인간이 되거라. 분노 말고 실력으로 되갚아줘. 알았니? 네가 바뀌지 않으면 아무것도 바뀌지 않는다. <낭만 닥터 중에서>그렇게 난 피눈물을 흘리며 다짐했다. 꼭 성공할 거라고. 그래서 다시는 이런 일을 겪지 않을 거라고 무기력하고 능력 없는 오늘까지의 내가 앞으로의 나에게 다짐한 채찍질이자 복수였다. 그건 내 가족, 형제, 그리고 미래에 있을 내 아내와 아이들에게 부족한 아버지로 남기 싫음이었다. 내가 사랑하는 사람들이 적어도 돈이라는 이유 때문에 죽어가는 일은 다시는 만들지 않을 수 있는 실력(경제력)을 가질 거라 결정했다. 안 좋은 길(불법적인 프로그램을 개발하는 일)로 들어서는 것도 고민했지만 떳떳하지 못할 거라 생각해고 내가 생각한 최선을 방법은 직장생활이 아닌 정정당당하게 창업을 도전해서 성공하면 경제적으로도 풍족해질 수 있는 합법적인 테두리 안에서의 선택이었다.암환자의 보호자 역할을 하면서 알게 된 사실인데 통계적으로도 경제적으로 부족한 사람들이 더 많이 암에 걸린다고 한다. 힘든 삶에서 건강을 챙길 시간 와 돈이 없고 일만 하면서 살아가기 때문이다. 그 어머니의 부자 친구분은 온 가족이 정기적으로 수백, 수천만 원이 넘는 건강검진을 받고 있고, 아프다면 최고의 의료진과 의료시설로부터 혜택을 받고 있다.수술은 잘 되었고 어머니는 빠르게 회복하셨다. 어머니는 평소 "짝" 애청자이셨다. 두 달여간의 입원기간 동안 어머니는 병원에서도 그 프로를 보시면서 "너는 밖에서 여자도 못 만나지?", "빨리 장가가라" 잔소리를 하시곤 했다. 정말 재미있게도 그날 낮에 짝 섭외 요청이 왔었고 어머니의 깜짝 선물 겸 가족 특집이라는 이유로 출연을 결정했다. "니 주제에 무슨 짝을 나가?" 하고 웃으시면 어머니는 방송 출연 전날까지 날 믿지 않으셨다. 어머니는 병원에서 외출 허가를 받고 같이 방송 촬영지에 오셨고 온 가족이 출연하는 즐거운 추억도 그때 만들게 된다. 방송 이후 자식 자랑에 어머니는 병원에서 일약? 스타덤에 오르셨고 다시 미소를 찾으셨다.기쁨도 잠시 그 뒤로 신체의 다른 부위로 전이가 되어 치매나 다리 마비 같은 위기가 해마다 찾아왔다. 하지만 어머니는 버티고 또 버텨내셨다. 4기 말 암환자로 6개월 시한부 판정을 받았던 어머니는 그렇게 암과 싸우며 아직도 살아가고 계시다."내가 너 장가가는 건 보고 죽어야 하는데.""내가 너 성공하는 건 보고 죽어야 하는데."아직도 입버릇처럼 말씀하시는면 난 이렇게 대답하고 한다."장가도 갈 거고 성공도 할 거야. 근데 한다고는 하는데 조금 더 걸릴 거 같아."그리니 더 살아서 꼭 큰아들 장가가고 성공하는 거 보고 눈감으라고.이게 내가 항상 "입에 칼 물고 열심히 해야 한다."라고 말하는 진짜 이유이다.2. 일하고 싶은 회사? (경험한 현실)10년... 그러고 보면 직장생활을 꽤 한 것 같다. 벤처기업, 중소기업, 대기업까지 10년이란 시간은 나에게 정말 많은 경험들을 주었다. 하지만 일하고 싶은 회사, 매일 출근하고 싶은 회사와는 거리가 멀었다. 흔히들 말하는 꿈의 직장을 다니고 싶었고, 그렇기 위해서는 실력을 쌓아야만 한다는 것을 알게 되었다. 기사나 책에서 꿈의 직장을 하면 나오는 여러 회사들 말이다. 높은 연봉과 쾌적한 근무환경과 복지들을 부러워한다.<구글이 꿈의 직장이라고 들어가고 싶다는데 나는 꿈의 직장에 들어갈 실력이 되는가?>사회생활을 하면서 흔히 말하는 꿈의 직장들인  마이크로소프트 본사, 구글 본사와 같은 가 본 경험을 가질 수 있었다. 특히나 LG전자에서 첫 해외 출장지였던 시애틀에서 짬을 내서 혼자 마이스로 소프트 본사를 쳐들어 간 경험은 신선한 충격으로 다가왔다. 그들이 어떻게 일하는지, 세계 최고라는 친구들은 어떤 모습을 하고 있는지 궁금해서였다. 지도를 펼치고 방문객을 위한 센터를 쳐들어갔는데 그걸로 만족하지를 못했다. 사무실이 가보고 싶었다. 안 되는 영어로 미친척하고 XBOX를 하고 있는 MS 직원에게 사진을 찍어 달라고 부탁하고 사진을 찍어준 그 친구에게 말을 건넸다. (참고로 내 영어실력은 초등학생 수준이다.)나 한국에서 온 누구누구인고 어느 회사 다니는 최혁재라고 한다. 너 개발자냐? 나도 개발자인데 반갑다. 사무실 좀 구경시켜줄 수 있니? 그 친구는 시원하게 허락을 했고 MS의 역사와 문화, 자기 사무실 구경에 심지어 식당에서의 점심식사까지 대접해줬다. (자기가 개발자로서 MS를 선택한 이유와 백그라운드 설명하는데 MIT 박사였다. )<  XBOX 를 열심히 하고 있던 MS 직원 아니 MIT 박사님  >< XBOX><  MS의 창업멤버들 >그 뒤로도 시애틀로 출장 갔었고 내가 짬날 때마다 찾아간 곳은 마이크로소프트 본사, 스타벅스 본사, 보잉사 본사였다. (그러고 보면 나도 정상은 아니다.) 그러면서 많은 것들을 느끼고 간접적으로다가 좋은 회사라는 기준을 잡아가기 시작했다. 그 친구들의 이야기는 한결같았다. 정말 좋은 회사에서 내게 배움을 줄 수 있는 인재들과 함께 일한 하는 것이 나의  행복이라고. 그래서 스스로가 항상  실력을 쌓기 위해 노력을 게을리하지 않는다 였다.내 주변에서 역시도 실력 있는 친구들이 있었고, 이 친구들과 함께 선의의 경쟁을 하며 일한다면 정말 좋을 것 같다는 생각을 했었다. 한국의 회사들에 만연한 학연, 지연 그리고 흔히 말하는 정치질이 싫었고 실력으로 인정받고 정정당당하게 승부하고 결과를 인정하는 그런 합리적인 조직생활을 꿈에 그렸었다. 지금 내가 속한 조직에서는 내가 그럴 수 없다는 것을 알게 되는데 10년이라는 시간이 걸렸다. 꿈의 직장은 가보지 못했지만 나부터 시작해보면 어떨까? 였고 그렇게 창업을 결정했다. 그 시작은 힘들겠지만 개개인들이 실력을 쌓고 동료들과 함께 노력한다면 흔히들 말하는 꿈의 직장을 만들어 볼 수 있지 않을까?"꿈의 직장은 꿈에서나 나올 거 같은 훌륭한 실력이 있는 사람들한테만 주어지는 곳이다."3. 이끌던가 따르던가 비키던가 (미래)<  3가지 삶 중에 내가 마지막으로 선택한 삶은 이끄는 삶이였다. >나의 20대는 게임에 미쳐 PC방에서 2년간 숙식을 했었고, 스노보드에 빠져 12년 동안 매해 겨울마다 보드를 탔었다. 명품으로 꾸미며 된장질도 해봤고, 여자들도 만나볼 만큼 만났고, 강남 클럽, 나이트 죽돌이였던 나는 사회에서 바라는 삶이 아닌 허황되고, 한심하며, 노력하지 않는 비주류, 흔히들 말하는 바닥을 깔아주는 그런 비주류의 사람, 게다가 주어진 환경이나 사회에 불만을 가지기만 하고 노력하지 않는 사람. 당장의 쉬운 것, 좋은 것, 재미있는 것, 편한 것만을 추구하며 보낸 비키는 삶을 살았었다.직장 생활을 하면서 조금씩 철이 들어갔고 10년, 20년 뒤 내 미래에 대한 고민을 하기 시작했다. 조금은 나아졌지만 내 현실은 비키는 비주류의 삶에서 조금 나아진 따르는 삶이었다. 불합리한 부분에 수긍했으며, 아닌 것을 아니다 라고 말하지 못했다. 갑을병정이라는 우리 사회의 만연된 계급 아닌 계급을 맛보기도 했다. 노력하지 않고 평범하게 현실에만 안주하다가 시작된 나의 첫 사회생활은 흔히들 말하는 "을"로써 시작되었다. 첫회사가 LG전자의 외주 개발업무를 했었기 때문에 LG전자 사무실을 들어가서 개발 일을 하기도 했다. 그때 내 목에는 LG전자 사원증 대신 주황색의 외주업체 사원증이 걸려 있었다. 중요한 회의는 참석하지 못했고 그저 개발, 딱 개발일만 했다. 똑같이 일을 해도 나보다 높은 급여를 받고 좋은 대우를 받는 그 친구들을 보면서 나 스스로에 대한 현실에 불평, 불만을 늘여놓기만 했다. 내가 참여하고 고생한 프로젝트가 마무리되고 제품이 출시되어도 내가 다니는 회사의 제품은 아니었다. 그리고 다짐했다. 불평, 불만이 아니라 내가 그곳으로 올라가는 실력을 쌓아보자고.그렇게 시간이 흘러 중소기업을 거쳐 LG전자까지 들어갔다. 사람들은 내가 그냥? 운이 좋아서 이직을 잘했고 마지막에는 대기업에 들어간 줄 알지만 난 10년 동안 약 500번의 이력서를 썼고 100여 번의 면접을 봤다. 이력서를 고치고 다듬고, 경력을 쌓고 그만큼 노력했고 올라가고 싶었다. 대기업에 가고 많은 것들이 현실적으로 변했다. 높은 급여, 복리후생 사회적인 지위와 주변의 인정, 하물며 만나는 여자의 급 또한 달라졌다. 노력에 대한 보상은 그렇게 피부로 느껴졌다. 그렇게 대기업에서 4년이란 시간을 지내면서 많은 것들을 배웠다. 조직관리와 글로벌 프로젝트 그리고 훌륭한 동료들을 만나게 되었다. 들어오기 전에 불평불만을 했던 나 자신 스스로가 너무 초라했었구나 역시 그때 느꼈다. 내가 만난 동료들은 나와 비슷한 개발 실력만 가지고 있지 않았다. 개발도 잘하고 영어도 잘하고 조직관리 등 개발 외적인 부분인 조직에서 필요한 다른 부분의 실력 역시 뛰어났으며 내 회사 내제품이라는 애사심과 자부심까지 가지고 있었다.아직도 주변에 대기업 다니는 사람들을 보고 일도 못하는 게 연봉만 높다고 불평. 불만들 늘여 놓는 친구들이 많이 있다. 내가 경험한 그들은 실력 있고 그만한 대우를 받을만한 동료들이었다. 살인적인 업무강도와 성과를 내야만 하는 스트레스를 직접 겪어보지 않고 말하는 사람들을 보면 화가 나기까지 한다. 세상에 공짜는 없다. 그만큼 일을 하고 성과를 내기 때문에 그런 대우를 받는 것 아닐까?"나는 대기업은 체질에 안 맞아"라고 이야기를 하면서 다니는 회사의 연봉에 불만을 같은 건 합리적이지 않다. 높은 연봉을 받고 싶으면 대기업을 가면 되지 않는가. 그런데 대기업을 갈 노력과 실력이 되는지 정말 냉정하게 생각해보자. 그리고 창업을 준비한다면 바로 창업하지 말고 나는 꼭 대기업을 들어 가보라고 추천한다. 대기업을 들어가기 위해서 노력하는 모든 것들은 자산으로 남는다. 그리고 들어가서는 정말 많은 것들을 배우고 느낄 수 있고 훌륭한 동료들을 만날 수 있다. 나 역시도 창업 후 가장 도움이 되는 경험은 바로 대기업에서 경험했던 것들이었다.10년간의 직장 생활. 많은 것을 배운 경험은 소중한 자산이 되었지만 아직도 내 모습은 이끄는 삶이었다. 10년 뒤 20년 뒤 조직 내에서의 내 모습은 내가 원하는 모습이 아니었다. 누리고 있던 모든 것을 내려놓는 것은 쉽지 않았다. 하지만 내가 선택한 창업이란 길은 내가 원하는 이끄는 삶으로 가기 위한 가장 올바른 방법이라 생각했고 아직도 그때의 결정을 후회하지 않는다.#스푼 #Spoon #창업자 #스타트업 #스타트업창업 #초기창업 #고민 #스타트업문화 #인사이트
조회수 669

오픈서베이가 구성원과 함께하는 방식, 병특 Z세대에게 묻다

끊임없는 자기 계발과 성장 욕구는 Z세대의 특징이라고들 합니다. 약관 20세에 병역특례로 입사해 2년째 오픈서베이의 Z세대를 대표하는 김승엽 웹 프론트엔드 개발자(이하 레드)도 그렇습니다. ‘나이에 비해 잘한다’는 ‘아직 잘 못 한다’는 뜻이라며, 달콤한 퇴근 후 시간을 방통대 강의와 과제에 투자하고 있죠.  원동력이 무엇인지 물으니, 그도 얼마 전까지는 게으른 집고양이처럼 사는 게 꿈이었다고 합니다. 직원들을 진정으로 위하는 회사의 모습과 형·누나·아빠뻘의 구성원과 일하며 받은 좋은 자극 덕에 향상심이 자라났다고 하죠. Z세대의 마음을 울린 회사의 모습은 무엇일까요?       오픈서베이 김승엽(레드) 웹 프론트엔드 개발자   레드, 안녕하세요!  안녕하세요. 오픈서베이 웹 프론트엔드 개발을 담당하는 레드입니다. 오픈서베이 DIY 리뉴얼, 랜딩페이지 등 오픈서베이의 각종 웹페이지 개발을 맡고 있습니다. 오픈서베이에서 병역특례 복무 중이기도 하고요(웃음).   2년 전 스무살 나이로 입사했는데, 실은 오픈서베이도 2번째 회사라면서요. 맞아요. 고등학생 때 바로 취업을 했거든요. 특성화 고등학교에 다니면서 프로그래밍을 배웠어요. 배우다 보니 재미가 붙어서 친구들이랑 프로젝트도 해보고 교내 대회에도 나갔고요. 그때 대학교에 진학하기 보다는 빨리 취업해서 실무에서 배우고 성장하는 게 더 좋을 것 같다고 생각했던 것 같아요. 또 저희 학교 특성 상 졸업 전에 다양한 회사에서 구인 행사를 하러 와요. 전 그때 한 스타트업에서 병역특례 지원 해준다는 말만 듣고 멋모르고 첫 취업을 했어요. 아직 병특 지정 업체도 아니었는데, 입사만 하면 병특 업체 지원 해준다는 말만 믿고 순진했었죠.  그렇게 멋모르고 1년 정도 다녔더니 대표님이 병특 업체 선정 안 됐는데 더 신청한다고 될지 모르겠다고 하더라고요. 군대는 각자 일이니 스스로 해결 방법을 찾으라면서요. 그때 회사가 말하는 성장에 대한 비전이나 직원과의 약속이 현실성 없는 허황된 말이라고 생각했던 것 같아요. 그렇게 첫 회사에 실망해서 이직한 곳이 오픈서베이입니다.    첫 회사에서의 경험으로 이직 시 고려요소가 좀 달라졌나요? 조건이 까다로워졌다기보다는 회사에 바라는 게 줄었어요. 그냥 내가 다니는 동안 배울 게 있는 회사였으면 좋겠다는 생각만 있었어요. 병특 지원이 급했을 때라 더 그랬던 것도 같아요(웃음). 그런데 오픈서베이를 다니면서는 좋은 회사에 대한 생각이 또 조금씩 달라졌어요. 예전에는 천국 같은 회사에 대한 환상이 있었는데, 지금은 회사는 천국일 수 없다고 생각하는 편이거든요. 일을 하는 곳이 천국 같을 순 없으니까요.   그럼 정말 현실적으로 좋은 회사가 뭘까 생각해보게 되겠군요. 맞아요. 저는 열심히 살아야겠다는 생각이 들게 하는 회사가 좋은 회사라고 생각해요. 그런 면에서 오픈서베이는 정말 좋은 회사 같아요. 제가 계속 더 잘해야겠다는 자극을 받게 하거든요. 특히 함께 일하는 팀원들에게 긍정적인 자극을 많이 받는 편인 것 같아요.  조셉(김경만 안드로이드 개발자 겸 오베이 PM)이 입사하신 지 얼마 안 돼서 개발팀 세미나를 했을 때가 처음으로 충격을 받았어요. 저는 주제와 내용 자체가 어려워서 이해하기 힘들었는데 그걸 다 소화해서 발표하는 모습을 보면서 경각심이 생기더라고요.   조셉은 어떤 주제로 개발팀 세미나를 했을까요? (클릭)   아무래도 완전 경력자보다는 비슷한 또래나 경력을 가진 분들에게서 더 자극을 받나 보군요. 저는 그런 것 같아요. 그래서 로빈(권장호 개발자)이 입사했을 때는 진짜 충격이었어요. 저보다 어리고 경력도 짧은데 일을 대하는 태도나 적극성이 저랑 많이 달랐어요. 일하는 시간 외에도 시간 내서 꾸준히 개발 공부나 블로그를 하는 모습을 보면서, 저도 열심히 해야겠다는 생각이 들더라고요.  그전까지는 좀 안주하려는 면이 있었어요. 왜 그러냐면 저는 저보다 나이나 경력이 많은 분들이랑만 일해왔잖아요. 그러다 보니 칭찬도 “나이에 비해 잘한다”는 말을 주로 들었어요. 사실 그게 “아직 잘은 못한다”는 뜻이잖아요. 그걸 모르고 그냥 내가 잘하고 있구나 하면서 안도해왔던 것 같아요.  그런데 아직 어리다는 장점은 시간이 지날수록 약해지잖아요. 이른 나이에 빠르게 일을 시작했다는 저만의 장점을 계속 가지고 있으려면 지금 상황에 만족하는 게 아니라 계속 노력해야 한다는 걸 깨달은 것 같아요. 개발자를 하루 이틀 하다가 때려치울 것도 아니고 남들보다 빨리 실전에 뛰어든 만큼 이론적으로 부족한 것도 많으니 더 공부해야 한다는 거죠.    “일을 일찍 시작했다는 장점을 유지하려면  지금 상황에 만족하지 않고 계속 노력해야 돼요”   그런데 열심히 해보려고 해도 뭘 해야 할지, 어떤 공부를 어떻게 하면 좋을지 막막할 때도 있잖아요. 전 직장이었다면 그랬을 것 같아요. 그런데 개발팀원은 모두 저보다 개발 경력이나 사회 경험도 많고 언제든 조언해줄 마음이 열려있는 분들이라 도움을 받고 있어요. 특히 폴(이건노 CTO)은 주니어 개발자들과 1:1 미팅을 자주 가지면서 도움 되는 조언을 많이 해줘요.  한번은 폴이 제 개발자 커리어에 대한 조언을 해주셨어요. 저는 프론트엔드 개발자라면 프론트엔드만 전문적으로 파면된다고 생각했거든요. 그런데 백엔드 등 다른 개발 분야도 1단계 정도는 공부를 해둬야 지반이 탄탄한 프론트엔드 개발자가 될 수 있다는 조언을 해주셨어요. 그 조언이 지금도 기억에 많이 남아요. 왜냐면 지금 당장 해야 하는 프로젝트 단위가 아니라 제 인생 관점에서 조언을 해주신 거잖아요. 사실 폴은 CTO고 저는 직원이니까 조언도 업무 코치 위주로만 해줄 수도 있는 건데요. 이렇게 저보다 10, 20년 넘는 경력을 가진 분이 제 개발자 인생에 대해 해주는 조언은 어디서도 듣기 힘들잖아요.    그렇죠. 멘토가 중요하다고는 하는데, 20대 초반의 멘토는 보통 책이나 TV같이 멀리서만 접할 수 있는 인물이잖아요. 좋은 멘토는 많지만 나를 위한 조언이 아닐 때는 공허하게 들리기도 하고요.  맞아요. 저도 지금 이 시기에 바로 옆에서 조언해줄 수 있는 분이 있다는 건 정말 좋은 것 같아요. 그런 폴 덕에 개발팀은 시켜서 하기보다 자기 주도적으로 일할 수 있는 환경과 문화가 잘 갖춰진 것 같아요.  매주 진행하는 개발팀 업무 공유 회의 때도 단계나 일정에 대한 틀을 잡아주는 역할에 집중하는 편이세요. 위에서 “이거 해, 저거 해”라고 콕 집어서 마이크로 매니징을 하는 게 아니라, 프로젝트 단위로 자발적으로 구성원이 꾸려져서 진행해 나가는 게 오픈서베이의 업무 문화인 것 같아요.  그런 문화다 보니까 저도 시키는 일만 하는데 그치지 않고 다양한 시각에서 프로젝트를 바라보면서 의견도 많이 낼 수 있는 것 같아요. 구성원들이 제 의견을 경청해주고 수용해주면 ‘내가 프로젝트에 직접적으로 기여하고 있구나’란 생각이 들면 책임감도 더 생기는 것 같아요.    “내가 프로젝트에 기여하고 있다는 생각이 들면 더 책임감을 가지면서 일할 수 있어요”   그런 긍정적인 자극이 실제 업무 능력 향상으로도 이어지는 편인가요?  네. 저는 기술적인 면에서도 많이 성장하고 있다고 생각해요. 유지보수하기 수월한 깔끔한 코드를 짜는 능력도 예전보다 많이 향상됐고, 주어진 시간 내 일을 더 빨리 효율적으로 마칠 수 있는 생산성도 많이 올랐다고 생각해요. 저는 야근 없이 깔끔하게 일을 끝내는 게 일을 잘하는 거라고 생각해서요(웃음).   와! 그럼 레드가 배운 일 잘하는 방법 하나만 알려주세요.  저는 ‘똑똑하게 질문하기’라고 생각해요. 질문사항에 대해 충분히 고민해본 뒤 물어봐야 한다는 걸 알았어요. 사실 주니어 때 가장 많이 하는 고민이 ‘어떻게 해야 좋은 질문을 할 수 있을까’ 잖아요. 회사에서는 모르면 물어보라고 하는데 그냥 물어보면 혼날 때도 있으니까요. 그런데 질문거리에 대해 제가 충분히 소화를 못 하면 어디에서 어려움을 겪고 있고 그래서 어떤 도움이 필요한지 질문을 받은 분도 몰라요. 질문이란 건 제 업무를 위해 다른 분의 업무 시간을 빌리는 건데, 정확히 질문하지 못하면 질문한 사람이나 받은 사람의 시간을 그만큼 허비하는 거니까요.  이걸 알고 난 뒤 충분히 고민하고 물어보기 시작했더니 신기하게도 질문을 받은 분의 답변도 달라졌어요. 제가 테리(이한별 개발자)에게 질문을 많이 하는 편인데, “이렇게 해라, 저렇게 해라”는 단편적인 답변이 아니라 “이건 이래서 이렇고, 저건 저래서 저렇다. 그래서 이럴 땐 이걸 써야 하고, 저럴 땐 저걸 써야 한다”는 맥락적인 답변을 해줘요.  테리가 좋은 분이라 답변을 잘 해주시는 것도 있지만 제가 질문거리에 대해 충분히 고민해서 알고 있으니까 구체적으로 대답해줄 수 있는 거라고 생각해요. 이런 좋은 답변으로 과정을 충분히 알면 질문을 반복하거나, 다른 분의 질문에 불필요한 시간 낭비를 하지 않고 답할 수 있게 되는 것 같아요. 나중에 비슷한 상황이 오면 제가 스스로 문제를 해결할 수 있게 되고요.   주니어에게 꼭 필요한 팁이네요! 고맙습니다. 최근에는 방송통신대학교에 진학했다고 들었어요.  맞아요(웃음). 사실 방통대 진학도 로빈의 영향이 컸어요. 안 그래도 최근에 개발 이론 공부를 따로 해보자고 생각하던 차였어요. 그런데 로빈이 방통대 진학을 하면서 같이 해보자고 해서 이참에 도전했죠. 마음만 먹고 있다가 로빈 덕에 실행할 수 있었던 거에요. 요즘은 일을 마치면 방통대 강의를 듣거나 과제를 하는 데 시간을 보내고 있어요.     “이론 공부는 마음만 먹고 있다가 로빈 덕에 실행할 수 있었어요” (레드 옆에 노란옷을 입고 앉아 있는 분이 로빈입니다)   와.. 그럼 일과가 어떻게 되는 거예요?  오픈서베이 병특은 출퇴근 시간이 기본 10시 출근-7시 퇴근인데, 경우에 따라 신청해서 9시-6시로 변경할 수 있어요. 저는 방통대 다니면서부터 9시로 출근 시간을 조정했어요. 출근이 늦으면 그만큼 퇴근도 늦어지니 저녁 시간을 충분히 활용하지 못하겠더라고요.  하루일과는 9시까지 출근해서 우다다 일하고 점심 먹고 일하다가 6시에 칼같이 퇴근해요. 집에 가서는 씻고 밥 먹고 강의를 듣거나 과제를 하죠. 최근에는 저녁 필라테스를 시작해서 평일 저녁 중 이틀은 필라테스를 하러 가요. 주말에 좀 쉬고요(웃음).   조바심이 든다고 다 열심히 할 수 있는 건 아닌데, 남다른 원동력의 배경이 궁금하네요.  저도 진짜 빡센 것 같고 가끔 힘도 들어요. 그런데 다른 회사에서 병특 중인 주변분들 보면 운영보수 위주의 반복적인 업무만 하거나, 병특이라 쉽게 이직할 수 없으니 업무를 과다하게 몰아주는 경우도 보곤 해요.  제가 주어진 업무 시간에만 집중하고 퇴근 후 시간을 자기 계발을 위해 쓸 수 있다는 건 쉽게 얻기 힘든 기회일 수도 있는 거죠. 성장을 위한 중요한 시기에 주어진 기회라고 생각하면 열심히 할 수 있게 되는 것 같아요. 저보다 더 열심히 하는 다른 구성원을 보면서 자극을 받는 것도 물론 있고요.   산업기능·전문연구요원으로  오픈서베이에 지원하고 싶다면? (클릭)   자기개발에 매진하면 회사 생활에 소홀해질 것도 같은데.  음. 회사에서 성취가 없다는 생각이 들면 그럴 수 있겠네요. 그런데 오픈서베이는 반기마다 전사 회의를 통해 하이(황희영 대표이사)가 회사 성장에 대해 공유해주잖아요. 이 시간은 단순히 오픈서베이 매출 성장 공유가 아니라 제 기여가 회사에 어떤 도움이 됐는지, 이를 바탕으로 회사가 얼마나 성장하고 있는지를 점검하는 과정이라고 생각해요.  개인적으로는 투자 받은 돈 까먹는 스타트업이 아니라 우리 서비스와 구성원의 노력으로 흑자를 기록하고 매번 매출 성장을 하고 있다는 점도 저한테는 큰 보람이고 성취거든요. 실질적인 매출이 있고, 고객사가 계속 늘고, 매출 성장도 계속 일어난다는 이야기를 들으면 진짜 회사다운 회사라는 생각이 들고 성취감이 느껴져요.   6월에 강남역 1분 컷 초역세권 사무실로 이사도 가고! (웃음) 그것도 좋은데 사실 저는 하와이 간다고 했을 때 진짜 신났어요(웃음).  사실 전사 하와이 워크샵은 18년 목표 공약이라서 가는 거잖아요. 회사가 진짜 할 수 있는 목표를 잡아서 노력하고 목표 달성을 했을 때 약속을 지키는 모습을 보면서 되게 멋지다는 생각을 했어요. 좋은 회사와 좋은 어른의 모습은 이런 건가 싶고, 이런 모습을 보면서 저도 더 성장해야겠다고 생각하는 것 같아요.      “레드와 함께 일하고 싶으시다면 지금 바로 오픈서베이 입사 지원을 해보세요”
조회수 1953

믿고 보는 데일리 트루어워즈

데일리 트루어워즈란?데일리호텔 300만 고객의 150만 개 '트루리뷰'로 선정한 2017년 데일리 고객에게 가장 사랑받은 스테이&고메 어워즈입니다.사실 예전부터 데일리에서 직접 스테이&고메를 선정하여 고객분들께 좀 더 보장된 서비스를 제공하고 싶었지만 최대한 투명하고 객관적이게 업장을 선정하고 싶다 보니 그 발판이 만들어지지 않았다고 판단되어 마음속에 묵혀놓은 캠페인이었죠. 하지만! 앞서 소개드렸듯이 데일리호텔 리뷰 노출이 가능해짐에 따라 직접 다녀온 고객들에 한한 100% 솔직한 후기를 바탕으로 어워즈를 선정할 수 있게 되었어요.그리고 데일리 트루어워즈를 널리 알리기 위해 온라인 콘텐츠는 물론이거니와 앱 내의 UI 적용, 업장에 세워질 오프라인 트로피 제작이 필요했습니다. 무형의 서비스를 유형으로 만들기 위한 과정이었죠.심볼 Symbol.제일 먼저 '데일리 트루어워즈'를 알릴 수 있는 시그니처 심볼을 제작합니다. 심볼은 온라인 콘텐츠에는 물론 UI 같은 좁은 영역에도 사용되어야 했기 때문에 얼마만큼의 요소를 넣을 것이고, 축약을 한다면 어떤 요소를 덜어낼 것인지 고민해야 했습니다. 트립어드바이저 사례위 사례에서 볼 수 있듯이 실제로 사용되는 심볼은 따로 있으나 UI의 좁은 영역에는 축약형을 사용하는 형태를 띄어야 했죠.그리고 심볼이 상징적으로 표현해야 하는 요소가 무엇인지 정의하고 적용되는 온/오프라인 매체의 특성을 파악하여 쉐입을 반영합니다. 위와 같이 '데일리 트루어워즈'는 투명함, 소중함, 완벽함을 전달하고자 했고 그것을 표현하기 위해 '보석, 육각형' 즉, 데일리의 심볼로 어워즈 심볼형태를 제작해야겠다고 생각이 되었습니다.그리하여 많은 피드백과 수정 후 완성된 심볼! 이 심볼은 SNS 및 타 업장 오프라인 제작물로도 배포될 것이기 때문에 사용 규정 가이드도 함께 만들어줍니다.이제 남은 과제는 '이 형태를 UI 내에 어떻게 적용할 것인가'라는 것이었습니다. UI 적용.우선 '데일리 트루어워즈'는 마케팅팀에서 제안했고, 앞으로도 꾸준히 운영할 장기 서비스였기 때문에 마케팅적으로 필요로 하는 노출 위치, 노출 형태, 노출 워딩 등을 먼저 UI/UX 측에 요청했습니다.(보통 아이콘, 심볼 같은 요소는 Creative 디자인팀에서 진행하지만 UI에 적용될 시에는 UI에 맞는 레이아웃 및 UX가 필요하기 때문에 UI 디자인팀과 협업하여 진행합니다.)업장 리스트에서 보여지는 뱃지 요청 예시필터화면 요청 예시(좌) / 업장 상세화면 요청 예시(우)먼저 고객이 예약을 하는데에 있어 '데일리 트루어워즈'가 도움이 되어야 했기 때문에 예약을 하는 과정에 많이 노출이 되는 것을 바랐습니다. 하지만 이미 업장 리스트에는 호텔 등급, VR여부 표기, 만족도, 트루 리뷰 개수, 데일리 리워드 여부 뱃지, 좋아요 버튼이 노출되고 있었기 때문에 무엇을 추가하기에는 포화상태였죠. 해서 업장 상세화면에만 '데일리 트루어워즈'표기를 하기로 협의하게 됩니다.적용된 화면또한 원래는 UI에 '데일리 트루어워즈'심볼의 요소를 줄여 적용시키는 것을 생각하였으나 레이아웃 및 그룹핑 문제로 인해 위 이미지처럼 월계수 잎만 들어가게 됩니다. 대신 '월계수 잎은 데일리 트루어워즈다.'라는 것을 인지시키기 위해 워딩 옆에 '?' 아이콘을 추가하고 클릭 시 팝업의 형태로 풀버전 심볼과 간단한 설명이 나오도록 page를 추가합니다.적용된 화면또한 앱 내 더보기 탭에 '데일리 트루어워즈'를 설명하는 탭을 추가로 넣어줍니다. 언제든 유저들이 찾아볼 수 있도록요!트로피 Trophy.'데일리 트루어워즈'를 앱과 각 SNS 채널에 노출했다면 이제는 업장에 상을 부여하는 동시에 데일리호텔을 홍보할 수 있는 트로피 제작이 필요했습니다. 호텔 및 고메 업장에 놓일 것이기 때문에 업장주가 받았을 때 가치를 부여하고 로비에 놓고 싶을 만큼의 퀄리티가 필요했어요. 여러 레퍼런스와 시안들을 검토하고 최종으로 발주업체를 선택합니다. (기획자 더스틴의 피땀눈물)#데일리호텔 #데일리트루어워즈그리고 이렇게 스멀스멀 올라오고 있는 '데일리 트루어워즈' 인증샷에 뿌듯해합니다. 사실 개인 SNS에 올려주시는 것 까지는 생각하지 못했지만 꽤 많은 분들이 계속해서 인증샷을 올려주시고 계셔서 뿌듯하네요.(ㅎㅎ)데일리 트루어워즈 2019를기약하며.데일리 트루어워즈 2018은 1/10부터 2/28까지 약 한 달 보름 정도 홈 배너에 노출이 되었습니다. 그리고 고생한 만큼의 성공적 성과를 가져왔습니다. 트루 리뷰를 통해 투명하고 합리적인 업장들을 고객에게 소개하는 동시에 업장 측에도 어워드라는 좋은 경험을 안겨드린 것 같아 좋은 경험이었다고 생각합니다. 이번해에는 어떤 스테이와 고메가 활약을 할지 궁금해지네요.그럼 내년에 '데일리 트루어워즈 2019'로 뵙겠습니다! :)기획/진행 : Creative팀작성자 : Creative팀 Blair Ahn#데일리 #데일리호텔 #디자인 #인사이트 #디자인후기 #일지
조회수 766

플로우 마케팅팀 재택근무 시행기(인터뷰)

#재택근무  #재택근무후기 #인터뷰 #협업툴 #기업문화 #조직문화안녕하세요 협업툴 플로우입니다.코로나19 사태와 함께 재택근무를 시행하는 기업들이 늘어나고 있습니다. 이미 회사 내 협업 도구가 구축되어 있던 기업들은 비상 재택근무 체제에도 큰 업무 공백 없이 원활한 소통을 이어가지만, 임시방편으로 '단톡방'으로 업무를 공유하는 경우 명확한 업무 보고의 기준이 없어 소통이 마비되거나, 과도하게 업무를 감시하는 수준에 이르는 등의 혼선을 겪고 있다고 합니다. 이에 플로우 직원들의 재택근무 방법이 다른 기업들에게 작게 나마 도움이 되길바라며 '솔직한 재택근무 시행기'를 들려드립니다. 팀마다 업무 속성이 다른 점을 고려하여 마케팅팀 > 고객지원팀 > 개발팀 > 디자인팀의 이야기를 순차적으로 업로드 하겠습니다. 플로우 재택근무 시행기 첫번째팀은 마케팅 팀의 장아람 담당자의 인터뷰입니다.Q. 간단한 본인 / 팀 소개A. 플로우 마케팅 팀 장아람 주임입니다. 마케팅 팀은 업무 특성상 수 많은 업무량 + 타팀 협의 / 대행사 핸들링 / 대표님 최종 컨펌.. 등, 그 어떤 팀보다 커뮤니케이션이 많이 필요합니다. 또한 마케팅은 답이 정해져 있지 않기 때문에 업무가 시행되는 과정 속에서도 중간 피드백 + 수정도 빈번합니다. 퍼포먼스 성과가 좋은 전략을 빠르게 업그레이드하여 성과를 키우고, 성과가 부진한 전략은 중단 결정 or 보완 전략이 필요하기 때문이죠. 최대한 업무 시간을 효율적으로 활용하여 어제보다 더 많은 도전을 하려고 노력하는 플로우 마케팅 팀 입니다.Q. 본인의 재택근무 환경을 소개 해 주세요.A. 재택근무 기간동안 친동생 보물 1호인 게이밍 컴퓨터 사용을 허락을 맡았습니다. (회사 노트북을 가져오긴 했지만) 이번 주는 포토샵 작업이 많은 것을 고려하여, 좀 더 사양이 좋은 데스크탑과 듀얼 모니터 사용이 적합하다고 판단했습니다. 다소 PC방 같은 분위기지만 게이밍 의자가 편해서 업무 집중에 큰 도움이 됐습니다.Q. 출/퇴근은 어떻게 체크 하나요?A. 경영 지원 팀에서 매일 아침 플로우로 [오늘의 출근 일정]게시물을 등록하여 줍니다. 각자 본인의 재택 근무지 에서 업무 준비가 완료되면 '실시간 업무 준비 사진'을 찍어서 인증샷을 남기고 있습니다. 회사까지 출근하는 이동 시간이 줄어드니 30분 정도 아침 뉴스 (코로나19 사태 현황)를 보다가 다른 직원들의 출근 알림을 확인하고 저도 업무 시작을 함께 했습니다.Q. 하루 업무 계획은 어떻게 하나요?A. 플로우 에서는 모든 업무의 [담당자/마감일]이 명확하게 지정되어 있습니다. 출근과 동시에 오늘까지 내가 마무리 해야 하는 업무를 필터링 하여 우선순위를 파악합니다. 플로우는 개인의 업무 뿐만 아니라 모든 직원들의 업무를 투명하게 확인 할 수 있습니다. 즉, 대표님도 팀원들도 저의 업무를 확인 할 수 있습니다. 몇 년전 협업툴이 없는 회사에서 근무했을 때는, 본부장님의 출장 기간 동안 엑셀로 업무 일지 작성하여 오전 / 오후에 보고하는 절차가 필요했는데.. 번거로운 보고 절차 없이도 투명하게 업무를 관리 할 수 있어서 좋았습니다.Q. 여러명이 참여하는 회의는 어떻게?A. ZOOM이라는 화상 회의 채널을 활용하였습니다. 상황 상 평소보다 회의가 빠르게 진행 되었습니다. 모니터에 바로 자료를 띄우고 팩트 중심으로 간략하게 주요 이슈만 공유 하였습니다. 사실 화상회의가 처음 이였던 저는 모니터 연결의 실패하여 얼굴을 비추지는 못했습니다. 저를 제외한 다른 분들은 스마트 하게 적응하여 차질 없이 회의를 진행하였습니다. 잘 들린다는 사실을 알리고 싶어 무턱대고 헤드폰을 끼고 혼자 대답을 했습니다.Q. 오전시간 업무는?A. 오전에는 언제나 그러하듯 우선순위가 높은 업무 = (오늘까지 마감일을 절대 넘겨서는 안되는 업무)를 우선적으로 처리합니다. 내가 맡은 '업무에 대한 요건'들은 플로우에 명확하게 기록되어 있어서 혼선 없이 수월하게 업무를 진행 할 수 있었습니다. 업무를 진행하는 과정에서 질문이 있거나, 사소하게 업무 방향이 변경되는 경우가 있어 '실시간 채팅'으로 소통하였습니다. 재택근무 기간에는 가급적 더 빨리 회신을 하기로 약속을 했기 때문에 오전에 진행했던 간단한 업무 소통에는 전혀 문제가 없었습니다.Q. 점심시간은 어떻게 보냈나요?A. 전 날 저녁에 미리 점심을 준비 해 놨습니다.(원래도 저와 동생의 건강을 위해! 주 3일 이상 퇴근 후 요리를 해서 건강한 아침을 챙겨 먹고 있습니다.) 코로나19 사태에 대비하기 위해서는 개인의 위생/컨디션 관리가 가장 중요하다고 생각합니다.Q. 점심시간 후 오후 업무 복귀에 어려움은 없었는지?A. 원래 플로우는 점심시간이 자유롭습니다. 때문에 내가 정한 점심시간에 충분히 휴식을 취하고 오후 시간에 리스타트 하고 있습니다. 재택근무라고 해서 특별히 점심시간에 늘어지진 않았습니다. (각자의 점심시간이 다르기 때문에) 내가 점심 시간을 보내고 있는 틈틈이 실시간 업무 알람이 왔고, 느낌 상 다들 꽉 채운 점심시간을 보내는 것이 아니라 신속히 업무 마무리를 하고 싶어 빨리 복귀를 하는 듯 보였습니다. 오후 1시 30분 쯤에는 모두 열일하는 분위기가 시작되어 저도 평소와 같이 오후 업무를 시작했습니다.Q. 업무 소통에 어려움은 없었나?A. 상황에 따라 커뮤니케이션 방법을 달리했습니다. 글로 요건을 정리 할 수 있는 업무는 플로우로 업무 요청을 했습니다. 약속된 업무 요건 외 좀 더 다양한 의견이 필요한 경우에는 실시간으로 채팅을 주고 받았습니다. 중간에 좀 더 빠른 회신이 필요한 경우 전화를 했고, 전화는 거의 5분 내로 끊었습니다. 하루의 업무 소통의 방식의 비율을 표시한다면 아래와 같습니다.* 재택근무 중 업무 소통 비중- 플로우 : 업무 요청 (70%)- 플로우 : 실시간 채팅 (20%)- 전화 (10%)Q. 전화는 어떤 경우에 필요 했는가?A. 아무리 협업툴이 시/공간의 제약을 넘어 소통을 원활하게 도와주더라도 상황에 따라 분명 비 언어적 커뮤니케이션도 필요했습니다. 대표님께서 아주 중요하다고 강조했던 마케팅 콘텐츠를 기.깔.나.게. 살리지 못하여.. 대표님의 사랑을 독차지 하게 되었습니다. ( 어찌 보면 근무 시간이라 너무나 당연히 필요한 업무 피드백인데 집에서 전화로 피드백을 받으니 막 반갑거나 막 좋거나 그렇지 않았습니다. ㅎ )Q. 퇴근까지 업무 집중이 잘 되었는가?A. 평소와 비교 했을 때 업무 집중 오히려 더 잘 됐습니다. 개인마다 재택근무 환경이 다르겠지만 저는 동생이 출근을하고 완전히 혼자 집에서 일을 한 덕분에 타인 or 외부 영향을 받지 않고 온전히 개인 업무에 몰두 할 수 있었습니다. ( 평소에는 가끔 회사 분위기에 따라 집중이 흐려질 때도 있었던 것 같습니다. ) 재택근무 기간에 절대로 업무 공백이 없어야 한다는 심리적 책임감과 약간의 부담감이 있었기에 마감일에 맞춰 더 철저하게 업무를 진행 했습니다.Q. 짝짝! 모든 업무가 마무리 되었습니다.퇴근 후 업무 보고 절차는?A. 실시간으로 모든 업무 처리 상태가 알림으로 뜨기 때문에 평소에 플로우 마케팅팀은 퇴근 시간에 따로 업무 보고 절차가 없습니다. 다만 재택근무 기간에는 평소보다 좀 더 철저하게 업무 보고를 하고 싶어서 [ 할 일 ] 체크 리스트 기능을 활용하여 직관적으로 보고를 했습니다. 업무 계획 100% 수행. 이로써 퇴근 완료!Q. 플로우 활용 재택근무 (마케팅팀 장아람 마지막) 총평A."어디서 일하느냐" 보다 "어떻게 효율적으로 일하느냐"가 중요하다.Good (+) 내 스스로 업무 시간을 통제하지 못하고 업무에 집중하지 못하는 시간이 생기지 않을까? 고민과 달리 오히려 외부 환경에 영향을 받지 않으니 업무 집중이 더 잘 됐다. 또한 플로우를 활용한다면 담당자와 / 마감일이 명확하고 실시간 업무 처리 알림이 뜨기 때문에 장기간 재택근무를 하더라도 업무 리듬이 쉽게 깨지지 않을 것 같다. 팀 커뮤니케이션은 상황에 따라 다르겠지만 현재로서는 큰 무리가 없었다. 결과적으로 업무의 만족도는 평소와 비슷하게 잘 유지 될 수 있었다. 무엇보다 '코로나19'로 부터 나를 아주 안전하게 지킬 수 있었다는 점은 매우 높은 점수를 줄 수 있다.Bad (-) 사람과 사람의 관계가 중요한 나로써는 유대감(친밀감)이 거의 느껴지지 않아서 장기간 혼자 일을 해야 한다면 일의 흥미가 떨어지거나 외로울 수도 있을 거라는 생각이 들었다. 빨리 코로나가 종식되어 모두 한 공간에서 서로 에너지를 부딪히면서 일하고 싶다. 평소 같았으면 대표님과 피드백을 주고 받으며 일을 발전시키는 재미가 있었는데 집에서 전화로 피드백을 받으니 왠지 모르게 전혀 반갑지 않았다. 마지막까지 걸려온.. 대표님의 피드백 전화.. (내겐 너무 완벽한 당신...) 어쨌든 오늘 하루도 잘 마무리 됐다고 한다. 이상. 플로우 마케팅 팀 재택근무 시행기 끝!협업툴 플로우 바로가기
조회수 1250

자유로운 영혼을 가진 잔디 PM(Product Manager) , Jay를 만나다

[맛있는 인터뷰] 자유로운 영혼을 가진 잔디 PM(Product Manager), Jay를 만나다                    인터뷰 욕구를 자극하는 Jay의 자세. 일반인의 그 것과 다르다.       누군가를 고통으로부터 해방시켜 줄 수 있다는 것은  정말 좋은 거잖아요.       잔디를 통해서 누군가의 고통이 사라졌으면 좋겠어요.        – Jay, 잔디 PM(Product Manager)편집자 주: 잔디에는 현재 40명 가까운 구성원들이 일본, 대만, 한국 오피스에서 일하고 있습니다. 국적, 학력, 경험이 모두 다른 멤버들. 이들이 어떤 스토리를 갖고 잔디에 합류했는지, 잔디에서 무슨 일을 하고 있는지 궁금해 하시는 분들이 많았습니다. 이에 잔디 블로그에서는 매주 1회 ‘맛있는 인터뷰’라는 인터뷰 시리즈로 기업용 사내 메신저 ‘잔디’를 만드는 사람들의 이야기를 다루고자 합니다. 인터뷰는 매주 선정된 인터뷰어와 인터뷰이가 1시간 동안 점심을 함께 하며 다양한 이야기를 나누며 진행됩니다. 인터뷰이에 대해 궁금한 점은 댓글 혹은 이메일([email protected])을 통해 문의 부탁드립니다.오늘 저희가 먹게 될 ‘맛있는 점심’은 무엇인가요?사진 잘 나오는 곳으로 가도 될까요?(웃음) 테라스가 있는 곳으로 가고 싶은데… 맛은 모르겠지만 서브웨이 샌드위치 먹으며 공원에서 얘기하면 어떨까요?자기소개 부탁 드려요.안녕하세요? 평생 여행만 하다가 여행지에서 죽을 줄 알았던 Jay입니다. 대학교 때 사회학을 전공하다가 우연히 아는 형의 IT회사에서 PM일을 시작했어요. 그러다 보니 자연스레 지금까지 PM일을 하고 있습니다.PM(Product Manager)은 어떤 일을 하는거예요?기획 업무는 서비스의 새로운 기능이나 피처(feature)가 생기면, 기능이 어떻게 작동할지 혹은 어떤 방식으로 구현될지 와이어 프레임을 그리거나 기능 요구 사항들을 정리하는 일을 해요. 다양한 일을 두서없이 해내는 것이 바로 PM의 역할이라고 생각해요. 혼돈 속에서  나름의 질서를 잡아가는 역할이죠.다양한 일을 두서없이?PM 업무 자체가 A to Z까지 크고 작은 일을 처리해야 하는 경우가 많아요. 마케팅 문구가 필요한 데 없으면 만들어야 하고 이미지가 빠져 있으면 포토샵으로 제작해 넣거나, 간단한 코딩 업무를 해야 하는 상황이 있기도 해요.                                              매의 눈으로 업무 중인 JayPM 업무를 하려면 디테일해야 할 것 같아요.사실 PM의 가장 중요한 자질 중 하나가 세심함이라고 생각해요. 사실 저도 디테일에 강한 사람은 아니었지만 지금은 작은 부분까지 챙기려 노력하는 편이고, 또 그렇게 되어가는 것 같아요. 아주 사소한 실수 하나가 제품의 퀄리티를 좌지우지 할 수 있으니까요.사회학을 전공하셨다 하셨는데, 어떻게 기획 일을 시작하게 되셨는지 좀 더 말씀해주시겠어요?아까도 말씀드린 것처럼, 우연히 아는 형의 회사에 들어가 기획일을 하기 시작했어요. 이쪽 일을 하다 보니  PM 업무가 장인 정신이 필요하구나를 느꼈는데요. 제품의 크고 작은 부분까지 직접 챙겨가며 만들어 낸다는 사실이 참 좋았어요. 우연한 기회 덕분에 PM 업무를 알게 되었고, 이렇게 잔디에서도 같은 업무를 하고 있습니다.잔디는 어떻게 합류하게 되셨나요?가끔 잔디를 도와주시는 스포카의 CEO 손성훈님의 소개로 알게 되었어요. YB(잔디의 COO)를 비롯한 경영진을 만나고 난 후, 두 달여간 고심한 끝에 합류하기로 결정했습니다. YB는 특유의 젠틀함뿐만 아니라,  “내가 이 사람에게 신뢰를 얻기 위해 노력하고 싶다”는 생각을 하게 만드는 매력을 갖고 있어요. 이런 요소들이 잔디에 들어오게 된 결정적인 계기가 된 것 같아요.잔디에서의 생활은 만족하시나요?교과서적인 대답이 될 수도 있지만 굉장히 만족하고 있어요. 잔디를 구성하고 있는 팀원들이 정말 좋아요. 구성원 모두 제품을 더 좋게 만들고 싶다는 뚜렷한 목표를 가지고 있어요. 그 목표 달성하기 위해 각자 맡은 포지션에서 열심히 하고 있고, 이런 점이 잔디에서의 생활에 크게 만족하는 이유 중 하나에요.조금 더 자세히 말씀해 주시겠어요?예를 들면, 어떤 기능을 추가하는 데 있어 각자의 시각이 다를 수 있잖아요? A라는 기능에 대해 ‘더 보기 좋아서’, ‘사용하기 편해서’, 혹은 ‘더 프로페셔널 하기 때문에’ 라는 다양한 시각이 존재하는 것처럼요. 이유는 다르지만 제품을 더 좋게 만들겠다는 궁극적인 목표가 일치하기 때문에 모두가 같은 방향을 향해 나아가는 거죠. 그런 점이 정말 좋아요.                                                  잔디 멤버 단체샷혹시 회사에 하고 싶은 말이 있다면?함께 공부하는 문화가 생기면 좋을 것 같아요. 훌륭한 분들이 많이 계신 만큼 서로 가지고 있는 지식과 경험을 공유하거나 관련 케이스를 공부할 수 있는 기회가 있으면 좋겠어요.본인에게 가장 인상 깊은 혹은 가장 즐거운 잔디만의 문화가 있다면?Respect! 많은 스타트업들처럼 잔디에도 자유로움, 유연함, 젊음 등이 있지만 잔디의 가장 인상 깊은 키워드를 꼽으라면 ‘존중’을 말하고 싶어요.‘Respect’를 꼽은 이유가 무엇인가요?제품에 대한 욕심으로 논쟁 중 서로에게 상처가 되는 말을 여과 없이 하는 걸 많이 봐왔는데요. 아무리 백만불짜리 아이디어를 가지고 있다고 해도, 아이디어 자체만으론 10원의 가치도 없다고 생각해요. 그 아이디어를 구체화 시키는 건 혼자선 불가능하고, 결국 팀워크가 중요해요. 좋은 팀워크를 위해서는 서로를 존중하는 문화가 있어야 한다고 생각합니다.그렇다면 제품에 대한 질문을 한가지 드릴게요. 본인이 만들고 싶은 ‘잔디’는 어떤 모습인가요?잔디를 통해 누군가의 고통이 사라졌으면 좋겠어요. 시장이 존재한다는 것은 달리 말하면 누군가는 불편함을 겪고 있고 이를 해결하기 위한 서비스를 찾고 있다는 걸 의미해요. 이 시장에서 누군가의 고통이나 고민을 해결할 수 있다는 건 꽤 의미 있는 일이 아닐까요? 그게 제가 잔디에서 하고 있는 일의 핵심이기도 하구요.인터뷰 미리 준비하셨나요? 답변이 참 매끄럽네요. 쉬는 날엔 주로 어떤 걸 하세요?맥주를 즐겨 마셔서 주로 맥주 많이 마시고요, 전자음악도 좋아해요. 전자음악을 즐기는 친구들과 가끔 공연을 가기도 해요. 고등학교 때는 잠시 밴드를 한 적도 있었는데, 요즘엔 밴드 음악은 즐겨 듣진 않아요.전자음악을 좋아하시면 직접 만들기도 하세요?Mixing은 해요. 뭐, 프로듀싱까지는 못하고요. 그냥 이것저것 모아서 섞는 정도라고 해야 할까요. 그런 정도는 해요.                              ‘팔방미인’이란 단어는 이럴 때 쓰는 거라고 배웠다.굉장히 다양한 관심사를 가지셨네요.사실 영상 쪽에도 관심이 많아서 After Effects라는 프로그램을 이용해 종종 작업을 하기도 했어요. 포스트 디자인도 해보고, 연극 티저도 만들어보곤 했구요. 기회가 닿아 무대 영상 작업도 해보았어요. 이렇게 여러 가지 일들을 하다 보니 각각에 필요한 일러스트레이터나 포토샵을 배우기도 했고요.무대 영상이라면 어떤 거에요?요즘엔 흔하지만 연극 배경 대신에 프로젝션으로 무대 분위기를 만들어 낸다거나, 소품을 프로젝션으로 구현한다거나 하는 것도 해보고요.여행을 좋아하시는 것 같아요.직장인 중에 여행 싫어하는 사람 어디 있겠어요? (하하) 여행을 하면 스스로가 좋은 사람이 되는 것 같아요. 낯선 곳에 가면 자의든 타의든 타인에게 친절해지고, 살아남기 위해 적극적이 되니까요. 그래서 여행을 하면 한 단계 더 발전하는 것 같아요.흥미로운 답변이네요.한번은 필리핀에 갔는데 도착하자마자 비가 오는 거예요. 숙소는 찾아야 하는데 지도는 젖어 있고 몸은 으슬으슬해서 엎친데 덮친격이었죠. 살아야겠단 생각에 이 사람 저 사람 붙잡고 도움을 청했는데요. 더 많이 웃게 되더라고요.가장 좋았던 여행지는 어디에요?남미 최남단에 있는 안데스 산맥의 빙산을 본 게 아직도 생생해요. 웬만한 빌딩 크기의 빙하가 무너지는 장면을 목격했는데 참 멋졌어요.                                      Jay가 카메라에 담은 안데스 산맥의 절경꿈이 있다면 혹시 말씀해주실 수 있을까요?좋아하는 것과 커리어 목적으로 추구하는 게 함께 갈 수 있으면 좋겠단 생각을 하곤 해요. 이를테면, 전 여행을 좋아하니 여행을 하며 동시에 일을 하는 거죠. 디지털노마드라고도 불리는데 요즘 이런 움직임이 많아서 관련 커뮤니티도 있더라구요.  동남아 같은 곳에서 일을 하며 동시에 여행하는 사람들을 가르켜  ‘디지털 히피’ 라고 부르기도 하더라구요.답변들이 깨알같이 알차네요. 마지막으로 다음 인터뷰이를 위한 질문 아이디어가 있다면?좋은 프로덕트란 무엇인지, 어떤 생각을 갖고 있는지 물어주셨으면 좋겠습니다.Jay와의 인터뷰는 베스킨라빈스의 슈팅스타맛 아이스크림 같았습니다. 톡톡 튀는 Jay의 자유분방함을 온몸으로 느낄 수 있었거든요. 다음 주 ‘맛있는 인터뷰’는 잔디의 안드로이드 개발자 Steave와 함께 할 예정입니다. 많은 기대 부탁 드려요!#토스랩 #잔디 #JANDI #PM #업무 #팀원소개 #팀원인터뷰 #팀원자랑 #기업문화 #조직문화 #사내문화 #존중 #respect
조회수 1992

Docker, NodeJS, Nginx! 너로 정했다!

편집자 주아래와 같이 용어를 표기하기로 저자와 협의함Docker, NodeJS, NginxOverview안녕하세요. 칼 같은 들여쓰기에 희열을 느끼는 브랜디 개발자 강원우입니다! 서버를 운영해본 개발자라면 Fatal 에러, 아웃오브메모리 에러, 또는 전날 흡수한 알코올로 인해 손을 떨다가 한 번쯤 서버를 요단강 너머로 보내봤을 겁니다. 만약 테스트 서버였다면 잠시 마음을 가다듬으면 되지만, 현재 상용 서비스 중인 서버라면 얘기는 달라집니다.님아, 그 강을 건너지 마오!이런 간담이 서늘해지는 경험은 저 하나로 족합니다. 그래서 고군분투했던 지난 날을 되돌아보면서 빠르고 안정적이며, 죽어도 죽지 않는 좀비 같은 서버 구축 방법을 쓰려고 합니다.준비물서비스를 운영할 때 가장 중요하게 여겨야 하는 건 역시 안정성입니다. 이번 글에서는 오래 전부터 개발 세계의 뜨거운 감자였던 Docker와, 단일 스레드와 이벤트 루프로 태생적으로 심플하고 민첩한 NodeJS, 마지막으로 고성능을 목표로 개발된 Nginx를 활용하겠습니다.1. DockerDocker는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 대표적으로 LXC(Linux Container)가 있습니다. 화물 컨테이너처럼 어떠한 일련의 기능을 완전히 격리된 소프트웨어 환경에서 작동하게 만드는 기술을 말합니다.OS 가상화와 별반 다를 게 없는 것 같지만 소프트웨어적으로 작동한다는 차이가 있습니다. 다시 말해, 현재 OS의 자원을 그대로 사용하기 때문에 하이퍼 바이저가 가상환경을 위해 가상의 커널을 만드는 오버헤드가 거의 없다는 것이죠.이미지와 속도도 차이를 보입니다. 완벽하게 구성한 세팅을 그대로 이미지화할 수 있고, 해당 이미지는 Docker 위에서 완벽히 동일하게 동작하는 걸 보장합니다. 해당 이미지로 컨테이너를 제작할 땐 1~2초면 새로운 컨테이너가 생겨날 정도로 엄청나게 빠른 속도도 자랑합니다. 1)또한 Docker는 자주 사용되는 다양한 이미지를 퍼블릭 레포지토리에 공유해 사용할 수 있기도 합니다. 양파도 아닌데 특징이 계속 나오죠? 다음 글에서 Docker의 특징을 더 자세히 다루겠습니다.Docker는 리눅스만 지원했었지만, 요즘은 Docker for Windows와 Docker for Mac으로 거의 모든 OS에서 사용할 수 있습니다. 2) Docker 설치 링크는 윈도우와 맥으로 나뉘어져 있습니다. 리눅스는 아래를 참고하세요.curl -fsSL https://get.docker.com/ | sudo sh 2. NodeJSNodeJS는 구글이 구글 크롬에 사용하려고 제작한 V8 오픈소스 자바스크립트 엔진을 기반으로 제작된 자바스크립트 런타임입니다. NodeJS에는 몇 가지 특징이 있습니다.단일 스레드입니다.비동기 방식입니다.이벤트 루프를 사용합니다NPM이라는 끝내주는 동반자가 있습니다.비유하자면 예전엔 낡은 곡괭이로 큰 돌을 캐내려고 수십 명의 인부가 달라 붙었는데, 지금은 육중한 포크래인으로 거대한 돌을 쑥! 뽑아버리는 것과 비슷합니다. 굉장히 효율적이죠. NodeJS는 단일 스레드의 장점을 극대화하려고 이벤트 루프를 통해 모든 처리를 비동기로 수행합니다. 서버 사이드의 묵직한 CPU들이 빠르게 일을 처리하고 이벤트 루프에 등록된 일을 감지해 다음 작업을 빠르게 수행하는 방식입니다.마지막으로 NPM(Node Package Manager)은 NodeJS에서 사용할 수 있는 다양한 모듈을 관리해주는 프로그램입니다. 도커와 상당히 유사합니다. NodeJS에서는 무언가 기능을 만들기 전에 NPM을 먼저 뒤져보라는 말이 있을 정도로 풍부한 모듈 생태계가 구성되어 있습니다. 이는 로깅이나 날짜 계산 등 생각보다 까다로운 것들을 가져다 사용할 수 있게 도와주기 때문에 개발이 빨라집니다. NodeJS 설치링크는 여기를 클릭하세요. 이 글의 예제에서는 NodeJS의 현재시점 LTS인 codename Carbon버젼을 사용합니다!8.x 버젼이 Active LTS 상태입니다.LTS은 Long Term Support의 약자로 가장 오랜기간 지원하는 버전입니다.우선 서비스 구성을 위해 간단한 NodeJS 어플리케이션을 작성해보겠습니다.첫째, packge.json를 작성합시다.{   "name": "nodejs_tutorial_server",   "version": "0.0.0",  "private": true,   "scripts": {     "start": "node nodejs_tutorial_server.js"   },   "description": "NodeJS Tutorial Server",   "author": {     "name": "WonwooKang"   },   "dependencies": {     "express": "^4.16.3",     "uuid": "^3.2.1"   } } nodejs_tutorial_server.js 파일을 메인으로 실행합니다. HTTP Request를 처리하려면 express를 사용해야 하며, 서버를 구분하려면 uuid모듈이 필요합니다.둘째, package.json의 의존 파일들을 설치합시다.npm install npm install 전npm install 후셋째, 간단한 웹 어플리케이션을 작성합시다.var express = require('express'); var app = express(); const port = 3000;  var server = app.listen(port, function () {     console.log("Express server has started on port : "+port);  });  app.get('/', function (req, res) {     res.send('Hello?');  }); 넷째, package.json의 script start 구문을 실행하여 서버를 로드합시다.npm start 3000번 포트로 서버가 시작되었습니다!접속해볼까요?잘 접속됩니다.그런데 수정할 때마다 서버를 매번 다시 띄우면 귀찮을 겁니다. 이럴 땐 nodemon 모듈을 사용합시다. nodemon은 Nodejs의 파일이 수정되는 걸 감지해 자동으로 리로드해주는 편리한 도구입니다.nodemon설치npm install nodemon -g package.json script 변경"scripts": {     "start": "nodemon nodejs_tutorial_server.js"   }, nodemon 실행확인을 위해 약갼의 수정//nodejs_tutorial_server.js 수정 app.get('/', function(req, res) {     res.send('Hello Nodemon');  }); nodemon을 통해 어플리케이션이 실행된 모습파일수정 후 저장했을 때 자동 감지한 모습서버 잘 떴습니다!성공적으로 단 하나의 GET 요청을 처리할 수 있는 심플한 NodeJS 기반 웹 어플리케이션을 완성했습니다. 이제 웹 어플리케이션을 Docker Container위에서 구동해봅시다!3. Docker로 NodeJS Express 서버 구동하기이제 Docker Container위에서 NodeJS서버를 구동할 건데요. 그러려면 우선 Dockerfile을 작성해야 합니다. 물론 Docker의 이미지를 당겨 받고, 컨테이너를 생성하고, 또 컨테이너를 실행해서 Attach하고, 필요한 파일들을 밀어넣는 등 귀찮은 방법도 있습니다. 하지만 개발자에게 이것은 힘든 작업이므로 Dockerfile을 적극 활용합시다. (Dockerfile의 D는 대문자여야 합니다! 꼭이요)Node 도커 이미지에 어플리케이션 파일을 추가해 실행하는 Dockerfile 작성하기FROM node:carbon MAINTAINER Wonwoo Kang [email protected] #app 폴더 만들기 - NodeJS 어플리케이션 폴더 RUN mkdir -p /app #winston 등을 사용할떄엔 log 폴더도 생성 #어플리케이션 폴더를 Workdir로 지정 - 서버가동용 WORKDIR /app #서버 파일 복사 ADD [어플리케이션파일 위치] [컨테이너내부의 어플리케이션 파일위치] #저는 Dockerfile과 서버파일이 같은위치에 있어서 ./입니다 ADD ./ /app #패키지파일들 받기 RUN npm install #배포버젼으로 설정 - 이 설정으로 환경을 나눌 수 있습니다. ENV NODE_ENV=production #서버실행 CMD node nodejs_tutorial_server.js Dockerfile 내용은 node:carbon에서 :carbon이 NodeJS의 이미지 버전 Tag 입니다.Dockerfile을 통해 docker image 빌드하기docker build –tag 레포지토리명: 태그 Dockerfile 경로docker build --tag node_server:0.0.1 [Dockerfile이 위치하는 경로] 호오... 게이지가 마구마구 차오르는군요?build가 완료된 화면입니다. Dockerfile의 내용 순서가 각 Step별로 진행된 것을 알 수 있습니다.빌드 결과 생성된 이미지 확인하기docker images 빌드 명령어에서 입력했던 버전 태그까지 잘 입력된 것을 알 수 있습니다.NodeJS Carbon 이미지를 기반으로 한 node_server 이미지를 제작했습니다. 사이즈는 둘이 합쳐 1Gb가 넘을 것 같지만 실제로는 변경된 부분만 저장됩니다. 그러므로 node_server 이미지의 크기는 6~10Mb 정도입니다.생성된 이미지로 컨테이너 만들기컨테이너 생성 명령어는 아래와 같습니다.docker create --name [서버명] -p [외부 포트:컨테이너 내부포트] [이미지명:버전태그] 주의할 점이 있습니다. 포트번호 바인딩 중 왼쪽은 우리가 접속할 실제 포트이고, 오른쪽은 컨테이너 내부의 NodeJS서버 할당 포트가 된다는 것입니다. 공유기의 포트포워딩 설정과 같습니다.docker create --name NODE_SERVER_0 -p 3000:3000 node_server:0.0.1 알 수 없는 코드가 생성되었습니다. 응?컨테이너 확인하기생성한 컨테이너를 확인해볼까요?docker ps 어.. 없잖아?옵션을 추가합니다.docker ps -a 나타났다!docker ps 명령어는 현재 실행 중(STATUS:Up)인 컨테이너의 목록을 보여줍니다. -a 옵션은 실행하지 않는 모든 컨테이너를 보여줍니다. 위의 이미지에서 node_server:0.0.1이미지로부터 NODE_SERVER_0 이라는 이름으로 2분 전에 생성되었다는 걸 알 수 있습니다. 3)컨테이너 실행하기docker start NODE_SERVER_0 다시 확인하기docker ps 19초 전에 Up상태가 되었다는 걸 알 수 있다.외부 3000번 포트 -> 내부 3000번 포트로 연결되었습니다. 서버도 실행되었고요! 이제 접속해볼까요?내용도 안 바꾸고 새로고침도 빨라서 뜬 건지 잘 모르겠군요. 내용을 수정해서 다시 확인하겠습니다.//nodejs_tutorial_server.js 수정 app.get('/', function (req, res) {     res.send('Hello I\'m In Docker Container Now!');  }); 파일 변경해서 다시 확인하기//버전 태그도 0.0.2로 업해주고 docker build --tag node_server:0.0.2 [Dockerfile위치] 잘 생성되었습니다.//이미지가 잘 생성되었는지 확인하고 docker images 0.0.2가 나타났습니다.//기존 컨테이너를 삭제합니다. -f 옵션은 실행중인 컨테이너도 강제로 삭제하겠다는 뜻입니다.  docker rm -f NODE_SERVER_0 // 잘지워졌나 확인하고  docker ps -a 잘 지워집니다.//0.0.2 버젼 이미지로 컨테이너를 다시 생성합니다.  docker create --name NODE_SERVER_0 -p 3000:3000 node_server:0.0.2   //서버를 실행합니다. docker start NODE_SERVER_0 잘 실행됩니다.이제 다시 접속해봅시다.안녕! 나 지금 Docker 안에 있어!이제 Docker로 여러 개의 서버를 띄우겠습니다. NodeJS는 싱글 스레드이기 때문에 하나의 CPU를 여럿이 나눠 갖는 건 비효율적입니다. 따라서 CPU 숫자에 맞춰서 서버를 띄워보겠습니다.제 맥북엔 CPU가 4개뿐입니다.CPU수에 맞춰 추가로 생성하기추가로 컨테이너를 생성하고, 서버를 실행합니다. 서버 목록도 확인해야겠죠.서버 생성서버 실행서버 목록 확인포트번호는 같은 포트를 쓸 수 없기 때문에 3001, 3002, 3003으로 매핑합니다. 브라우저로 접속해서 확인해보겠습니다.각 포트별 접속 화면미리 만들어둔 이미지 덕분에 서버 3대를 띄우는 데에 5분도 안 걸렸습니다. 하지만 Docker 서버를 여러 개 띄워도 결국 사람의 손이 닿아야 합니다. 따라서 이번에는 NodeJS의 Cluster를 활용해 적은 수의 Docker Container를 이용하면서도 다수의 CPU를 사용하겠습니다. 또 죽은 워커를 다시 살려 서버가 다운되는 것을 막아 안정적인 서비스도 구축해보겠습니다.4. 멀티코어대응 NodeJS Cluster 구성2컨테이너용 NodeJS Cluster서버 어플리케이션 작성하기var cluster = require('cluster'); var os = require('os'); var uuid = require('uuid'); const port = 3000; //키생성 - 서버 확인용 var instance_id = uuid.v4();  /**  * 워커 생성  */ var cpuCount = os.cpus().length; //CPU 수 var workerCount = cpuCount/2; //2개의 컨테이너에 돌릴 예정 CPU수 / 2  //마스터일 경우 if (cluster.isMaster) {     console.log('서버 ID : '+instance_id);     console.log('서버 CPU 수 : ' + cpuCount);     console.log('생성할 워커 수 : ' + workerCount);     console.log(workerCount + '개의 워커가 생성됩니다\n');        //CPU 수 만큼 워커 생성     for (var i = 0; i < workerCount>         console.log("워커 생성 [" + (i + 1) + "/" + workerCount + "]");         var worker = cluster.fork();     }        //워커가 online상태가 되었을때     cluster.on('online', function(worker) {         console.log('워커 온라인 - 워커 ID : [' + worker.process.pid + ']');     });        //워커가 죽었을 경우 다시 살림     cluster.on('exit', function(worker) {         console.log('워커 사망 - 사망한 워커 ID : [' + worker.process.pid + ']');         console.log('다른 워커를 생성합니다.');                 var worker = cluster.fork();     });  //워커일 경우 } else if(cluster.isWorker) {     var express = require('express');     var app = express();     var worker_id = cluster.worker.id;         var server = app.listen(port, function () {         console.log("Express 서버가 " + server.address().port + "번 포트에서 Listen중입니다.");     });        app.get('/', function (req, res) {         res.send('안녕하세요 저는 워커 ['+ cluster.worker.id+'] 입니다.');     });  } CPU 숫자를 받아 CPU 수(4)를 컨테이너 수(2) 로 나눠 워커를 생성하는 NodeJS 클러스터 구성입니다. 이렇게만 해도 운영에는 무리가 없지만 컨테이너 2개의 구분이 안 되서 확인할 수가 없습니다.그러므로 마스터와 워커의 통신을 이용해 마스터의 uuid를 얻겠습니다. (워커와 마스터 간의 데이터 이동은 통신 말고는 메모리DB 등의 데이터 저장소밖에 없습니다)마스터의 아이디를 알아오는 로직이 추가된 어플리케이션 작성var cluster = require('cluster'); var os = require('os'); var uuid = require('uuid'); const port = 3000; //키생성 - 서버 확인용 var instance_id = uuid.v4();  /**  * 워커 생성  */ var cpuCount = os.cpus().length; //CPU 수 var workerCount = cpuCount/2; //2개의 컨테이너에 돌릴 예정 CPU수 / 2  //마스터일 경우 if (cluster.isMaster) {     console.log('서버 ID : '+instance_id);     console.log('서버 CPU 수 : ' + cpuCount);     console.log('생성할 워커 수 : ' + workerCount);     console.log(workerCount + '개의 워커가 생성됩니다\n');         //워커 메시지 리스너     var workerMsgListener = function(msg){                    var worker_id = msg.worker_id;             //마스터 아이디 요청             if (msg.cmd === 'MASTER_ID') {                 cluster.workers[worker_id].send({cmd:'MASTER_ID',master_id: instance_id});            }      }        //CPU 수 만큼 워커 생성     for (var i = 0; i < workerCount>         console.log("워커 생성 [" + (i + 1) + "/" + workerCount + "]");         var worker = cluster.fork();                //워커의 요청메시지 리스너         worker.on('message', workerMsgListener);     }        //워커가 online상태가 되었을때     cluster.on('online', function(worker) {         console.log('워커 온라인 - 워커 ID : [' + worker.process.pid + ']');     });        //워커가 죽었을 경우 다시 살림     cluster.on('exit', function(worker) {         console.log('워커 사망 - 사망한 워커 ID : [' + worker.process.pid + ']');         console.log('다른 워커를 생성합니다.');                 var worker = cluster.fork();         //워커의 요청메시지 리스너         worker.on('message', workerMsgListener);     });  //워커일 경우 } else if(cluster.isWorker) {     var express = require('express');     var app = express();     var worker_id = cluster.worker.id;     var master_id;        var server = app.listen(port, function () {        console.log("Express 서버가 " + server.address().port + "번 포트에서 Listen중입니다.");     });        //마스터에게 master_id 요청     process.send({worker_id: worker_id, cmd:'MASTER_ID'});     process.on('message', function (msg){         if (msg.cmd === 'MASTER_ID') {             master_id = msg.master_id;         }     });        app.get('/', function (req, res) {         res.send('안녕하세요 저는 ['+master_id+']서버의 워커 ['+ cluster.worker.id+'] 입니다.');    });  } Docker Container에 올리기 전 로컬 테스트를 먼저 진행합니다. 서버 구동!두 개의 워커가 실행되었습니다.똑같은 localhost:3000번 접속이지만 워커의 번호가 다릅니다.이제 워커로 CPU 수만큼 워커를 생성할 수 있게 되었습니다. 이제 워커가 어떻게 안정적으로 서비스되는지 테스트하겠습니다. 워커 킬링 테스트하기워커 킬러 로직 작성//워커 킬링 테스트     app.get("/workerKiller", function (req, res) {         cluster.worker.kill();         res.send('워커킬러 호출됨');     }); 실험에 앞서 똑같은 상황 재연 마스터 아이디를 유심히 봐주세요. 워커 킬러를 실행하겠습니다.워커 킬러 호출아래는 호출된 결과입니다. 하나의 워커가 죽자마자 곧장 다른 워커가 태어나(?) 3000번을 Listen하기 시작했습니다. 워커 킬러가 호출된 화면이제 워커 킬러를 여러 번 호출해보겠습니다. CMD+R을 꾸욱 눌러 연속으로 킬링해봤는데 아래 화면처럼 바로 살아납니다.접속해서 현재 워커를 확인합니다.위의 화면처럼 마스터의 UUID가 그대로인데 워커만 교체되었습니다. 준비는 끝났습니다. 이제 Docker를 이용해 2명의 워커를 가진 2개의 NodeJS서버를 실행하고, 4개의 귀여운 CPU를 불살라봅시다! 5. Docker로 NodeJS Cluster 서버 실행하기docker build --tag node_server:0.0.3 /Users/kww/eclipse-workspace/nodejs-for-article docker create --name NODE_SERVER_0 -p 3000:3000 node_server:0.0.3 docker create --name NODE_SERVER_1 -p 3001:3000 node_server:0.0.3 docker start NODE_SERVER_0 docker start NODE_SERVER_1 cluster가 적용된 2개의 컨테이너 start0.0.3번 이미지로 생성된 2개의 컨테이너 서버가 무사히 로드되었습니다. 이제 접속해서 확인해볼까요?cluster가 적용된 2컨테이너 4서버 구동화면WOW! 2개의 URL, 2개의 UUID, 각 2명의 워커까지. 완벽한 2.2.2입니다. 마치 홍진호를 보는 듯한 서버 현황입니다. 이제 워커 킬러로 습격해보겠습니다.워커 킬러 습격 후위의 이미지를 보면 3000번 포트서버에서 13명, 3001번 포트서버에서 22명의 워커가 사망했습니다. UUID를 통해 2개의 서버에서 일정량의 워커가 매우 안정적으로 서버를 지키고 있는 걸 알 수 있었습니다.지금까지 2개의 컨테이너로 4개의 서버를 구성해보았습니다. CPU 숫자와 나눠지는 수에 따라 컨테이너의 수, NodeJS 클러스터 서버의 수를 유동적으로 조정할 수 있습니다. 전에 운영하던 API서버는 16코어 서버였고, 로드벨런서 및 기타 작업용 1코어의 여분을 남기고 15코어 / 3 으로 5개의 워커를 가진 3개의 NodeJS서버를 도커 컨테이너로 운영했었습니다.여기서 문제점이 생깁니다. 우리는 어떤 서비스를 할 때 하나의 도메인을 쓰는데 포트번호가 2개죠? 어떻게 해야 할까요. 여기서 바로 한참을 기다렸던 불곰국의 Nginx가 등장합니다.6. Nginx로 로드밸런싱 하기Nginx은 “더 적은 자원으로 더 빠르게”를 지향합니다. 러시아의 이고르 시쇼브(Игорь Сысоев)는 Apache에서 10,000개의 접속을 동시에 다루기 힘든 걸 해결하려고 Nginx를 개발합니다.Nginx는 NodeJS와 유사하게 싱글 스레드 방식에 이벤트 드리븐 구조 사용하는 오픈소스 HTTP서버로 최근 아파치의 점유율을 상당히 뺏고 있는 서버입니다. 다운로드 링크를 아래에 써두었습니다.Nginx 설치WindowNginx 다운로드Macbrew install nginx Linuxapt-get install nginx or yum install nginx Nginx 설치 성공Nginx 기본 접속 화면서버 조작방법서버 시작 : nginx 서버 중지 : nginx -s stop 서버 재시작 : nginx -r reload (맥에선 이건 안되는듯?) 기본 설정은 8080포트로 되어있습니다. 원하는 포트르 로드벨런싱 설정을 해보겠습니다. Nginx 로드밸런싱 설정아래는 Nginx의 로드밸런싱입니다.#http블럭 내부에 추가     #NodeJS 서버 로드밸런싱     upstream nodejs_server {         #least_conn;         #ip_hash;         server localhost:3000 weight=10 max_fails=3 fail_timeout=10s;         server localhost:3001 weight=10 max_fails=3 fail_timeout=10s;     }        #3333번 포트 NodeJS 서버로 연결     server{         listen               3333;         server_name  localhost;                location / {             proxy_pass http://nodejs_server;         }     } 로드밸런싱이 잘 적용되었는지 확인해보겠습니다. 로드밸런싱 적용 이후모든 브라우저에서 3333번으로 접속했는데 서로 다른 2개의 서버가 번갈아 접속되고, 워커가 가끔 바뀌는 걸 확인할 수 있습니다. 이번엔 로드밸런서로 워커 킬러를 호출하겠습니다.로드밸런싱 포트인 3333번 포트로 여러 번 호출결과 확인Nginx 로드밸런서가 확실하게 작동하는 걸 확인할 수 있었습니다. 위의 이미지에서 서버가 자꾸 바뀌는 모습을 볼 수 있는데, 이는 세션이 유지되지 않기 때문입니다. 실제 서비스에서는 세션의 유지를 위해 ip_hash 옵션이 꼭 필요합니다.ip_hash : 동일한 IP의 접속은 같은 서버로 접속하도록 하는 옵션입니다.  least_conn : 가장 접속이 적은 서버로 접속을 유도하는 옵션으로 ip_hash와 같이쓰입니다. Conclusion자, 고생하셨습니다. 여기까지 Docker와 NodeJS, Nginx를 이용해 관리하기 쉽고, 일부러 죽여도 죽지 않는 안정적인 서비스 환경을 구축해봤습니다. 한 가지 주의할 점이 있습니다. NodeJS의 Cluster는 죽은 워커를 바로 살리는데 싱글스레드여서 그런지 그 속도가 정말 어마어마합니다. 따라서 NodeJS Cluster를 사용할 땐 여러 핸들링에 신중하세요. 모든 promise에 반드시 catch를 달아 핸들링하고, 오류가 날 것 같은 로직엔 반드시 try - catch를 달아 핸들링을 해야 합니다. 그렇지 않으면 다시 살아나는 워커에 의해 서버의 자원이 고갈될 수 있습니다.예전에 16코어 서버를 운영할 땐 서버 자원에 비해 사용자가 적어서..(눈물) 5워커 2개의 서버만 구동하고 여유를 두었습니다. 그리고 서버 패치가 있을 때 3번째 서버를 대기시켰습니다. 앱에서 업데이트가 완료되는 시점에 Docker Container를 바꿔치기 하는 방식으로 Non-Stop서비스를 운영했죠. 혹시 코어가 빵빵한 여유 서버가 있는데 재빠르고 좀비 같은 서비스를 구성해야 한다면 위와 같은 환경 구축을 강력히 추천합니다. 지금까지 긴 글을 읽어주셔서 감사합니다.ps. 글 쓰다 보니 해가 떴네요. 하하.참고1) 가상 머신은 작은 이미지라도 기가바이트 단위의 사이즈와 Load되기까지 상당한 시간이 소요된다.2) 그러나 Windows의 경우, Hiper-v위에 리눅스를 띄워 도커를 구동한다. Mac에서도 가상 머신 위에서 구동된다. 따라서 성능적인 강점은 리눅스에만 적용된다.3) 도커에서는 NAME 속성을 지어주지 않으면 알아서 이름을 지어주는데 romantic한 단어가 많다.글강원우 과장 | R&D 개발2팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #개발팀 #개발자 #개발환경 #업무환경 #인사이트 #경험공유
조회수 2328

JIRA하고 자빠졌네!?

Overview“JIRA하고, 자빠졌네!” 세종대왕은 확실히 개발자의 두뇌를 가지고 있었던 게 분명합니다. 먼 시대를 지나 오늘날 QA를 하는 저에게 응원을 해주시니 말입니다. 하지만 그는 틀렸습니다. 걱정과는 다르게 다행히 자빠지진 않았거든요. 지라(JIRA) 덕분입니다.갑자기 지라 이야기가 나와 당황하셨죠? 축하해주세요. 드디어 브랜디도 지라를 사용하게 되었답니다. (짝짝짝!) 지라 도입은 처음이라 세팅부터 쉽지 않았는데요. 이번 글은 눈물겨웠던 지라 세팅 과정과 브랜디의 이슈관리를 소개하겠습니다. 스크럼을 쓰면 좋은 점스크럼(Scrum)은 요구 사항 분석부터 하는 칸반(Kanban)보다 효율적입니다. 안드로이드와 iOS로도 나눠져 있고 업무를 짧게 반복하기 때문이죠. 스크럼에 적합한 워크플로우(Workflow)를 볼까요? 이것은 실제로 브랜디 R&D본부에서 사용하고 있기도 합니다. 스크럼에 적합한 워크플로우IN PROGRESS: 이슈나 개발 요건을 티켓으로 만들면 IN PROGRESS 상태가 됩니다. RESOLVED: 이슈나 개발 요건이 완료되면 RESOLVED 상태로 변경합니다.QA: QA가 필요한 개발 요건은 QA상태로 변경합니다.PASS: 이슈 또는 개발 요건이 수정되었거나 문제가 없다면 PASS 상태로 변경합니다.FAIL: 이슈 또는 개발 요건이 제대로 수정되지 않았거나 다른 이슈가 발생하면 FAIL 상태로 변경합니다.QA불필요: QA가 필요하지 않은 개발 요건은 QA불필요 상태로 변경합니다.DONE: 이슈를 해결했거나 개발을 완료하면 DONE 상태로 변경합니다CLOSE: 담당 팀장님이 이슈 확인 후 CLOSE 처리합니다. 예를 들어보겠습니다. 킥오프 서비스 회의를 하고, SB를 제작, 리뷰합니다. 이후에 디자인팀과 개발팀 일정을 공유하고 스크럼 마스터는 스프린트 주기를 책정하죠. 스프린트가 시작되면 개발자는 스토리 티켓을 작성하는데요. 개발이 끝나면 QA가 필요한 티켓은 테스트를 진행하고, QA가 종료되면 스프린트도 종료됩니다.Epic 티켓위의 이미지는 Epic 티켓입니다. Android, iOS, 이슈 등 모든 티켓은 Epic 안에서 관리합니다. 한 곳에서 한꺼번에 관리하기 때문에 히스토리 관리가 편하고, 진행 상황도 확인할 수 있습니다.티켓 생성개발팀의 티켓 생성입니다. 개발자는 SB를 보고 개발 티켓을 작성합니다. 개발 티켓 작성 후에 개발이 진행되며 QA 판단 여부를 체크해 QA 상태로 변경합니다. 변경된 티켓에 관한 QA가 진행되며 문제가 없으면 해당 티켓은 종료됩니다.이슈 생성다음은 이슈 생성입니다. 파악한 SB는 디자인 시안과 비교하며 개발이 된 Android, iOS 테스트 파일을 QA합니다. QA를 진행할 때 발생한 이슈는 지라 티켓으로 등록하여 이슈를 관리합니다. 모든 이슈 티켓 종료되면 해당 차수의 QA는 끝나고 마침내 상용에 배포합니다. 배포가 완료되면 필수 및 크리티컬 리그레이션 테스트가 진행됩니다. Conclusion실수는 항상 모든 것이 끝난 이후에 보이기 마련입니다. 수십 번 QA를 해도 보이지 않던 문제들이 상용에 올라간 이후부터 보이기 시작하죠. 스크럼은 이런 실수들을 가장 최소화할 수 있는 툴이 아닐까 생각합니다. 물론 아무리 좋은 툴을 써도 팀원들과 함께 뭉치는 것보다 중요한 것은 없겠죠. 다음 글은 자동화를 주제로 찾아뵙겠습니다. JIRA하고 자빠지지 않는 개발자가 됩시다!글김치영 대리 | R&D PM팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #개발자 #개발팀 #인사이트 #경험공유 #JIRA
조회수 1569

AWS 이사하는 날

오늘 8퍼센트의 AWS 인프라를 일본에서 한국으로 옮겼다. 기술적인 내용은 이사를 리드하신 세바님이 다뤄 주시기로 하셨고, 나는 그냥 오늘을 남겨두려고 한다.(세바님이 8퍼센트 서울살자에 기술적인 내용들을 다뤄주셨다.)올해 초 AWS 서울 리전이 열리면서 도쿄에서 옮겨 가야겠다 라고 생각한 것이 벌써 수개월이 지났다. 작업을 시작하면 얼마나 걸릴지 예상이 잘 되지도 않고, 인프라 전체를 예쁘게 정리해야 한다는 부담 때문에 쉽게 손이 가지 않았다. 하지만 새로 조인하신 세바님이 AWS 이사를 가지 못해 여러 가지 제약이 생기는 답답한 상황을 참지 못하시고 총대를 메셨다. 아마 나보다 좀 더 답답하셨나 보다. :)17시에 다 함께 모여 현재 작업 진행상황과 오늘 이전 계획을 검토한 후 바로 퇴근을 했다. 긴 밤이 되리라 생각해서 조금이라도 잠을 자려고 노력은 했지만 두 아이가 있는 집에서 쉬는 것은 역시 쉽지 않더라. 지하철을 타고 23시 30분에 이모작 근무를 위해 다시 회사에 들어섰다. 이미 몇몇 분이 모여서 오늘 작업에 대한 이야기를 나누고 있었다. 아침에 만나는 것보다 왠지 반갑다. 모두 모여서 파이팅을 외치고 기념사진을 하나 찍고 작업을 시작했다.(웃으면서 시작한 작업을 웃으면서 마칠 수 있을 것인가?)일단 서버 작업 공지를 띄우고 작업을 시작한다. 지난 회사에서는 모든 서비스가 24시간 운영되었어야 했기 때문에 서버 점검 시간을 따로 갖지 못해다. 그래서 큰 서버 업데이트 작업을 할 때마다 시간에 쫓기고, 장애 발생을 실시간으로 해결해 가며 작업을 했었다. 하지만 이번에는 시간을 확보해두고 작업을 하는 것이라 그래도 마음에 좀 여유가 있었다.이전 작업을 하기 위해 각 파트를 담당하는 시니어 개발자들만 있어도 충분한데, 서버 이전을 하는 것이 흔치 않은 경험이기 때문에 주니어들도 가능하면 참여를 요청했다.(꼬꼬마들이 세바님 뒤에 쪼르르 모여서 설명을 듣고 있다)코드를 이해하기에 가장 좋은 방법은 코드를 함께 짜면서 설명을 하는 것이고, 인프라를 이해하기에 가장 좋은 방법은 인프라를 설치하는 과정을 함께 하는 것이다. 하나하나 작업을 해가면서 이런저런 이야기들을 나누었다. 이전을 하는 서버의 역할, 더 나은 아키텍처,  AWS의 역사,  AWS의 여러 가지 서비스의 세부적인 옵션에 대해서도 이야기를 나누었다.  세바님이 꼼꼼하게 준비를 해주신 덕분에 1시 30분이 되니 기본적인 이전 작업이 끝났다. 야식을 먹고 맥주를 한잔 마시고 각각의 기능들에 대한 본격적인 테스트를 시작했다.(야식은 12시 전에는 치킨을 시켜야 하고 12시 후에는 족발을 시켜야 한다)드디어 세바님을 제외한 다른 잉여 인력들이 할 일이 생겼다. 체크리스트에 있는 항목들을 하나씩 테스트 하기 시작한다. 꼼꼼하게 준비를 했지만 역시나 예상하지 못했던 문제들이 드러난다. 다행히 이전 작업을 되돌려야 할 만큼 큰 문제는 아니었기에 적절히 대응을 하고 계속 테스트를 진행했다.어느덧 시간이 흘러 3시가 되었다. http://8percent.kr 의 도메인을 도쿄에 있는 서버에서 서울에 있는 서버로 변경했다. 이제 내부 시스템들을 추가적으로 점검해야 한다. 가능하면 끝까지 확인을 하고 자리를 뜨고 싶었지만 내일 오후 사무실을 지키면서 혹시 모를 장애에 대응을 해 줄 사람이 필요할 것 같아 먼저 퇴근을 했다.집에 돌아오면서 생각해 보니 오늘 내가 한 일이 거의 없었다. 기뻤다. 서버 이전 작업을 내가 해야만 하는 일로 생각하며 계속 들고 있었는데 세바님이 먼저 나서서 이 일을 진행해 주셨다. 중요한 작업 중에 자리를 뜨는데도 전혀 불안함 마음이 들지 않았다.아침에 일어나서 슬랙을 확인했다. 슬랙에 별다른 멘트가 없는 것을 보니 큰 문제는 없나 보다. 야호! 이전된 서버가 정상적으로 운영되고 있는지 확인을 위해 심사팀도 일찍부터 출근해서 테스트를 진행하고 있었다. 회사에 도착해 보니, 나를 제외하고는 모두 밤을 새워 일을 하고 계셨다. 다들 몽롱한 표정이다. 고맙다.하루에도 8시간씩 같이 일하는 동료들이지만 왠지 이렇게 같이 밤을 지새워서 작업을 하고 나면 동지애가 생긴다. 긴 밤을 고생해준 개발팀 멤버들에게 다시 한번 고마운 마음을 전한다. 앞으로도 잘 부탁드려요!(제가 따로 드릴것은 없어서 박수를!)#8퍼센트 #에잇퍼센트 #AWS #서버 #서버이전 #인프라 #개발팀 #팀워크 #조직문화
조회수 16709

운영중인 프로덕트에 새로운 Gray Scale 적용 대장정

스타일쉐어 디자인팀은 한번에 디자인을 업데이트하는 시간의 한계와 비용때문에, 오래된 디자인 컴포넌트를 하나씩 개선하는 방향으로 디자인 개선을 진행하고 있습니다.그 중 하나인 Gray Scale 개선에 대해 이야기하려 합니다.서비스가 출시된 6년 전, 디자인팀에서 정했던 그레이 스케일은 5가지입니다.6년전 gray scale 색상값과 이름#222, #666… 대부분 단순한 코드입니다. 약 6년 전, 서비스 출시 시에는 브라우저마다 색상 구현에 제약이 있었기 때문에 가장 단순하며 어느 브라우저에서나 구현이 잘 되는 코드를 사용했었습니다.왜 바꾸나요?UI디자인에서 그레이 스케일의 역할은 정보의 강약, 계층 구분 등이 있습니다[1]. 인테리어에 비유하자면 벽지라고 생각합니다. 밝은 색의 소품을 배치해도 벽지가 어둡다면 결국 전체적으로 분위기는 어둡게 연출됩니다.스타일쉐어도 마찬가지로 새로운 기능이 추가되고, 계속 업데이트를 하지만 여전히 오래된 분위기를 지울 수가 없었습니다.여러가지 원인들 중에서 먼저 어둑어둑한 벽지를 새로 도배하기로 했습니다.저희는 코드상 순수한 회색 톤을 사용 중이었습니다. 코드상으로는 순수하지만, 우리가 눈으로 보는 Black, Gray, White는 실제로 #000000, #FFFFFF가 아닙니다. 우리 눈에 친화적이지 않은 색상입니다. [2]콘텐츠의 밀도가 높고 기능이 복잡해지면서 전체 UI 디자인을 가볍게 하는 방향으로 동의를 했고, 그레이스케일도 함께 변경하기로 했습니다. 쿨 그레이로요.2014 Material Design color palettes by Google순수계열의 회색은 Cool tone의 회색과 비교해보면 Warm 톤에 더 가깝게 보입니다.Cool tone 은 무게가 가볍습니다. 연상되는 단어는 청량함, 산뜻함, 가벼움입니다. 반대로 Warm tone은 따스한 분위기를 연출하기 때문에 안락함, 추억, 가정적인 분위기를 연출하기에 좋습니다.어떻게 바꿔요?1. 현재 쓰이는 색상값 모으기가장 먼저 iOS와 Android 개발팀에게 현재 서비스에 사용되고 있는 모든 색상값과 해당 Class를 함께요청했습니다.왜…?이 색들은 다 무엇…? 여기서부터 이제 노가다가 시작되었습니다. 다른 색을 제외하더라도 Gray색도 어마어마하게 늘어나있는 걸 발견했습니다.원래 디자인팀에서 정했던 그레이 스케일은 5개였는데 왜 이렇게나 많아졌을까. 서비스가 발전하면서 기능이 추가되고 복잡해지면서 디자이너는 #222와 #666 사이 그 어딘가의 톤을 필요로 했을 겁니다.통일성이 중요하다고 하지만 다양한 컴포넌트를 추가하기에 5개 회색조는 적었을 것입니다.이걸 다시 OS별 컬러 팔레트로 만들었습니다.iOS Gray scale 팔레트로 정리2. 그레이 스케일 변경하기그래서 색상 변화와 함께 가짓수도 늘리기로 했습니다.우선 가장 변화가 시급했던 Bg gray. 모든 분위기를 잡아먹는 배경 색상입니다. 배경색만 조금 밝게 해주어도 전체적인 분위기가 변합니다.새 배경색 #F7F8F9와 기존 배경색#F3F3F3Color Shade를 만들었던 순서는 아래와 같습니다.#F7F8F9 를 BG gray로 설정 후 회색조 정하기굳건한 철학적, 브랜드 접근 의미까지는 없습니다… 코드도 예쁘고 너무 Blue로 치우치지 않은 톤이라 정했습니다.특히 밀집이 높은 부분을 쪼개기다양한 Color Shades, Color Variation 방법론과 툴을 사용해 8개의 Gray Scale을 만들었습니다.3. 이름 정하기여러 사이트를 참고했었는데, 저희에게는 Google Material Design[3] 이름이 가장 적절했습니다.2014 Material Design color palettes by Google예전엔 기능을 이름으로 사용했습니다. border-gray, bg-gray처럼요.결과론적이지만, 잘못된 색상 이름때문에 색상이 계속 늘어났다고 생각합니다. 연한 회색을 사용하고 싶은데, border-gray를 사용하려니 ‘어, 이건 border는 아닌데..?’ 라며 망설이게 됐겠죠.처음 gray1, gray2, gray3… 으로 변경하려 했다가 취소되었습니다.‘몇 번이 제일 진한 회색인가?’ 라는 질문에 각자 다른 대답을 했기 때문입니다. 친절하지 않은 거죠.Font weight의 100, 200, 300 순서로 점점 Heavy해진다는 기존의 익숙한 위계를 사용했습니다. 이름도 가장 직관적이어야 한다는 병적인 집착으로 정말 오랜 고민끝에 최종 이름이 지어졌습니다.대장정의 결과 두둥!300과 700이 없는데, 색상 간 차이가 큰 경우는 가상의 중간값이 있다는 전제를 했습니다. 지금은 8개 셰이드지만, 유동적으로 색상이 추가될 수 있다고 판단했습니다.4. 적용마지막으로, 처음 개발자에게 받은 코드를 새로운그레이들로 하나씩 매칭시키는 작업을 했습니다.각 OS별 제플린으로 공유이 작업을 위해 귀찮더라도 처음부터 컬러 팔레트로 만들고 좀 특이한 부분은 이름까지 함께 표기했었습니다. 한 눈에 비슷한 톤끼리 쉽게 묶을 수 있고, 특이한 이름의 컴포넌트는 기능을 찾아서 그에 적절한 색상으로 매칭시킬 수 있습니다.흩어진 색상값들을 정리하고, 또 컴포넌트 이름을 붙이는 건 개발자에게도 편한 일입니다. 코드상으로도 깔끔하고 이름으로만 구현하면 되니, 디자이너와의 의사소통에서도 편한 일입니다.후기보통 컬러 스케일은 프로덕트 디자인 가장 처음에 합니다. 7년이 된 서비스 중간에, 디자인 업데이트 없이 색상값만 바꾸는 건 순전히 노가다일 수도 있습니다.하지만 물리적으로, 시간과 인력의 한계, 타이밍때문에 디자인 업데이트를 할 수 없다면, 작은 부분부터 천천히 개선하는 방향도 있습니다. 그리고 UI/UX 디자인을 한번에 업데이트하는 일보다 어떻게 보면 부담도 적습니다.가장 좋은 점은, 역시 커뮤니케이션입니다. 실제론 티가 많이 나지 않는 작업지만 사내에서 디자이너간, 디자이너와 개발자간 의사소통시 명확한 언어가 생긴 것입니다.색상 하나하나 함께 정한 디자인팀, 같이 이름을 고민해준 개발자분들에게도 감사합니다!읽어주셔서 감사합니다.#스타일쉐어 #디자인팀 #디자이너 #그레이스케일 #커뮤니케이션 #개발자 #의사소통 #협업 #팀워크
조회수 1859

니들이 브랜딩에 대해 알아!?

브랜딩에 관한 이야기브랜딩을 총괄 책임지고 계시는 김성철 상무이사님의 브랜딩 강연에 관한 내용입니다.강연이 시작되기 전 이사님이 한 말씀해주셨습니다.'사람들의 인사이트에는 답은 없다'시작하겠습니다.결정과 실행 / 블루오션은 존재하지 않는다1. 브랜딩 '강점'을 무기로 삼아라- 약점을 보완하는 방법을 하면 모두가 실패하는 법,차라리 브랜딩의 중요한 요소는 자사가 소유한 가장 큰 '강점을 무기로 삼아야 한다.2. 경쟁사가 아닌 소비자를 공략하라 (제안하기)- 정말 누군가 이기는 게임을 하는 게 옳은 방법은 아니다.- 지금 현재 중요한 단어'내가 소비자에게 어떤 걸 제안할 수 있는지' 그러한 제안이 수요창출을 만들 수 있는지 고민해야한다.- 소비자를 공략할 게임을 찾아야한다. 이기겠다는 명목하에 한다면 질 수 밖에 없다.3. 씨줄과 날줄 안에 소비자를 가둬라.- Life Time Value- 애플을 개인적으로 좋아하지 않는다. 하지만 애플은 씨줄과 날줄을 정말 잘  만든다 (itunes)- 플랫폼을 잘 봐라. 자신들의 플랫폼에 소비자를 가둬 넣었다.4. 브랜드의 경계를 뛰어 넘아라.- 업의 경계를 뛰어 넘어라. 네이버는 삼성과 싸워야한다. 전통방식으로는 내 업종이 아니라 무시할 수 있지만,코어벨류를 생각하라.5. 알리지 말고 표현하라.- 전통적 광고의 시대는 끝났다.- 모든 것들의 접점에서 표현하라.- 내가 어떤 사람인지를 표현하는 방법을 연구해야한다.ex) 현대카드는 '교회오빠'를 싫어한다. 삐뚤어지고 시장의 질서를 깨려는 브랜딩의 느낌을 만들고 있다.6. 자신만의 고유한 화법이 표현을 완성한다.- '애플의 30년'이라는 책이 있다. 그 책은 애플의 제품 역사가 담겨 있는데,컴퓨터 사양과 같은 내용은 없고 그냥 이미지만 있다. 비싼 컴퓨터인데, 제품 사용 설명서도 허접하다.그게 애플의 표현 방식이다.7. 스피릿을 공유하라- 철학과 정신은 정말 중요하다.- 내가 가진 확실한 정신을 알아야한다.- 설령 제품에도 철학과 정신이 있어야한다. ex) 아이리버와 아이팟 누가 성공했나?- 아이팟이 성능면에서는 떨어졌지만 사람들은 아이팟을 선택했고, 결국 애플이 이겼다.철학과 정신이 새겨있지 않으면 사람들은  관심있게 못 본다.8. '게임의 규칙은 내가 정한다' (제일 중요한 부분)- 기울어진 운동장에서는 축구를 하면 기울어진 쪽이 유리하고 이긴다. 그러면 따라가지 말고 차라리 물을 채워서 수영을 해라.- 말도 안되는 시장에서 내 마음대로 정해라- 현대카드 : 대한민국 신용카드가 손해가 연 2000억인데 신용카드 발급하면 돈을 못 번다. (그래도 한다. 싸움은 늘 내가 하고 싶은대로 해야한다.브랜드 = 만능의 열쇠?1. Quality2. Awareness3. Assocition4. Loyalty아니다. 생각이 바뀔 수 있다.새로운 정의파워브랜드는 약속하지 않는다. 다만 기대하게 만들 뿐이다.생각해보자 아마존, 페이스북, 애플이 약속을 한 적이 있나?한번 자세하게 알아보자한국 대기업들은 '고객을 믿습니다' 맨날 고객타명만 한다.이케아를 '정직한 가격에 스타일리쉬한 제품을 만듭니다' 이게 브랜딩입니다. 약속 ㄴㄴ해요핵심- 더 좋은 이념을 정립하라- 소비자들이 알아서 구매할 것이다.- 싸움의 법칙을 가져가서 해라김성철 상무이사님은 '황금펜타곤'이라는 프로그램에서 심사역을 맡았다.거기서 만난 스타트업은 '호텔나우','마이리얼트립' 등이 있었다.이들의 회사 신념은 명확하고 단순했다.호텔나우 : 실시간으로 싼 호텔 공급하겠다.마이리얼트립 : 지긋한 패키지 여행 싫다. 시장을 바꿀 것이다.존재 이유에 대해 확립하는게 제일 중요하다.Quantum leap = 브랜드는 축적의 과정축적은 시간으로 만드는게 아니라 이념과 신념의 누적치이다.사례를 한번 보자.반기문 유엔사무총장이 대선 후보로 참여했지만, 결국 포기했다. 왜?여러가지 이유가 있었겠지만사람들에게'유엔사무총장의 브랜드는 있었지만''반기문이라는 브랜드는 없기 때문이다'브랜드는 명사가 아니라. 동사다. 동사로 자리잡는 것을 공부해야 한다.+ 질문 나온 이야기"디자인과 브랜딩은 중요하다. 로고라든지 인지를 시키기 위한 전략적 지침에 대해 설명해달라"현대카드는 3가지 키워드로 구성되어 있다.- 심플: 모든 커뮤니케이션을 간단하게- 골드: 아웃스탠딩한 남들이 안하는 걸 심플하게- 위티: 보다 사람들과 웃을 수 있도록브랜드가 가져야할 단어 2~3개를 가지고 디자인에 비쥬얼 매칭이 되는지 중요하다.추가 이야기소비자의 인사이트를 안다?아니다"소비자는 하고 싶은대로 하는거에요. 정답과 트렌드가 없기 때문에 브랜딩이 어렵다고 하는거죠"실시간 질문앱 오누이에서 마케팅을 담당하는 건포어입니다 :)저도 강연을 들으며 새삼 브랜딩에 대해 고민을 해야하는 시간을 가져야겠습니다.나중에 "오누이"에 대한 브랜딩 이야기도 글로 써보겠습니다 ^^#오누이 #인사이트 #경험공유 #브랜딩 #브랜드 #마케팅 #마케터 #이벤트참여 #후기
조회수 4237

유비와 제갈공명의 이야기

고전을 좋아한다면, 삼국지라던가, 수호지, 초한지를 읽어봤음직하다.그중 많은 사람들이 선호하는 이야기는 바로 삼국지!조조나 손권, 유비의 리더십에 대한 서적도 많고,관우, 장비, 제갈공명쯤은 다들 한 번 씩은 들어봤을 테다.여포, 조운, 방통, 서서, 하후돈, 황충, 순욱, 초선, 공손찬, 손책, 조비, 주유 등조연인 듯 조연 아닌 조연 같은 각양각색의 인물들의 이야기들.군웅할거의 시대에 영웅담들과위기, 승리, 패배, 배신, 전략이 난무하는 역사를 기반한 소설!원저자인 나관중 이후에도 여러 작가들의 시각에서 재해석되면서시대에 따라 멋짐이 묻어나는 인물이 달라지고,픽션인지, 사실인지 혼동되기도 한다.잠시 주말을 맞아 중고서점에 들러서 삼국지를 잠깐 탐독하였다.학창 시절에 참 즐겨 읽었고,좋아하는 영웅들의 마음은 어떠했을까 상상도 했었는데...오늘 읽은 부분들은 이런저런 생각이 많이 들더라.스타트업 창업자로서,작지만 함께 생존기를 써가고 있는 회사의 리더로서,그리고...여전히 모르고, 막히는 것이 많아선현들과 선배들의 길을 모방해 배워가야 하는말학의 햇병아리로써...잠깐 동안 느낀 점을 나누고자 한다.시작하기 앞서 삼국지란 책의 시대적 배경은한나라의 말기에서위, 촉, 오라는 세 나라가 탄생하고최후에 진나라의 탄생까지주요 무대이다.(여기서 진나라는 진시황의 진나라가 아님, 후진이라고도 부름)그중, 유비와 제갈량(제갈공명)의 이야기를 잠시 나누어보자삼고초려라는 말이 있다.제갈량을 영입하기 위해 유비가 세 번 찾아가 간 유래에서 나온 사자성어다.유비가 인재를 얻기 위해 자존심을 굽히고, 예를 갖추어 찾아간 모습에 감탄하곤 한다.문득 이런 생각이 들었다.제갈량은 어떤 생각을 했을까?제갈량은 왜 그러한 유비를 고생시켰을까?유비를 인물됨을 시험한 것이라고 단순하게 보기엔....그렇다고, 내심 조조가 찾아와 주길 바라거나 다른 군주들 간에 비딩(biding, 경쟁입찰)시킨 건 아닐듯하다.어쩌면 이 사건을 레퍼런스로 자신의 이름을 천하에 알리는 최고의 홍보, 마케팅 수단이었을 수도 있다.더불어서 우리 주군이 인재를 얻기 위해 이런 수고로움까지도 감내하는 사람이라는 것을알리는 좋은 사례가 되었을 수도 있다.스타트업의 구성원으로 보는 시각에서는시작부터 좋은 기획자이기도 하고, 마케터이기도 하다.그 당시의 상황 속에 나를 넣어본다.내가 유비였다면...어땠을까?일단, 소문만으로 듣던 제갈량을 처음 찾아갔다.이제 그토록 바라던 인재를 영입한다는 기대감과앞으로 천하통일을 하는데 한 걸음 아니, 세네 걸음 더 앞당겨지는...아니 어쩌면 벌써 천하를 가진듯한 착각에 빠져있을 수도 있다.근데... 웬걸...ㅡㅡ;;이거 제갈량 양반! 너무한 거 아니오?만나보지도 못 하고, 기다리다가...결국 돌아가야 했다.혼자 간 것도 아닌데...옆에 함께 창업한 동료들인 관우, 장비에게얼굴을 못 들게 부끄럽게스리...면상을 구기고 돌아오는 발길이 무거웠을 거다."그래!내가 타이밍을 잘못 잡았던 거야.다음에는 꼭 만나서 영입 제안을 해야지."그리고 다음에 다시 찾아갔다.그런데 또 없다.분명 사환(심부름을 해 주는 종)에게 메시지를 전했는데...내가 왔었고, 기다리다 갔으니,다시 오겠노라고 전달했는데...제갈량은 나보다 더 중요한 미팅이 있는 걸까?나를 깔보는 걸까? 내가 사람을 잘못 봤나?예의가 없는 걸까 아니면 일부러 나를 시험하나?사환에게 다시 물어봐도전달했다고 한다.슬슬 같이 온 동생들이 불만을 표현하기 시작한다."지가 뭔데 우리를 두 번이나 퇴짜 놓는 거야?""소식 들었으면, 지가 찾아와야 하는 거 아이가?""형님! 이거 이거 지략은 뛰어난 놈인지 몰라도 버르장머리가 없네요."동행한 동생들을 진정시키기는 하지만내심 의심도 생긴다.제갈량을 추천한 사람들이 잘못 본 것 아닐까 하는 생각!이 사람을 얻으면 팀 내에 불화가 더 증폭되진 않을까나는 이 사람을 받아들일 준비가 안 된 건가,이미 누군가에게 내정된 사람은 아닐까하지만 이런 의심을 뒤로하고,다시 한번 찾아가기로 결심한다.그 시간 동안 팀 내에 구성원들에게소문이 퍼지기 시작한다.이야기는 꼬리에 꼬리를 물고 빠르게 퍼진다.나는 나 하나의 개인이 아니라 한 조직의 리더이다.이러한 대우는 어찌 보면 우리 조직의 얼굴에 먹칠을 한 것이다.과연 그러한 리스크에 대비해서 이번 영입이 더 높은 가치를 가지는 것일까 하는 고민이 든다.딱! 여기까지만 생각해보자!다시 한번 더 세 번째로 제갈량을 찾아갈 것인가, 아니면 다른 사람을 알아볼 것인가.우리 창업자들에게는 수많은 선택의 기로에서매일 한 가지 이상의 결정을 내려야 한다.하나의 결정을 완성하는데 한 번의 실패는 수차례나 경험한다.그런데 동일한 실패를 두 번 하였을 때,이 때는 진지하게 고민할 수밖에 없다.무엇이, 어디서부터 잘못된 걸까.처음부터 선택하지 말았어야 하는 건 아닐까.그리고 세 번째 동일한 시도를 한다는 것은 무모하지 않을까.냉정하게 말해서, 유비의 삼고초려는 상식적으로는 이해하기 어렵다.제갈량이 아무리 지략과 전략에 뛰어난 사람이고, 와룡봉추 중 한 명이며, 천하를 얻기 위해 꼭 필요한 사람이라는세간의 평가와 소문은....사실 소문이고, 검증되지 않았다.아무리 이 세계에서경력과 능력이 출중하다고 하여도소문은 그냥 소문일 뿐이다.우리 팀에서 함께 할 때,꼭 그 소문만큼 퍼포먼스를 낸다는 보장은 없다.이미 검증된 관우와 장비가 옆에 있는데이들이 불만을 가질 영입을 진행할 근거는 무엇인가.그럼에도 불구하고 이렇게 밀어붙였던 이유는...아마도 유비는 이런 상황이지 않았을까?내부적인 상황을 적용하자면,사실 무리한 영입이라고 판단된다.하지만 외부적인 상황도 적용해 보자.천하는 여전히 각 영지의 강한 군사력을 가진군주들이 즐비하다.그들과 경쟁을 하려면,자금, 인력, 시스템, 인프라 등 뭐하나 이길 수 있는 유비만의 차별성은 없다.허울만 있는 몰락한 황숙(황제의 삼촌뻘)쯤 되는 혈연관계.오히려 세간에서는 조롱의 대상이고, 무능함의 아이콘이 되는 마이너스한 요소이다.특히나 황제가 저리도 매가리가 없는 상황에서는경쟁자들이 더 호시탐탐 제거하려는 대상일 뿐.떠돌이 생활에는 이력이 났고,패전에 익숙해져 내륙으로 밀리고, 또 밀리는그런 입장에서...이러한 상황을 타개할 방법은 무엇이었을까?그렇다면, 제갈량을 한 번 살펴보자.일찍이 그 이름은 널리 알려졌으며,그를 영입하려고 탐내는 사람은 많았으나그는 한사코 거절하고, 숨어 다녔다.자신만의 확고한 계획과 철학이 있었기에적합한 군주를 만날 때를 기다렸을 테다.천하삼분지계!위나라, 오나라, 촉나라로 나누어져 천하를 나누고,오나라와 촉나라가 힘을 모아 위나라를 시장에서 밀어내고,오나라를 M&A 하여  옛 한나라의 부흥을 꽤 한다.일단 자신이 조조에게 가면 쉽게 천하 일통은 하겠지만,자신의 기여도는 낮을 것이다.이미 거의 다 완성형이 되고, 인재가 넘치는 대기업에 자신이 들어간들 다 된 밥에 숟가락만 얹는 꼴이다.그림으로 치자면, 이미 채색이 거의 끝나가면서조조 이름으로 작가 서명을 할까, 아님 황제 이름으로 해둘까 고민하는 정도?오나라는 강동의 풍부한 물자와 인구를 기반으로조용하게 꾸준히 성장하고 있다.중견기업이랄까. 자신이 비집고 들어갈 여유는 있겠지만오래된 가신들과 후원자들이 있다.우리식으로 말하자면,시스템이 자리 잡혀있고, 안정적인 매출과 거래처가 있어꾸준한 성장이 보장되어져 있다.거기다 많은 경력자들과 투자자들이한 자리씩 다 자리 잡아있는 상태!그림으로 비유해서 밑그림(스케치) 다 해놓고들어갈 물감도 다 구비해 놓고, 붓질 시작한 정도?그에 반해, 유비의 경우는....일단 절실하다.그리고, 작품은 만들겠다는데 계속 헤매고 있다.캔버스 들고 이리 갔다 저리 갔다 하는 정도.세력도, 자본도 없다.제갈량 자신이 참여하면 기여도에 따른 지분은확실하게 보장될 것이다.자신과 중복되는 사람도 없기에 자신의 역량이 곧 그 회사의 역량이 되고자잔하게 마찰 일어날 염려도 없다.하지만 역으로,제갈량 입장에서는 리스크 이상의 무언가가 있어야 한다.1) 그래도 관우, 장비가 있어서 그들과 서열정리는 필요하다.2) 기존에 다른 영입 제안을 거절한 것에 대한 명분이 필요하다.3) 소문으로 듣던 유비에 대한 검증이 필요하다.4) 자신의 가치를 내부뿐만 아니라 외부에도 확실히 각인시킬 필요가 있다.실제로 삼고초려가 있었는지는 여전히 의문이지만,어쨌든 이를 통해서 많은 것을 확인할 수 있다.유비가 제갈량에 대한 필요 정도를 알 수 있고,기존 멤버를 어떻게 핸들링하고, 이끌어가는지도 알 수 있다.대의를 위한 인내심과 목적을 위한 유연성도 엿볼 수 있다.이렇게 글을 적고 보니 무슨 제갈량 빠인 듯한데....개인적으로 제갈량을 좋아하지는 않는다.삼국지의 후반부로 갈수록제갈량의 모습에서 이전에 꿈을 향해 가던 모습보다는점차 수세적, 방어적으로 전환하는 모습이 눈에 띈다.유비의 후계를 능력이 아닌 혈연으로 이어가는 모습,부하의 의견을 단박에 거절하는 완고함,시스템을 구축하지 못하여, 홀로 원맨쇼를 하며 촉나라의 말미를 재미없게 만든 장본인이라고 생각하기에아쉬운 부분이 많다. 우리는 뛰어난 능력자를 찾고,우리와 fit이 맞는 멤버를 찾아다닌다.소문을 듣고, 추천을 받고, 서류를 보고...그리고 그들도 우리를 체크해 본다.나는 유비가 옳았다고는 생각하지 않는다. 지푸라기 잡는 심정으로 제갈량 영입에사활을 걸었을지는 몰라도...좀 더 세심했을면 어떨까 하는 생각을 한다.그 절실한 마음은 공감을 하지만,방법과 과정에서 더 협상과 조율이 필요하지 않았을까?와룡봉추가 있어도 천하를 얻지 못했다.위나라와 오나라를 규모가 좀 있는 회사로 비유를 했지만, 사실 부러워서 그렇다.처음부터 위나라와 오나라가 강하지는 않았다.조조도 모든 걸 잃고 도망 다니던 시절이 있고,주유(실질적인 오나라의 리더)는 기성 시스템의 우려와 반발에도능력위주의 인재 발탁을 꾀하며 시스템을 바꾸었다.유비가 인덕의 리더십이라고?조조도 자신의 부하를 아끼고, 그들에게 지지를 받았다.주유가 지병으로 앓을 때, 부하들은 전쟁의 승패보다 리더의 몸 건강을 더 걱정했다.그들에게는 시스템이 있었고,제갈량을 능가하는 책사는 없었지만,다양한 의견과 다방면에서 자기 능력을 발휘할 수 있는환경을 만들기까지 나름 많은 우여곡절이 있었다.단지, 촉나라가 후발주자였다는 것의 차이일 뿐위나라도, 오나라도 스타트업의 시절이 있었다.그리고 그들 나름이 색깔로시장을 지배하고, 고객을 확보해왔다.어찌 보면,오호장군이라는 최고의 영웅들과 제갈량이라는 최고의 지략가로 뭉친 스타트업보다개인 역량이 최고는 아니더라도,최선을 다 하는 조직으로 성장하는 것이시간은 더 걸리더라도 단단하고, 더 길게 꿈을 이뤄갈 수 있지 않을까.타이밍이 그때가 딱이었기에,속도전을 하였겠지만,마라톤을 하기에는 전략의 미스는 아니었는지...정답은 없다지만,적어도 내가 나 자신에게 묻는 질문의 답은 정해져 있다.지금 이 글은그냥 별 다를 것 없는소소한 이야기다.가끔은 회사 업무에서 벗어나려 잠시 이런 상상을 하다 보면,결국은 나도 모르게 스타트업의 이야기로 빠져든다.별 것 없는 스타트업 창업자 나부랭이지만,나는 여전히 천하제패를 꿈꾼다.이제 슬슬 또 일하러 가야겠다.#클린그린 #스타트업 #스타트업창업 #창업가 #창업자 #마인드셋 #조언
조회수 1610

동력시장에 대한 프리모아 보고서 : 외주 환경 변화를 이룬 기업들이 세상을 지배하는 이유

안녕하세요 외주중개 플랫폼 '프리모아'의 Will 입니다.아웃소싱 중개플랫폼을 운영하는 '프리모아(www.freemoa.net)' 입장에서 '인력시장'의 미래는 기회와 위험이 양립하는 줄다리기와 같습니다. 때문에 프리모아는 장기적인 관점에서 인력시장의 미래를 대비하고 준비를 하고 있는데요. 글로벌 컨설팅 전문기업으로 기술, 경영, 아웃소싱 서비스를 제공하는 엑센츄어 테크비전(Accenture Tech Vision)의 글로벌 보고서 내용을 참조하여 국내 노동력시장에 대한 프리모아 보고서로 재편해 보았습니다. 디지털 태생의 기업들은 비지니스를 하는데 있어 민첩하면서도 역동적인 접근 방식으로 기존의 환경을 파괴합니다. IT 기술의 고도화로 디지털 태생의 스타트업들에게 기회가 생겨났고, 기존의 비지니스들은 새로운 스타트업 서비스에 의해서 뒤바뀌고 있습니다. 다양한 IT 외주 의뢰를 받는 프리모아는 이러한 패러다임의 변화에 적응할 수 있는 기업이 생존하여 경쟁력을 가지고 있다고 보고 있습니다. 프리모아가 느끼기에는 카카오톡과 같은 경우가 대표적인 디지털 태생의 기업이라고 볼 수 있을 것 같습니다. 국민채팅앱이라는 서비스 하나로 문자서비스라는 기존 환경을 파괴하고 새로운 소통문화를 만들어낸 것처럼 디지털 태생의 기업들의 서비스는 기존 환경의 패러다임 틀을 부수고 새로운 규범을 만들어냅니다.노동력 시장에 대한 2017년 액센츄어 테크놀로지 비전(Accenture Technology Vision)의 보고서에 따르면,"기업은 점차 디지털 및 주문형 노동력을 활용하기 위해 조직 모델과 직원을 관리하는 방식에 변화를 꾀하고 있다." 이러한 조직에 대해 액센츄어는 새로운 노동력 기술을 탐구하려는 "변화를 이룬 기업"으로 서술하고 있다 프리모아의 생각과 엑센츄어 보고서는 생각이 일맥상통하는 면이 있는데요. 프리모아는 기존 방법보다 더 빠르고 저렴한 비용으로 웹 개발, 앱 개발 등의 서비스를 제공하는 도움을 줄 프리랜서를 찾아 계약하기 위해 프리모아와 같은 외주 중개플랫폼을 이용하며, 외주 관리사에게 의뢰를 맡겼을 때의 결과를 강조합니다. 외주개발을 고민하는 많은 기업의 임원들에게 이 같은 결과는 현재 벤더사나 지인에게 의지하고 있는 외주개발 상황을 바꾸기 위한 좋은 사례가 됩니다. 프리모아에 외주를 맡기는 의뢰사들이 스타트업부터 중소기업, 대기업까지 기업의 IT 외주의뢰가 다양해지고 있습니다. 내부 인하우스 인력을 대상으로 교육과 인건비를 투자하는 기회비용보다 전문적인 외주업체를 진행하는 것이 비용절감과 전문성 차원에서 메리트가 있기 때문이지요. 특히 대기업의 경우 기존의 하청 벤더사 계열이 있던 외주환경의 체질개선을 위해 프리모아에 의뢰하는 경우도 있었는데요. 프리모아의 입찰시스템과 관리시스템이 하청의 숨겨진 거품을 없애주는 역할을 하기 때문입니다.액센츄어가 조사한 기업 임원들 중 73 %는 "기업의 관료제가 생산성과 혁신을 저해하고 있다"라고 생각하고 있습니다.. 실제로 Management Lab의 보고서에 의하면, 3조 달러가 불확실한 상태에서 미국 노동력의 무려 2 천 1 백만명 정도가 '경제적 가치가 조금 있거나 아예 없는" 입장에 처해있을 수 있다고 추정하고 있다. 이러한 침체는 디지털 태생의 기업들이 가까스로 피해야했던 비용으로 인해 발생한다.이러한 기업들은 수요와 공급을 효율적으로 맞추기 위해 원격으로 재능 있는 사람들과 일하며 프리모아와 같은 온라인 외주 플랫폼으로 전환하면서 자신들의 장점에 새로운 기술을 사용하도록 만들어졌다.프리모아가 찾아본 바에 따르면 최근 한국에서도 프리랜서들이 협업 할 수 있는 마이크임팩트, 하이브아레나, 마루 180 등 코워킹스페이스가 각광받으며 이러한 디지털노마드(디지털유목민족)이 늘어나고 있습니다. 디자이너, 개발자, 기획자의 직종을 가지고 있는 그들은 영업은 프리모아와 같은 중개플랫폼을 통해 해결하고, 원격의 외주개발에 집중을 함으로써 자신의 가치를 높이고 있습니다. 프리모아는 디지털 태생의 리더는 기업에서 필요한 웹/앱 개발의 요구사항을 빠르게 충족시키고 새로운 프로젝트를 시작하며 시장의 변화에 대처하기 위해 프리모아와 같은 외주플랫폼을 자유롭게 활용을 합니다. 시장의 기회와 서비스가 각자 다른만큼 이에 필요한 경험과 기술력에 대한 니즈도 달라지기 때문에 실제 외주에서는 기존 작업을 했던 개발사에게 다른 프로젝트를 같이 외주 맡기는게 아니라 홈페이지 개발은 웹 에이전시에  "디지털 리더들은 재능에 대한 요구를 빠르게 충족시키고 이를 위해 새로운 프로젝트를 시작하며 또한 시장의 변화에 대처하기 위해 이러한 기술을 손쉽게 사용할 수 있다. 이렇게 하면서, 디지털 리더들은 자신만의 노동력 혁신을 이루기 위해 따라올 수 있는 사람들에게 길을 제시하고 있다”라고 말했다.혁신적인 기업들은 프리랜서들의 기술과 경험으로 재능의 격차를 채우기 위해 프리모아와 같은 플랫폼을 사용하여 이미 조치를 취하고 있다. 실제로, 많은 지원사업을 받는 스타트업들은 이러한 큰 변화를 이루기 전에 독립된 재능의 영향을 시험하기 위해 프리모아(외주 플랫폼)를 사용하고 있다.프리랜서들은 전세계 어디에서나 의소소통, 협업, 공유 및 브레인스토밍을 위한 플랫폼 뿐만 아니라 모바일 기술과 같은 도구에 쉽게 접근할 수 있는 작업을 온라인으로 해결하고 있습니다. 동시에 미국에서만 5 천 5 백만명을 포함한 프리랜서 노동력이 증가하고 있습니다. 프리모아가 서비스를 하고 있는 한국에서도 이러한 시대적 트렌드를 따라 아웃소싱 플랫폼 서비스가 자리를 잡아가고 있습니다. 프리모아의 경우 2012년 처음으로 아웃소싱 플랫폼 서비스를 시작하여 프리랜서 인재풀을 모으는데 약 2년 정도, 법인전환을 하여 3년정도의 운영을 하였으며 현재는 약 20,000여 명의 검증된 개발사, 디자인사와 함께 작업을 하고 있습니다. 이러한 노동의 결합된 변화는 기업들이 새로운 능력을 이용하기 위해 만반의 준비를 갖추고 있을 경우 기업 시장으로 나아감으로써 기업들에게 새로운 능력과 기회를 부여하고 있습니다. 액센츄어는 이 모델을 프리랜서 인재풀과 내부 노동력 모두를 활용할 수 있는 방법으로 서술하고 있습니다."개인이 하나의 직장과 직위에 고용되어 고정된 비즈니스 기능에 종사하는 전통적인 구조 대신에 중개시장과 같은 접근 방식은 기술, 지식 및 인력 수요를 기반으로 프로젝트에 역동적으로 팀을 함께 만드는 사람들을 지원할 것이다 "이러한 접근 방식의 잠재적 이점은 무엇일까요? 그것은 속도, 민첩성 및 가치입니다.프리모아를 자주 이용하는 기업들도 프리모아를 이용하는 가장 큰 이유를 뽑으라고 하면 적합한 작업자를 빠르게 선별할 수 있는 '속도'와 내가 원하는 경험과 기술을 가진 개발팀을 프로젝트에 따라 자유롭게 선택할 수 있는 '민첩성'이라고 생각을 하고 외주를 맡깁니다.  프리모아에 따르면, 앞으로의 노동시장은 다음과 같이 변할 것이라고 한다.  - 직원의 1인당 생산 효율성이 현저히 높은 린(lean)팀  - 기업의 인하우스 인력과 아웃소싱(전문인)업체의 TF 기회와 필요성이 증가   - 외주를 통한 기획, 개발, 디자인 프로젝트의 작업속도가 빨라지며 새로운 서비스 출시가 단축  - 전사적 기업 차원에서 투자하고 있는 IT 리소스 비용을 절감할 수 있는 기회 증가 프리모아는 향후 3 년 내에 모든 산업이 파괴적인 혁신에 직면할 것이라고 예측한다. 현재 프리모아에 등록되는 외주 프로젝트만 봐도 기존의 부동산, 화물운송, 배달, 소셜데이팅 앱 개발 등 다양한 기존의 3차 산업의 패러다임을 변화시키는 서비스들이 많습니다.  이처럼 4차 산업을 맞이하며 산업 시대의 비지니스 모델은 새로운 비지니스 모델로 대체될 것이며, 온라인 아웃소싱 플랫폼은 경제 성장의 주요 원동력이 되고, 상근 직원 및 프리랜서에 대한 인식은 완전히 뒤바뀔 것입니다. 이러한 현실에 적응하는 것은 얼리어답터들이 새로운 기기에 적응하는 것처럼 현재의 모든 기업들은 산업별로 순차적인 시련을 맞이할 것입니다. 에 대해 누가 더 빠르게 적응하고, 더 고도화된 서비스를 준비하느냐에 따라서 새로운 미래를 이끌어갈 주역이 될 것입니다.때문에 프리모아도 노동력시장에 대한 변화에 발맞추어 다양한 R&D 기술개발 투자를 하고 있습니다. 그 결과로 4월 중순에는 프리모아 외주 관리 시스템(PMS)가 정식 런칭을 하게 됩니다. 국내 첫 외주 PMS에 대한 특허를 기반으로 IT를 모르는 비전문가도 손쉽게 개발사와 소통을 하고 외주관리를 할 수 있도록 도와주는 서비스로 마켓에서 앱이 다운로드 가능합니다. #프리모아 #시장분석 #인사이트 #서비스소개  

기업문화 엿볼 때, 더팀스

로그인

/