스토리 홈

인터뷰

피드

뉴스

조회수 1447

"서울 어디를 가든 패스트파이브가 보였으면 좋겠어요"

독특한 팀, 개성 넘치는 사람들로 가득한 패스트파이브. 지금까지 다양한 팀에 속한 분들을 소개해드렸는데요, 오늘 Humans of FASTFIVE에서 만나볼 분은 이름도 생소한 프로덕트 본부, 그중에서도 서비스운영팀을 맡고 계신 홍유현 님입니다. 패스트파이브를 더 예쁘고 편안한 곳으로 만들기 위해 ‘이것저것’ 하는 유현 님의 이야기를 들어보시죠. Q. 유현 님 안녕하세요, 간단한 자기 소개를 부탁드립니다.안녕하세요, 패스트파이브 프로덕트 본부의 서비스운영팀장 홍유현입니다. 저를 한마디로 소개해보라고 하셨는데, 패스트파이브의 로다주라고 소개하고 싶네요. (*위 인터뷰 내용은 편집부의 의견과 다름을 밝힙니다.) 영화 <어벤져스>에서 엔지니어, 혹은 수리공 역할을 하잖아요. 그 느낌이 비슷하다고 생각합니다. Q. 프로덕트 본부와 서비스운영팀에서 하는 일은 어떤 것들인가요?프로덕트 본부는 패스트파이브가 제공하는 공간과 서비스, 커뮤니티에 대해 고민하고 구체적인 서비스를 만들어가는 곳이에요. 굉장히 다양한 일을 하는 팀입니다. 사실 저희 팀이 처음 만들어질 때 이름 후보가 여러 개 있었거든요. 그중 하나가 ‘이것저것 팀’이었어요. 직관적이긴 하죠. 원래는 한 팀 안에 디자인, 개발 파트 등이 분화되지 않은 채로 다 들어있었거든요. 지금처럼 나누어진 지 얼마되지 않았죠. 그래서 ‘이것저것 팀’이라는 이름이 더 어울렸을 수도 있겠네요. 저희 팀의 목적을 말씀드리면 저희가 하는 일이 쉽게 이해될 것 같아요. 저희의 궁극적인 목적은 팀이 없어지는 거예요. 멤버가 원하는 것을 캐치해서 실현시키는 게 서비스운영팀의 역할이기 때문에 언젠가는 멤버들이 더 바랄 게 없어지는 상태, 그래서 팀이 필요 없어지는 상태가 되기를 바라죠. Q. 설명을 들을수록 궁금해지네요. 더 구체적인 설명이 필요할 것 같습니다. 유현 님의 하루 일과를 소개해주세요. 어제 뭐 하셨나요?오전에는 14호점 커피 머신을 세팅했어요. 얼마 전에 오픈한 강남3호점이요. 커피머신의 원두나 커피의 양 등이 저희가 제공하는 종이컵에 맞춰서 세팅되어 있었거든요. 그런데 요즘 Go Green 캠페인을 하면서 텀블러 사용이 많이 늘었잖아요? 보통 텀블러는 종이컵보다 많은 양이 들어가서 조절이 필요하더라고요. 오전에는 그 세팅을 했습니다.자동으로 커피 양을 맞춰주는, 강남3호점의 멋진 커피머신!오후에는 강남/역삼 지부의 지점들을 돌면서 현장 체크를 했어요. 최근 신규 지점이 많이 오픈하고 있는데, 그렇다고 기존 지점에 소홀하면 안 되잖아요. 어떤 부분을 발전시켜야 할지 직접 보면서 체크합니다. 저는 그 과정을 ‘못생김을 없앤다’고 불러요. 더 예쁘고 편한 것으로 교체하죠. 예를 들어 어제는 강남 지점에서 보안업체와 미팅을 했어요. 건물과 보안업체, 패스트파이브 사이에서 의견을 조율해서 불편한 부분을 편하게 만들었죠. 오늘은 15호점인 을지로1호점에 들어갈 물품 견적을 내고 발주해야 하고, 각 지점 커뮤니티 매니저분들에게 온 연락들을 처리해야 돼요. (늘 통화 중이시더라고요.) 통화도 하고, 메신저나 문자로도 계속 연락을 받죠. 어떤 날은 오전에만 열 통 가까이의 문의 전화를 받기도 합니다. Q. 서비스운영팀에서는 어떤 가치를 가장 중시하나요?조금 주관적이기는 해요. 일단 어떤 물품을 구매할 때 패스트파이브의 공간과 어울리는지를 가장 먼저 고려합니다. 라운지, 바, OA존과 어울리는지 생각하죠. 물론 실용성도 빼놓을 수 없습니다. 멤버들이 이 물건과 공간을 더 편하고 유용하게 사용할 수 있도록 고민해야 하죠. 이런 것들을 고려하다 보니 어떤 물품 하나를 찾고, 알아보고 구매하는 데 거의 일주일 가량이 걸릴 때도 있습니다. 신규 지점이 거의 매달 오픈하고 있어서 요즘에는 물품 구매와 관련한 업무가 많은 편이에요. 비용을 절감해야 하는 동시에 비용을 사용하고 있으니 어렵네요. Q. 지금까지 맡았던 일 중 가장 어려웠던 일은 뭔가요?패스트파이브의 퀄리티에 맞는 제품을 찾는 일이 어려워요. 부끄럽지 않은 물품을 구매해서 채워 넣어야 하는데, 패스트파이브가 운영하는 공간의 수준이 점점 올라가다보니 제 기준도 높아지더라고요. 한국 시장에서는 아예 찾을 수 없는 경우도 많고요. 패스트파이브는 국내에서 처음으로 공유오피스를 시작했기 때문에 아주 작은 것 하나를 결정할 때도 시행착오를 거치게 되는데요, 그 과정이 쉽지는 않지만 꼭 필요한 일이라고 생각합니다. 패스트파이브의 역할은 멤버들이 일의 본질에 집중할 수 있도록 돕는 것입니다. 서비스운영팀은 그 일을 멤버와 가장 가까운 곳에서 하고 있는 셈이죠. 저는 서비스운영팀이 매일매일 패스트파이브의 가치를 실현하는 중이라고 믿습니다. 멤버들이 본인의 일을 제외한 다른 것에는 신경쓸 필요가 없도록 만드는 게 제 목표고요.   Q. 패스트파이브가 어떤 브랜드가 되었으면 하시나요?강남, 홍대, 잠실, 을지로… 서울 어디를 가든 패스트파이브가 보였으면 좋겠어요. 멤버들이 어디에 있어도 패스트파이브를 찾을 수 있고, 패스트파이브 간판을 보고 잠시 들러서 업무를 보고 나올 수 있는 그런 곳이 되었으면 합니다. 어디에나 사무실이 있는 셈이니 정말 편리하지 않을까요? 그리고 이제는 오피스뿐만 아니라 카페와 주거 서비스까지 제공할 예정이니 허황된 꿈은 아니라고 생각합니다. 조만간 패스트파이브라는 브랜드를 중심으로 라이프스타일이 구성되는 날이 왔으면 좋겠네요. 일상 대화에서 스타벅스가 ‘카페’라는 말을 대체하기도 하잖아요. 그것처럼 패스트파이브가 ‘오피스’, ‘사무실’이라는 말을 대체하는 모습을 보고 싶고요.  개인적인 목표를 말씀드리자면, 패스트파이브의 모든 멤버들이 입주하는 순간부터 행복한 경험을 할 수 있었으면 좋겠습니다. 제가 그렇게 만들어드리고 싶고요. Q. 서비스운영팀에서 새로운 팀원을 뽑는다면 어떤 분과 함께 일하고 싶으신가요?지금은 15호점까지 운영 중이지만 곧 30호점, 100호점까지 지점이 늘어나면 분명히 훨씬 더 많은 팀원이 필요하겠죠. 우선 남을 위하고 배려할 줄 아는 마음을 가진 분이면 좋겠습니다. 다른 사람의 입장에서 생각할 줄 알아야 패스트파이브 멤버들이 원하는 점을 잡아낼 수 있을 테니까요. 또 업무 능력 면에서는, 저희가 ‘이것저것 팀’이잖아요. 많은 경험을 해보신 분이 좋을 것 같습니다. 집에서나 학교에서, 혹은 여행을 가서 할 수 있는 작은 경험들이 이 팀에서는 큰 도움이 될 수 있거든요. 프라모델 조립이나, 학교 행사 기획 혹은 모르는 지역에서 길을 찾았던 경험 등이요. "하지만 난 일이 좋다"보통 다능은 무능이라고 하지만 서비스운영팀에서는 다능이 능력입니다. 여러 업무를 수행할 수 있는 멀티플레이어가 필요한 곳이거든요. 저희 팀에서는 새로운 팀원분이 가진 여러 능력을 충분히 발휘할 수 있도록 도와드리고 지원할 겁니다. 그러니 ‘나는 특출난 능력이 없는 것 같아’라고 생각하지 않으셨으면 좋겠습니다. 많이 도와드릴 테니 지원해주세요! Q. 마지막으로 하고 싶으신 말 자유롭게 부탁 드립니다.   훌륭한 팀원분을 영입하고 싶은 마음이 커서, 회사 홍보를 좀 할게요. 제가 패스트파이브에 들어오고 싶었던 이유 중 하나는 이곳의 문화였어요. 첫 면접날 굉장히 신기하다고 생각했어요. 대표님이 반바지 입고 모자를 쓰고 계셨거든요. 이런 자유로운 분위기가 좋았죠. 그 분위기 안에서 제가 원하는 일을 할 수 있었고요. 멤버들에게 해주고 싶은 일이 생기면 자유롭게 실행할 수 있는 분위기라고 할까요? 더 많은 분들과 패스트파이브의 문화를 만들어나가고 함께 일하고 싶습니다. 다양한 일을 하고 있지만 결국 전부 패스트파이브의 멤버들을 위한 것이라는 유현 님과의 인터뷰, 재미있게 읽으셨나요? 앞으로도 멤버들의 든든한 멀티플레이어가 되어주실 것 같네요! 그럼 저희는 다음 인터뷰로 돌아오겠습니다. 읽어주셔서 감사합니다 :)- 패스트파이브 마케팅팀 드림
조회수 882

채식주의자가 되다

나는 불과 3년 전 까지만 해도 삼겹살과 치맥 없이는 못살던 대한민국의 평범한 식습관을 가진 사람 중 한명이었다. 아침에는 항상 돼지고기 찌개와 생선을 먹어줘야 했고, 친구들과 만나면 삼겹살, 족발, 곱창, 치킨집을 하루에 다 돈적도 있을 정도로 거의 육식에 가까운 식성을 보유하고 있었다.그러다가 지금은 내 와이프가 된 한 여자를 사랑하게 됐다. 그녀는 우리나라와 참 비슷하지만 지구 정 반대편 아일랜드에서 날라온 유럽인이었고, 살생을 혐오하고 동물을 매우 사랑하는 채식주의자 였다. 사실 미국 유학시절 채식주의자들을 많이 봐 왔고, 내 룸메이트 중 한명도 채식주의자 였지만, 내 인생에 채식주의자와 연애를 해 본 적은 없었고, 사실 채식주의자의 개념조차도 모호하던 시절이었다.지구 반대편 아일랜드에서 날라온 디즈니월드의 공주같은 분위기를 풍기는 그녀는 채식주의자였다.채식주의자는 종류가 여러가지가 있지만 (건강상 채식을 하는 사람들을 제외하고는) 기본적으로는 다음과 같다.동물권 보호에 대한 개인적 신념으로 인해 동물로 분류되는 고기, 생선등의 섭취를 거부하고 과일, 곡식, 야채 등 식물성으로 구성된 음식만을 섭취하는 사람들.저런 얘기를 듣게되면 흔히들 묻는 질문이 있다.그럼 도데체 먹을 수 있는게 뭐야? 샐러드?사실 채식주의자의 역사도 깊고 영양학적으로 불균형을 해소하기 위한 채식주의자를 위한 식단이 많이 발달해 왔기 때문에 우리가 먹는 거의 대부분의 음식 메뉴들을 고기와 생선을 뺀 채식으로 만들어 먹는 것이 가능하다. 우리 부부도 사실 먹는 식단은 볶은밥, (비건)스테이크, 두부스테이크, 파스타, 야채볶음 등등 일반적으로 다른 사람들이 먹는 음식 메뉴들과 크게 다를게 없다.자주 만들어 먹는 두부 스테이크 이다.그녀가 채식을 시작한 것은 10살때 부터라고 하는데 계기는 이렇다. 어느날 가족끼리 양치는 농장에 놀러가서 양들과 뛰어 놀며 즐거운 시간을 보내고 집에 왔다. 하필 그날 엄마가 저녁 메뉴로 양고기 요리를 했다. 그녀가 혹시 이게 아까 뛰어놀던 그 양들로 만든 음식이냐고 물었고, 엄마는 같은 양은 아니지만 대략 그렇다고 대답했다. 이때 엄청난 충격의 쓰나미를 겪은 이후부터 채식주의자를 선언했다고 한다.이렇게 귀엽게 웃고 있었던 어린 새끼양이 내 저녁 식탁에 올라와 있는 메커니즘을 깨달은 것이다.이런 그녀의 영향을 받아 결국 나도 채식주의자가 되었지만, 내가 채식주의자된 과정은 그녀의 그것과 매우 다르다. 그녀는 어떤 단편적인 사건이 계기가 되어 채식주의자가 되었지만, 사실 나는 그런 단편적인 사건같은건 없다. 물론 사랑하는 마음에 모든것을 닮아간다지만, 내가 채식주의자가 된건 순전히 개인적인 고민과 성찰의 시간을 통해 점진적으로 된 것이라고 할 수 있다.나는 왜 채식주의자가 되었을까?결론부터 말하자면 나는 '가축'이라는 인간의 행위에 대한 반대의 뜻으로 채식주의자가 되기로 결심했다고 할 수 있다. 나는 가축을 반대한다.가축이라 함은 사전적으로는 인간이 집에서 기르는 동물들을 의미하겠지만, 나는 넓은 의미로 인간이 대량공급을 위해 집단적으로 사육해서 도살하게 되는 동물들을 가축이라고 정의하고 있다. 사실 생태계에서 먹이사슬이라는 건 필연적인 것이다. 풀을 먹는 초식동물이 있고, 이를 잡아먹어야만 하는 육식동물이 있는 것 처럼, 호모사피언스도 사실 태초에는 이런 먹이사슬의 한 지점에 위치한 다른 동물들 중 하나였을 뿐이다. 이들은 수렵과 채집활동으로 영양분을 섭취하였고, 다른 동물들과 마찬가지로 필요하면 사냥을 하기도 하고, 때론 다른 더 강한 육식동물에게 잡아먹히는 존재가 되기도 하였다.중요한 것은 우리 호모사피언스는 먹이사슬의 일원이었지, 먹이사슬을 벗어나서 모든 동물 위에 군림해서 그들을 대량 사육해서 도륙하는 존재는 아니였다는 것이다.나는 이런 현재 인간의 가축 행위에 있어서 그 대상이 되는 동물들의 인생에 대해 고민해 보기 시작했다. 원래 생태계라는건 먹이사슬 하에 나름의 생존권을 누리며 모든 동물들이 자유롭게 인생이란 걸 누리며 살 수 있게 해 준다. 사자의 먹이가 되는 사슴일지라도 사자에게 사냥당하기 전에는 자유롭게 풀을 뜯고 뛰어 다니고 있었을 것이고, 또 어떤 사슴은 사냥당하지 않도록 나름의 생존전략도 가지고 있었을 것이다.하지만 인간이 만든 가축 세상은 모든 동물들이 생존권을 박탈당하고, 상위 먹이사슬에게 사냥당할 100%의 확률이 된 삶을 강요받는 세상이다. 심지어 이 운명은 세대를 오가며 대물림되고, 한번 이 운명의 속박에 구속당하게 되면 자식의 자식까지 평생 이 굴레를 벗어날 수 없는 무자비한 운명이다.가축세상에서는 생존권을 박탈당하고 상위 먹이사슬에게 100% 사냥당하는 삶을 대물림 하는 세상이다. 나도 그렇고 내 와이프도 그렇고 우리는 남에게 채식주의자가 되라고 강요하지도, 기대하지도 않는다. 채식주의라는 건 일종의 신념같은 거고 개인의 신념을 남에게 강요하는 행위는 이유를 불문하고 인간의 자유를 침해하는 행위라고 생각한다. 오히려 나의 특이한 식문화 때문에 같이 식사를 하는 상대방의 자유가 제한되는 부분에 매우 미안한 마음을 가질때가 더 많다. 또한, 이게 어떤 목적성이 있는 운동 같은것도 아니다. 즉, 내가 가축을 반대하는 뜻에서 채식주의를 한다고 진짜 가축이 없어진 세상, 모든 사람들이 고기를 안 먹게 된 세상을 기대하지 않는다는 뜻이다. 사실 그런 세상은 오히려 또 다른 심각한 환경문제를 초래할 것 같다. 내 채식주의는 그냥 인간의 폭력성이 나날이 극대화되가고 있는, 그리고 내 스스로도 자중하지 않으면 나도 모르게 폭력적으로 변하기 쉬운 이 세상에서 나름의 조그마한 자기 성찰, 또는 자기 방어 기작을 마련하기 위한 몸부림 정도라고 생각하는 것이다.모든사람이 채식주의가자 되면 오히려 이 푸른 강산이 더 남아나지 않을수도...
조회수 1003

이메일도 반응형 디자인이 가능할까요?

이메일 뉴스레터를 제작하던 중 HTML 코드를 마주하게 된 경험이 있으신가요? 웹 기술과 HTML 코드에 익숙한 사람에게 조차도, 이메일의 HTML 코딩은 골치 아픈 주제입니다.웹 표준이 자리잡기 시작하면서 웹에서의 HTML 코딩은 많은 발전이 있었고, 효율적인 코딩과 다양한 기술 구현이 가능해졌습니다.하지만 이메일에서의 HTML 코딩은 상황이 많이 다릅니다.웹 표준이 지켜지기 전의 뒤죽박죽이던 HTML 코딩의 세계, 그게 바로 지금의 HTML 이메일입니다.HTML 이메일, 왜 필요할까요?텍스트로만 구성된 이메일(Plain-text Email)로도 충분히 메시지를 전달할 수 있습니다. 그럼에도 이메일 마케팅을 할 때 HTML 이메일을 사용해야 하는 이유가 몇 가지 있습니다.하이퍼링크. 다양한 요소에 하이퍼링크를 추가할 수 있습니다. 이미지나 버튼에 하이퍼링크를 추가하면 더 많은 사람을 랜딩페이지로 유도할 수 있습니다.디자인. HTML 잘 디자인된 HTML 이메일은 당신의 브랜드를 더 잘 표현합니다.위계. HTML 이메일에서는 콘텐츠의 위계를 만들 수 있습니다. 단락을 구분하거나 정렬을 다르게 하여 핵심적인 문구나 하이퍼링크를 쉽게 강조할 수 있습니다.추적. HTML 이메일은 오픈과 클릭을 추적할 수 있습니다. 오픈과 클릭은 마케팅 성과를 측정하고 전략을 개선하는데 참고할 수 있는 중요한 데이터입니다.이메일 코딩, 왜 다른가요?웹 디자이너와 퍼블리셔에게 이메일 코딩은 골치 아픈 작업입니다. 테이블 기반의 레이아웃 디자인, 인라인 스타일, 논리적이지 않은 구조의 마크업, 각종 꼼수로 대표되는 90년대로 돌아가는 것과도 같죠. 이유가 좀 많습니다.표준. 이메일에서 사용하는 HTML과 CSS는 웹 표준과는 거리가 멉니다. 이메일 클라이언트들 간에 표준도 없습니다.이메일 클라이언트들. 아웃룩, Gmail 같은 이메일 클라이언트들은 모두 HTML과 CSS를 다른 방식으로 해석하고 표시합니다. 가끔은 정말 그 정도가 심해서 어떤 클라이언트에서는 문제 없이 표시되는 이메일이 다른 클라이언트에서는 제대로 표시되지 않기도 합니다.꼼수. 정말 잘 디자인된 이메일들도 다양한 이메일 클라이언트에 대응하기 위해 각종 꼼수에 의존할 수 밖에 없습니다.자바스크립트. 자바스크립트는 웹에서 사용되는 가장 인기있는 언어 중 하나입니다. 하지만 이메일 코딩의 세계에 자바스크립트의 자리는 없습니다. 보안 문제로 이메일 클라이언트들이 자바스크립트를 차단하기 때문이죠. 당연한 처사입니다. 하지만 이 때문에 이메일에서 인터랙션은 포기해야 합니다.인라인 스타일(Inline styles). 웹에서는 본문의 구조(structure)를 정의하는 것과 스타일을 정의하는 것을 분리하여 더 쉽게 스타일을 관리할 수 있습니다. 하지만 대부분의 이메일 클라이언트들은 인라인 스타일(HTML 태그에 직접 스타일을 정의하는 방식)만 지원하기 때문에, 이메일에서는 어쩔 수 없이 인라인 스타일을 사용해야 합니다.다행히 많은 사람들이 시대에 뒤떨어진 이메일 코딩 환경에서 나름의 해법을 찾기 위해 노력하고 있습니다. 앞서 경험한 사람들이 그 결과물을 더 많은 사람들과 나누기 위해 공개하기도 합니다.Responsive Email Templates: 반응형으로 만든 다양한 유형의 이메일 템플릿을 무료로 다운로드 할 수 있습니다.The Ultimate Guide to CSS: 이메일 클라이언트별로 지원하거나 지원하지 않는 태그들이 일목요연하게 정리되어 있습니다.참고: Can Email Be Responsive?#슬로워크 #스티비 #마케팅 #마케터 #디자인 #디자이너 #CSS #인사이트 #꿀팁
조회수 1073

딥워크: 당신이 직장에서 성공하기 위한 마법의 키워드

최근 정부의 주 52시간 근무제 시행에 따라 국내 기업들이 바쁘게 변화의 움직임을 보이고 있다. 제한된 시간안에 최대한 많은 업무량을 소화해내기 위해서는 직원들의 전체적인 생산성을 높이는 것이 관건인데, 삼성전자와 NHN등의 대기업들은 '딥워크'를 이에 대한 해결 방안으로 보고 있다. NHN의 경우 월 근무 시간 총량은 유지하되 일 근무시간을 최소 4시간에서 최대 10시간까지 자유롭게 하는 뉴 퍼플타임제 도입과 함께 업무 성과 유지를 위한 딥워크 캠페인 역시 도입하고 있다. '딥워크(Deep Work)'는 사람의 인지능력을 한계까지 밀어붙이는 완전한 집중의 상태에서 수행하는 직업적 활동을 뜻한다. 미국 명문 대학교인 조지타운 대학교 (Georgetown University)에서 컴퓨터 공학 교수로 재임 중인 뉴포트 교수는 자신이 교수로서 최고의 성과를 내기 위해서는 기술의 사용을 멀리하고 온전히 몰입할 수 있는 시간이 필요하다고 주장한다. 현대의 기술들은 사람들의 삶을 보다 편리하게 만들어 주었지만 동시에 몰입할 수 있는 시간을 현저하게 줄어들게 만든 주범이다. 그 중에서도 집중력에 가장 큰 영향력을 끼치는 기술으로는 소셜 미디어를 들 수 있을 것이다. 하루에도 수십번씩 사람들은 스마트폰이나 컴퓨터를 통해서 소셜 미디어 계정을 확인하고, 굳이 확인하지 않더라도 좋아요나 댓글이 달릴 때마다 울리는 알림 때문에 주의력이 분산되는 상황을 겪는다. 소셜 미디어에서 받는 알림을 모두 꺼놓더라도 비슷한 방해 요소들에서 완전히 벗어나기란 쉽지 않다. 일반적으로 직장인들은 업무 상황 속에서 계속해서 날아드는 이메일이나 메시지를 무시하고 필요한 일에만 온전히 집중하기 어렵기 때문이다. 또 하루 중간중간 꼭 참여해야 하는 미팅이나 상사 혹은 동료와의 잡담들과 같은 작고 다양한 요소들로 부터 끊임 없이 방해를 받고 있다. 이런 상황이 지속되면서 방해 요소들에 익숙해지다 보면 우리가 알지 못하게 우리의 업무 생산성이 크게 하락하게 되는 결과가 발생한다.딥워크로 생산성을 높이는 방법 뉴포트 교수는 그의 저서에서 딥워크의 중요성 뿐만 아니라 이를 실천하는 방법 역시 소개한다. 그는 간단하게는 업무에 집중해야 하는 시간 동안에 스마트폰을 쓰지 않고 집중하는 법이나 스마트폰과 개인 PC에서 받아보게 되는 알람을 잠시 꺼두는 법에서 부터 본질적인 딥워크를 실천하는 수도승 방식, 이원적 방식, 운율적 방식, 그리고 기자 방식에 대해서 설명한다. 1. 수도승 방식 (Monastic Strategy)이름에서 유추할 수 있듯이 수도승 방식은 피상적인 일(지적 노력이 필요하지 않은, 종종 다른 곳에 정신을 팔면서 수행하는 부수적인 작업)을 전부 없애거나 크게 줄여서 딥워크를 위한 시간을 극대화하는 방식을 뜻한다. 이 방식은 하나의 큰 목표를 추구하고 한가지 일을 특출나게 잘 하는 것이 직업적 성공에 있어 중요한 사람들이 택하는 방식이기도 하다. 유명한 과학 소설가인 닐 스티븐슨은 피상적인 일을 최대한 줄여나가기 위해 그에게 보내는 이메일에 답변조차 하지 않는다. 컨퍼런스나 참석하고 이메일을 꼬박꼬박 답변을 하며 질 낮은 소설을 발표하는 것 보다 그의 본업에 온전히 몰입하여 꾸준하게 좋은 소설을 출간해내는 것이 그에게 가장 중요했던 것이다. 2. 이원적 방식 (Bimodal Strategy)유명한 심리학자이자 뛰어난 저술가인 카를 융은 수도승 방식을 따르지 않고서도 그 만의 방식으로 딥워크를 해냈다. 그는 글을 쓸 때에는 해당 작업을 방해할 수 있는 모든 요소들을 차단하고 오로지 작업에만 몰두하지만 그렇지 않을 때에는 학회나 여러 작은 이벤트등에 참석하는 등 피상적인 작업을 없애지는 않았다. 대신 시간을 분명히 나누어 일부는 딥워크, 나머지는 피상적인 일들을 포함한 다른 일들에 할애했다.대부분의 사람들의 경우에는 수도승 방식을 택하기 어려운데, 이것은 심층적이지 않은 일에 상당한 시간을 들이지 않으면 직업적 성공을 이뤄낼 수 없는 사람들이 많기 때문이다. 와튼 경영대학원의 교수이자 수 많은 베스트셀러를 출간한 애덤 그랜트 교수 역시 이원적 방식으로 딥워크를 실천하고 있다. 한 학기에는 강의에 몰두하고, 다른 학기에는 연구에만 온전히 몰입하는 방식이다. 그랜트 교수가 딥워크 상태에 들어갔을 때에는 소설가 스티븐슨과 마찬가지로 "자리에 없습니다" 라는 알림 메일을 설정해두고 오로지 연구에만 몰입하는 것으로 유명하다. 3. 운율적 방식 (Rhythmic Strategy)브라이언 채플은 박사 논문을 작성하던 중 대학 교수로서의 정식 일자리를 제안 받게 되었고, 직업적으로 좋은 기회였기 때문에 그 제의를 받아들였으나 정작 논문 작성에 집중할 수있는 시간이 부족해졌다. 결과적으로 그는 아침 5:30에 일어나 7:30까지 하루 두시간 정도 딥워크 모드에 들어서서 논문을 작성하기로 결심한다. 이로 인해 그는 하루에 3~4쪽, 2~3주에 논문 한 챕터 분량을 완성해낼 수 있었고, 효과가 좋아서 딥워크 하는 시간을 늘리기 위해 4:45분에 일어나기 시작했다. 이처럼 운율적 방식은 딥워크를 하려는 일반 직장인들 사이에서 가장 흔하게 채택되는 방법이다. 수도승 방식이나 이원적 방식과는 다르게 운율적 방식은 한 번에 많은 결과를 도출해내기 보다는 꾸준하게 조금씩 장기적으로 성과를 내는 방식이다. 이러한 방식은 하루에도 수십번씩 이메일을 확인하고 미팅에 참석해야하는 등 피상적인 업무가 필수적인 대부분의 사람들에게 적합한 방법이다. 4. 기자 방식 (Journalistic Strategy) 이 방식은 뉴포트 교수가 기자들이 마감을 지켜야하는 그들의 일의 속성상 언제든지 집필 모드로 전환하도록 훈련 받는데서 이름을 따온 방식으로 뉴포트 교수가 가장 선호하는 딥워크 방식이다. 기자 방식의 딥워크는 일과 중에라도 언제든지 시간이 날 때마다 딥워크를 하는 방식인데, 이를 효과적으로 실천하는 사람으로 '미국 최고의 잡지사 기자' 중에 한명으로 선정되고, 벤저민 프랭클린, 알베르트 아인슈타인, 그리고 스티브 잡스의 전기를 쓰고, 타임지의 편집장 자리에까지 올랐던 기자인 월터 아이작슨이 바로 이러한 방식으로 일하는 사람들을 대표한다.이 방식은 딥워크 초심자 보다는 하루 중 어느 시간에라도 몰입이 필요하다고 생각이 되는 상황이라면 곧 바로 딥워크 모드로 전환하여 온전하게 집중할 수 있도록 훈련이 된 사람들에게 적합하다. 뉴포트 교수는 훈련이 필요한 온전한 기자 방식 보다는 하루 일과를 확인하고 시간을 쪼개어 딥워크를 할 수 있는 시간을 어느정도 미리 계획해 두는 중도적인 방식을 추천한다. 직업적 성공을 위한 마법의 키워드, 딥워크글로벌 오피니언 리더들과 기업들 역시 딥워크의 필요성에 대해서 주목하고 있다. 앞서 언급된 세계적인 심리학자인 카를 융은 딥워크가 필요할 때마다 산속의 돌로 지은 움집에 들어가 자신을 주변의 방해 요소로 부터 고립시켰다. 미국의 44대 대통령인 버락 오바마의 경우 저녁형 인간으로 유명한데, 그 역시 늦은 시간에 독서, 연설문 작성이나 수정, 메모 작성, 문서 확인이나 사색에 잠기는 일에 몰두하며 필요한 업무를 처리해왔다고 알려져 있다.세일즈포스(Salesforce), 에버노트(Evernote), 트렐로(Trello)와 같은 세계적 기업들 역시 딥워크에 주목하며 어떻게 딥워크를 업무에 적용해야 각 직무에 맞게 생산성을 향상시킬 수 있는가에 대해 끊임 없이 고민하고 있다. "여섯살 짜리 아이도 스마트폰을 통해서 해낼 수 있는 일에 대해서는 큰 보상이 없습니다. 그러나 당신이 유려한 알고리즘, 법률 자문서, 혹은 산문을 쓰고 방대한 양의 데이터를 깔끔하게 분석해 낼 수 있는 사람이라면 당신의 인스타그램 팔로워수가 몇 명이든지에 관계 없이 사람들은 당신을 찾을 것입니다." 라는 뉴포트 교수의 말을 따르며 말이다. 국내는 물론 해외에서도 회사에 늦게 까지 남아 오랫동안 야근을 하며 많은 일을 처리하는 방식은 이제 더 이상 생산적이라 방식이라고 평가 받지 못하고 있다. 오히려 주어진 시간 내에 집중력있게 주어진 업무량을 처리하고 업무 시간이 아닌 시간을 충분한 휴식을 취하고 개인의 발전을 위해서 사용하는 것이 중요하다고 생각되는 시대가 다가왔다. 한정된 시간안에서 최대의 업무 효율을 내기 위해서는 업무에 관계없는 방해 요소를 모두 차단하고 이메일이나 업무 메신저 확인 그리고 미팅 참여에 소요되는 시간들에 대해서 미리 계획하고 최소화하여 딥워크의 효과를 극대화하고자 하는 노력이 필요한 시점이다.협업툴 콜라비 알아보기
조회수 2400

하얗게 불태웠다. 트레바리 홈페이지 리라이팅 후기

1월부터 4월까지 한 시즌에 걸쳐 트레바리 홈페이지를 다시 구현하였다. 겉으로 보이는 UI/UX 디자인 개편을 넘어, DB 설계와 서버 및 웹 페이지 개발까지 새롭게 진행했다. 기존의 홈페이지를 완전히 버리고, 새로운 아키텍처를 가진 홈페이지를 구현하여 데이터를 이전하는 일이었다.4개월 동안 반응형 웹 사이트 1개, 크루/파트너 어드민 사이트 2개와 함께 서버까지 구현했다..지난 시즌 동안 홈페이지의 여러 기능들을 개선하면서 변화가 필요하다고 생각했다. 단순히 '남이 짜둔 코드가 별로예요'에서 나온 불편 때문만은 아니었다. 회사가 겪는 빠른 성장에 발맞춰 시스템이 뒷받침이 되어줘야 하는데 기존의 아키텍처로는 그러기가 어려웠다. 적은 트래픽에도 툭하면 죽는 서버 덕에 접속이 몰리는 멤버십 신청 기간 동안에는 서버 비용을 배로 늘려야 했고, 푸시 알림의 필요성으로 모바일 앱을 구현하고 싶어도 별도의 API 서버가 존재하지 않아서 시도하기 힘들었다. 결국 지난 시즌 말, 홈페이지를 새로운 아키텍처에서 다시 구현하겠다는 호기로운 결정을 내렸다.처음 시작할 때만 해도 아주 큰 어려움은 없겠거니 했다. 트레바리 입사 이전에 여러 프로젝트를 턴키로 수주받아 진행했던 경험이 있었기 때문이었다. 그러나 몇천 명, 많게는 몇만 명이 접속하는 운영 중인 서비스를 만들어 이전하는 일은 새 서비스를 만드는 일과는 또 다른 일이었다.게다가 이전 글에서 이야기했던 것처럼 트레바리에는 풀타임으로 일하는 개발자나 디자이너가 나 혼자이기 때문에 해야 하는 일이 절대적으로 많았다. 개발 맨 아랫단부터 웹 페이지의 디자인까지 기간 내에 해내는 것은 쉽지 않은 일이었다. 덕분에 매일이 도전이었던 4개월을 보냈고, 런칭 3주 전쯤에는 잠시 슬럼프를 겪기도 했다. 하지만 트레바리가 한 번은 꼭 겪어야 하는 과제였기에 꾸역꾸역 해내면서 런칭까지 왔다. 오늘은 그 이야기를 정리해보려고 한다.리라이팅왜, 무엇을 했나요?1. 과도한 서버 비용과 느린 속도홈페이지를 다시 만들어야겠다는 생각을 가장 많이 하게 된 이유는 비용과 속도였다. 동시 접속 유저 수가 천 명이 안 되는 서비스에서 월 100만 원가량의 서버 비용이 나왔고, 평균 페이지 로딩 속도가 3초를 넘어갔다.그동안 트레바리 홈페이지는 여러 프리랜서 개발자들이 거쳐가며 유지되느라 DB나 쿼리 구조에 대한 고민을 장기적으로 해볼 기회가 없었다. 요청받은 기능을 구현하기 위해 필요한 테이블을 그때그때 만들고, 활용할 데이터가 다른 테이블에 있다면 조인을 해서 불러왔다. 그 결과 대부분의 데이터 요청에 n+1 쿼리가 존재했고, 한 명의 유저가 한 번의 접속만으로도 수많은 쿼리 요청을 하는 상황이었다.최대한 기존의 홈페이지에서 이를 해결해보려고 노력했다. 처음 입사했을 때만 해도 10초 이상의 시간이 들었던 독서모임의 리스트 요청을 3초까지 줄이고, 접속자 수가 40%가 늘어났어도 서버 비용을 늘리지 않을 수 있었다. 그러나 상대적으로 빨라졌을 뿐 느린 편이라는 점은 변함이 없었다. 매 시즌 멤버 수가 30~40% 씩 증가하는 추세대로라면 다음 시즌에도 비슷한 비용을 유지할 수 있을 거란 보장 또한 없었다.여기서 더 개선하려면 DB 구조를 변경하고, 수많은 코드를 갈아엎어야 했다. 필요하다면 하면 되는 일이었지만 기존의 아키텍처인 레일즈 웹 애플리케이션을 유지한다면 당장의 퍼포먼스를 개선하더라도 언제까지 높은 퍼포먼스를 유지할 수 있을지 의문이었다. 성장에 따라 요구되는 시스템들을 다 지원해줄 수 있을지도 미지수였다. 언젠가 아키텍처를 변경해야 한다면 최대한 빠른 시일인 지금 하는 것이 효율적이라 판단했다.Heroku에서 관리하던 서버를 AWS의 EC2로 변경하면서 DB 또한 PostgresSQL에서 AWS 의 DynamoDB로 이전했다. RubyOnRails를 사용하여 단일 웹 애플리케이션으로 구현했던 홈페이지를 Typescript를 기반으로 프론트엔드와 백엔드를 나눴다. React로 사용하여 웹사이트를 구현하였고, Node.js로 GraphQL을 적용하여 서버를 구현하였다.덕분에 월 100만 원가량이 들던 비용을 월 30만 원까지 낮출 수 있었다. 속도는 이전보다는 빨라졌으나 기대만큼 빨라지지는 않아 캐싱 등을 적용하여 차츰 줄여나가고 있다. 변경한 현재 아키텍처로는 트래픽이 늘어나더라도 이전처럼 비용을 배로 늘리지 않아도 되었으며, 다양한 방법으로 속도를 개선하는 작업도 시도해 볼 수 있게 되었다.2. 기술 부채기술 부채가 쌓인 모습 (...)이미지 출처: 스마트스터디앞서 말했던 것처럼 기존 홈페이지는 여러 프리랜서 개발자들이 거쳐간 터라 뻔하게도 기술 부채가 쌓였다. 홈페이지와 관련된 문서는 없고, 크루들은 사용하는 기능들을 부분적으로만 알고 있었다. 그런 상황에서 몇 명의 크루들이 퇴사와 입사를 거치니 그나마 구전으로라도 유지되던 홈페이지 정보가 점점 사라졌다.홈페이지에 대해 궁금한 점이 생기면 직접 코드를 뒤적이며 파악해보는 수밖에 없었다. 그래서 모든 크루들이 유일한 개발자인 나에게 물어보는 것 말고는 홈페이지에 대해 알 수 있는 다른 방도가 없었다. 이 외에도 새로운 기능을 구현했더니 미처 파악하지 못한 곳에서 버그가 터진다거나, 안 쓰는 줄 알고 삭제한 코드가 사실 어디선가 제기능을 하고 있거나 하는 때도 잦았다.이런 기술 부채를 청산하려면 1) 대부분의 기능들을 파악하고 있는 담당자가 있고 2) 지원하는 기능들을 잘 정리한 문서가 필요했다. 1번은 직접 처음부터 리라이팅을 진행했으니 자연스레 해결되었으나, 다른 크루들도 많은 기능들에 대해 파악하고 있으면 더 효율적일 거라 생각했다. 그래서 새로 구현되는 기능이나 변경 사항에 대해서 매주 주간 회의 때 공유를 하고 있으며, 배포를 할 때마다 실시간으로 에버노트와 슬랙의 배포 노트 채널을 통해 배포 내용을 공유하고 있다. 이전에도 하고 있었으나 더 잘, 자주, 자세히 해야겠다고 새삼 깨달았고 노력 중에 있다.2번을 위해서는 홈페이지 기능 설명에 대한 문서를 작성하기 시작했다. 아직 가장 효율적인 포맷이 무엇인지는 찾지 못해서 방황하고 있지만 최대한 쉽고 자세하게 쓰는 방향으로 진행 중이다.사랑과 따뜻함이 넘치는 우리 크루들 3. 복잡하고 이유 없는 UI기존의 홈페이지는 의외로(?) 다양한 기능들이 있었지만 유저들이 모르거나 사용하지 않는 경우가 많았다. 대부분의 기능들과 인터페이스들이 중요도에 대한 고민 없이 '있으면 좋을 것 같다'는 이유로 덕지덕지 추가되었다. 게시판이나 다이어리 같은 메뉴들은 사용률이 채 5%가 안되지만 상단 메뉴에 자리 잡고 있었고, 북클럽 리스트의 페이지에는 딱 한 번만 읽으면 되는 설명글이 화면의 반을 차지하고 있었다.멤버들이 트레바리에서 가장 활발하게 누려줬으면 좋겠다고 생각하는 활동은 독서모임과 이벤트다. 내 클럽이 아닌 다른 다양한 클럽에도 참여해보고, 살면서 해보지 못한 경험들을 이벤트를 통해 체험해봤으면 좋겠다. 그런 고민으로 상단 메뉴에는 독서모임과 이벤트, 내 활동 정보를 볼 수 있는 마이페이지만 배치하였고 FAQ나 공지사항과 같은 자잘한 것들은 하단의 footer로 내리거나 일부 기능들을 임시적으로 지원하지 않기로 했다.리라이팅 전리라이팅 후직관적인 UI는 파트너 어드민에서도 절실하게 필요했다. 기존의 어드민 UI는 따로 교육이 필요할 정도로 복잡했기 때문이었다. 한 명의 파트너에게 자신이 관리하는 클럽 외의 모든 클럽 정보가 노출되었다. 클럽 정보에서도 봐야 할 정보와 보지 않아도 될 정보가 혼재되어 보이고 있었다. 파트너의 수는 점점 늘어나는데 그때마다 홈페이지까지 교육까지 따로 해야 하는 것은 리소스가 많이 드는 일이었다.파트너가 자신의 모임을 이끌기 위해 정말 필요한 일에만 집중할 수 있도록 신경 써서 구현했다. 모임에 참석하는 멤버 리스트, 모임에서 읽을 책과 발제문 등을 등록하고 수정하는 페이지, 출석 체크를 할 수 있는 기능만으로 구성했다. 항시 봐야 하는 매뉴얼과 FAQ는 따로 메뉴로 빼두었다.파트너 어드민의 모임 정보 설정 페이지 리라이팅 전과 후4. 데이터로 소통하는 회사트레바리는 점점 데이터로 소통하는 회사가 되고 싶다. 어떤 유저가 어디에서 불편을 겪고, 어떤 부분을 좋아하는지 알고 싶다. 사람들이 독서모임에 만족하면 홈페이지에서 어떻게 활동하는지, 혹여 만족하지 않았다면 그때는 또 어떻게 활동하는지 궁금하다. GA와 A/B 테스트 등의 방법들을 통해 데이터를 보며 이를 파악하고 싶다.기존 홈페이지는 전통적인 페이지 단위로 돌아가는 레일즈 웹 애플리케이션이었으므로 따로 제이쿼리 등을 사용해야지만 이를 구현할 수 있었다. 그래서 페이지 단위의 웹을 벗어나 React를 활용한 컴포넌트 단위의 웹 사이트를 구축했다. 장기적으로 계획적이고 세밀한 트래킹이 가능하도록 기반을 닦았다.또 기존의 홈페이지에서는 유저에게 오류 제보를 받아도 이를 확인해보는 것이 어려웠다. 그래서 지금의 시스템에는 Apollo engine과 Cloud watch를 이용하여 여러 로그들을 트래킹 하기 시작했다.리라이팅 런칭 2주 차,아쉬웠던 점들리라이팅 한 홈페이지를 런칭한 지 2주일이 지났다. 런칭 후에 한참을 정신없이 보내다가 이제야 조금 숨을 돌릴 수 있게 되어 이 글도 쓰기 시작했다. 런칭만 하면 마음이 편해질 거라 예상했는데 막상 다가오니 그렇지도 않았다. 더 바쁘고 정신없던 것은 물론이요, 아쉬운 점들만 눈에 밟혀서 마음이 무거웠다. 잘한 것보다 아쉬웠던 점들이 나를 더 성장하게 만들어 줄 것이라는 생각으로 스스로를 위로하여 어떤 것들이 아쉬운지도 정리해보았다.1. 트래픽이 몰리는 피크타임에 대한 대비 미흡배달의 민족이 식사 시간마다 트래픽이 몰리는 피크타임이 존재하듯, 트레바리도 독후감 마감 시간이라는 피크타임이 존재했다. 유저들이 모든 시간 대에 일정하게 접속하는 하는 것이 아닌 특정 시간에 몰아서 접속하는 것을 고려하여 그때의 속도를 잘 잡았어야 했다. 이를 미리 고려하여 캐시와 같은 여러 대비책들을 세워두었다면 유저들이 느린 홈페이지가 주는 불편을 덜 겪었을 거라고 생각한다.2. 치밀하지 못한 안내런칭 직후 오는 많은 문의들이 실제 오류가 아닌 제대로 된 안내가 없어 오류로 인지하는 경우였다. 예를 들어 기존에는 있었으나 사라진 주소와 같은 404 페이지 접근 시에는 안내 후 메인 페이지로 보내버리거나 하는 안내가 있었으면 많은 문의들을 대응하지 않아도 됐을 것이다.3. 운영 크루 업무 이해도 낮음리라이팅을 할 때 다른 크루들과 커뮤니케이션을 하는 일에 많은 리소스를 쏟지 않았었다. 다른 크루들의 업무에 대해 꽤 잘 이해하고 있다고 생각했기 때문이었다. 내가 생각하기에 필요할 것 같은 기능들만 어드민에 담았고, 그 결과로 크루들이 런칭 직후에 엄청난 불편과 수고로움을 겪게 만들었다.4. 조급함리라이팅을 진행하는 기간 동안 마음이 급해서 눈앞에 보이는 기능들을 빨리 쳐내는 것에 급급했다. 그러다 보니 각 기술에 대한 문서들을 꼼꼼하게 읽어내지 못해 놓친 부분이 많았다. 특히 한 번도 경험해본 적 없는 각종 브라우저와 브라우저 버전, PC와 모바일 대응 등에서 많이 놓쳤다. 평소 웹 표준 관련 문서를 잘 읽어두었다면 이런 실수는 덜하지 않았을까 생각했다. 또 틈틈이 작성했던 코드를 되돌아보고 개선하는 시간도 가졌어야 했는데 조급함 때문에 그러지 못했다. 이런 부분들은 개발자가 평소에 항시 주의해야 할 모습이라 생각했다.이번 리라이팅을 시작으로 트레바리가 온라인의 경험까지 멋진 서비스가 될 수 있기를 희망한다. 아직은 부족한 점이 많지만 사람들이 독서모임에 참석하기까지 겪는 온라인에서의 경험을 멋지게 만들고 싶다. 필요한 기능들을 적재적소에 구현하고, 말보다는 UI로 커뮤니케이션을 잘하는 개발자가 되기 위해 계속 노력할 것이다.지난 4개월 동안 참 힘든 시간도 많았다. 그럼에도 불구하고 크루들과 주변의 개발자분들에게 여러 도움을 받으면서 어려운 난관들을 헤쳐나갈 수 있었다. 홈페이지 변경이 아니어도 바쁜 일이 많은 시즌 시작 시기에 홈페이지 관련 문의가 쏟아졌다. 그런 상황에서 나를 탓하기보다는 오히려 걱정해주고 격려해주는 동료들이 있었다. 새삼스레 좋은 사람들과 함께하고 있다는 생각을 하며 일을 더 열심히, 잘 하는 것으로 보답하고 싶다고 생각했다.#트레바리 #기업문화 #조직문화 #CTO #스타트업CTO #CTO의일상 #인사이트
조회수 3266

Attention is all you need paper 뽀개기

이번 포스팅에서는 포자랩스에서 핵심적으로 쓰고 있는 모델인 transformer의 논문을 요약하면서 추가적인 기법들도 설명드리겠습니다.Why?Long-term dependency problemsequence data를 처리하기 위해 이전까지 많이 쓰이던 model은 recurrent model이었습니다. recurrent model은 t번째에 대한 output을 만들기 위해, t번째 input과 t-1번째 hidden state를 이용했습니다. 이렇게 한다면 자연스럽게 문장의 순차적인 특성이 유지됩니다. 문장을 쓸 때 뒤의 단어부터 쓰지 않고 처음부터 차례차례 쓰는 것과 마찬가지인것입니다.하지만 recurrent model의 경우 많은 개선점이 있었음에도 long-term dependency에 취약하다는 단점이 있었습니다. 예를 들어, “저는 언어학을 좋아하고, 인공지능중에서도 딥러닝을 배우고 있고 자연어 처리에 관심이 많습니다.”라는 문장을 만드는 게 model의 task라고 해봅시다. 이때 ‘자연어’라는 단어를 만드는데 ‘언어학’이라는 단어는 중요한 단서입니다.그러나, 두 단어 사이의 거리가 가깝지 않으므로 model은 앞의 ‘언어학’이라는 단어를 이용해 자연어’라는 단어를 만들지 못하고, 언어학 보다 가까운 단어인 ‘딥러닝’을 보고 ‘이미지’를 만들 수도 있는 거죠. 이처럼, 어떤 정보와 다른 정보 사이의 거리가 멀 때 해당 정보를 이용하지 못하는 것이 long-term dependency problem입니다.recurrent model은 순차적인 특성이 유지되는 뛰어난 장점이 있었음에도, long-term dependency problem이라는 단점을 가지고 있었습니다.이와 달리 transformer는 recurrence를 사용하지 않고 대신 attention mechanism만을 사용해 input과 output의 dependency를 포착해냈습니다.Parallelizationrecurrent model은 학습 시, t번째 hidden state를 얻기 위해서 t-1번째 hidden state가 필요했습니다. 즉, 순서대로 계산될 필요가 있었습니다. 그래서 병렬 처리를 할 수 없었고 계산 속도가 느렸습니다.하지만 transformer에서는 학습 시 encoder에서는 각각의 position에 대해, 즉 각각의 단어에 대해 attention을 해주기만 하고, decoder에서는 masking 기법을 이용해 병렬 처리가 가능하게 됩니다. (masking이 어떤 것인지는 이후에 설명해 드리겠습니다)Model ArchitectureEncoder and Decoder structureencoder는 input sequence (x1,...,xn)<math>(x1,...,xn)</math>에 대해 다른 representation인 z=(z1,...,zn)<math>z=(z1,...,zn)</math>으로 바꿔줍니다.decoder는 z를 받아, output sequence (y1,...,yn)<math>(y1,...,yn)</math>를 하나씩 만들어냅니다.각각의 step에서 다음 symbol을 만들 때 이전에 만들어진 output(symbol)을 이용합니다. 예를 들어, “저는 사람입니다.”라는 문장에서 ‘사람입니다’를 만들 때, ‘저는’이라는 symbol을 이용하는 거죠. 이런 특성을 auto-regressive 하다고 합니다.Encoder and Decoder stacksEncoderN개의 동일한 layer로 구성돼 있습니다. input $x$가 첫 번째 layer에 들어가게 되고, layer(x)<math>layer(x)</math>가 다시 layer에 들어가는 식입니다.그리고 각각의 layer는 두 개의 sub-layer, multi-head self-attention mechanism과 position-wise fully connected feed-forward network를 가지고 있습니다.이때 두 개의 sub-layer에 residual connection을 이용합니다. residual connection은 input을 output으로 그대로 전달하는 것을 말합니다. 이때 sub-layer의 output dimension을 embedding dimension과 맞춰줍니다. x+Sublayer(x)<math>x+Sublayer(x)</math>를 하기 위해서, 즉 residual connection을 하기 위해서는 두 값의 차원을 맞춰줄 필요가 있습니다. 그 후에 layer normalization을 적용합니다.Decoder역시 N개의 동일한 layer로 이루어져 있습니다.encoder와 달리 encoder의 결과에 multi-head attention을 수행할 sub-layer를 추가합니다.마찬가지로 sub-layer에 residual connection을 사용한 뒤, layer normalization을 해줍니다.decoder에서는 encoder와 달리 순차적으로 결과를 만들어내야 하기 때문에, self-attention을 변형합니다. 바로 masking을 해주는 것이죠. masking을 통해, position i<math>i</math> 보다 이후에 있는 position에 attention을 주지 못하게 합니다. 즉, position i<math>i</math>에 대한 예측은 미리 알고 있는 output들에만 의존을 하는 것입니다.위의 예시를 보면, a를 예측할 때는 a이후에 있는 b,c에는 attention이 주어지지 않는 것입니다. 그리고 b를 예측할 때는 b이전에 있는 a만 attention이 주어질 수 있고 이후에 있는 c는 attention이 주어지지 않는 것이죠.Embeddings and Softmaxembedding 값을 고정시키지 않고, 학습을 하면서 embedding값이 변경되는 learned embedding을 사용했습니다. 이때 input과 output은 같은 embedding layer를 사용합니다.또한 decoder output을 다음 token의 확률로 바꾸기 위해 learned linear transformation과 softmax function을 사용했습니다. learned linear transformation을 사용했다는 것은 decoder output에 weight matrix W<math>W</math>를 곱해주는데, 이때 W<math>W</math>가 학습된다는 것입니다.Attentionattention은 단어의 의미처럼 특정 정보에 좀 더 주의를 기울이는 것입니다.예를 들어 model이 수행해야 하는 task가 번역이라고 해봅시다. source는 영어이고 target은 한국어입니다. “Hi, my name is poza.”라는 문장과 대응되는 “안녕, 내 이름은 포자야.”라는 문장이 있습니다. model이 이름은이라는 token을 decode할 때, source에서 가장 중요한 것은 name입니다.그렇다면, source의 모든 token이 비슷한 중요도를 갖기 보다는 name이 더 큰 중요도를 가지면 되겠죠. 이때, 더 큰 중요도를 갖게 만드는 방법이 바로 attention입니다.Scaled Dot-Product Attention해당 논문의 attention을 Scaled Dot-Product Attention이라고 부릅니다. 수식을 살펴보면 이렇게 부르는 이유를 알 수 있습니다.Attention(Q,K,V)=softmax(QKT√dk)V<math>Attention(Q,K,V)=softmax(QKTdk)V</math>먼저 input은 dk<math>dk</math> dimension의 query와 key들, dv<math>dv</math> dimension의 value들로 이루어져 있습니다.이때 모든 query와 key에 대한 dot-product를 계산하고 각각을 √dk<math>dk</math>로 나누어줍니다. dot-product를 하고 √dk<math>dk</math>로 scaling을 해주기 때문에 Scaled Dot-Product Attention인 것입니다. 그리고 여기에 softmax를 적용해 value들에 대한 weights를 얻어냅니다.key와 value는 attention이 이루어지는 위치에 상관없이 같은 값을 갖게 됩니다. 이때 query와 key에 대한 dot-product를 계산하면 각각의 query와 key 사이의 유사도를 구할 수 있게 됩니다. 흔히 들어본 cosine similarity는 dot-product에서 vector의 magnitude로 나눈 것입니다. √dk<math>dk</math>로 scaling을 해주는 이유는 dot-products의 값이 커질수록 softmax 함수에서 기울기의 변화가 거의 없는 부분으로 가기 때문입니다.softmax를 거친 값을 value에 곱해준다면, query와 유사한 value일수록, 즉 중요한 value일수록 더 높은 값을 가지게 됩니다. 중요한 정보에 더 관심을 둔다는 attention의 원리에 알맞은 것입니다.Multi-Head Attention위의 그림을 수식으로 나타내면 다음과 같습니다.MultiHead(Q,K,V)=Concat(head1,...,headh)WO<math>MultiHead(Q,K,V)=Concat(head1,...,headh)WO</math>where headi=Attention(QWQi,KWKi,VWVi)dmodel<math>dmodel</math> dimension의 key, value, query들로 하나의 attention을 수행하는 대신 key, value, query들에 각각 다른 학습된 linear projection을 h번 수행하는 게 더 좋다고 합니다. 즉, 동일한 Q,K,V<math>Q,K,V</math>에 각각 다른 weight matrix W<math>W</math>를 곱해주는 것이죠. 이때 parameter matrix는 WQi∈Rdmodelxdk,WKi∈Rdmodelxdk,WVi∈Rdmodelxdv,WOi∈Rhdvxdmodel<math>WiQ∈Rdmodelxdk,WiK∈Rdmodelxdk,WiV∈Rdmodelxdv,WiO∈Rhdvxdmodel</math>입니다.순서대로 query, key, value, output에 대한 parameter matrix입니다. projection이라고 하는 이유는 각각의 값들이 parameter matrix와 곱해졌을 때 dk,dv,dmodel<math>dk,dv,dmodel</math>차원으로 project되기 때문입니다. 논문에서는 dk=dv=dmodel/h<math>dk=dv=dmodel/h</math>를 사용했는데 꼭 dk<math>dk</math>와 dv<math>dv</math>가 같을 필요는 없습니다.이렇게 project된 key, value, query들은 병렬적으로 attention function을 거쳐 dv<math>dv</math>dimension output 값으로 나오게 됩니다.그 다음 여러 개의 head<math>head</math>를 concatenate하고 다시 projection을 수행합니다. 그래서 최종적인 dmodel<math>dmodel</math> dimension output 값이 나오게 되는거죠.각각의 과정에서 dimension을 표현하면 아래와 같습니다.*dQ,dK,dV<math>dQ,dK,dV</math>는 각각 query, key, value 개수Self-Attentionencoder self-attention layerkey, value, query들은 모두 encoder의 이전 layer의 output에서 옵니다. 따라서 이전 layer의 모든 position에 attention을 줄 수 있습니다. 만약 첫번째 layer라면 positional encoding이 더해진 input embedding이 됩니다.decoder self-attention layerencoder와 비슷하게 decoder에서도 self-attention을 줄 수 있습니다. 하지만 i<math>i</math>번째 output을 다시 i+1<math>i+1</math>번째 input으로 사용하는 auto-regressive한 특성을 유지하기 위해 , masking out된 scaled dot-product attention을 적용했습니다.masking out이 됐다는 것은 i<math>i</math>번째 position에 대한 attention을 얻을 때, i<math>i</math>번째 이후에 있는 모든 position은 Attention(Q,K,V)=softmax(QKT√dk)V<math>Attention(Q,K,V)=softmax(QKTdk)V</math>에서 softmax의 input 값을 −∞<math>−∞</math>로 설정한 것입니다. 이렇게 한다면, i<math>i</math>번째 이후에 있는 position에 attention을 주는 경우가 없겠죠.Encoder-Decoder Attention Layerquery들은 이전 decoder layer에서 오고 key와 value들은 encoder의 output에서 오게 됩니다. 그래서 decoder의 모든 position에서 input sequence 즉, encoder output의 모든 position에 attention을 줄 수 있게 됩니다.query가 decoder layer의 output인 이유는 query라는 것이 조건에 해당하기 때문입니다. 좀 더 풀어서 설명하면, ‘지금 decoder에서 이런 값이 나왔는데 무엇이 output이 돼야 할까?’가 query인 것이죠.이때 query는 이미 이전 layer에서 masking out됐으므로, i번째 position까지만 attention을 얻게 됩니다.이 같은 과정은 sequence-to-sequence의 전형적인 encoder-decoder mechanisms를 따라한 것입니다.*모든 position에서 attention을 줄 수 있다는 게 이해가 안되면 링크를 참고하시기 바랍니다.Position-wise Feed-Forward Networksencoder와 decoder의 각각의 layer는 아래와 같은 fully connected feed-forward network를 포함하고 있습니다.position 마다, 즉 개별 단어마다 적용되기 때문에 position-wise입니다. network는 두 번의 linear transformation과 activation function ReLU로 이루어져 있습니다.FFN(x)=max(0,xW1+b1)W2+b2x<math>x</math>에 linear transformation을 적용한 뒤, ReLU(max(0,z))<math>ReLU(max(0,z))</math>를 거쳐 다시 한번 linear transformation을 적용합니다.이때 각각의 position마다 같은 parameter W,b<math>W,b</math>를 사용하지만, layer가 달라지면 다른 parameter를 사용합니다.kernel size가 1이고 channel이 layer인 convolution을 두 번 수행한 것으로도 위 과정을 이해할 수 있습니다.Positional Encodingtransfomer는 recurrence도 아니고 convolution도 아니기 때문에, 단어의sequence를 이용하기 위해서는 단어의 position에 대한 정보를 추가해줄 필요가 있었습니다.그래서 encoder와 decoder의 input embedding에 positional encoding을 더해줬습니다.positional encoding은 dmodel<math>dmodel</math>(embedding 차원)과 같은 차원을 갖기 때문에 positional encoding vector와 embedding vector는 더해질 수 있습니다.논문에서는 다른 *frequency를 가지는 sine과 cosine 함수를 이용했습니다.*주어진 구간내에서 완료되는 cycle의 개수PE(pos,2i)=sin(pos/100002i/dmodel)<math>PE(pos,2i)=sin(pos/100002i/dmodel)</math>PE(pos,2i+1)=cos(pos/100002i/dmodel)<math>PE(pos,2i+1)=cos(pos/100002i/dmodel)</math>pos<math>pos</math>는 position ,i<math>i</math>는 dimension 이고 주기가 100002i/dmodel⋅2π<math>100002i/dmodel⋅2π</math>인 삼각 함수입니다. 즉, pos<math>pos</math>는 sequence에서 단어의 위치이고 해당 단어는 i<math>i</math>에 0부터 dmodel2<math>dmodel2</math>까지를 대입해 dmodel<math>dmodel</math>차원의 positional encoding vector를 얻게 됩니다. k=2i+1<math>k=2i+1</math>일 때는 cosine 함수를, k=2i<math>k=2i</math>일 때는 sine 함수를 이용합니다. 이렇게 positional encoding vector를 pos<math>pos</math>마다 구한다면 비록 같은 column이라고 할지라도 pos<math>pos</math>가 다르다면 다른 값을 가지게 됩니다. 즉, pos<math>pos</math>마다 다른 pos<math>pos</math>와 구분되는 positional encoding 값을 얻게 되는 것입니다.PEpos=[cos(pos/1),sin(pos/100002/dmodel),cos(pos/10000)2/dmodel,...,sin(pos/10000)]<math>PEpos=[cos(pos/1),sin(pos/100002/dmodel),cos(pos/10000)2/dmodel,...,sin(pos/10000)]</math>이때 PEpos+k<math>PEpos+k</math>는 PEpos<math>PEpos</math>의 linear function으로 나타낼 수 있습니다. 표기를 간단히 하기 위해 c=100002idmodel<math>c=100002idmodel</math>라고 해봅시다. sin(a+b)=sin(a)cos(b)+cos(a)sin(b)<math>sin(a+b)=sin(a)cos(b)+cos(a)sin(b)</math>이고 cos(a+b)=cos(a)cos(b)−sin(a)sin(b)<math>cos(a+b)=cos(a)cos(b)−sin(a)sin(b)</math> 이므로 다음이 성립합니다.PE(pos,2i)=sin(posc)<math>PE(pos,2i)=sin(posc)</math>PE(pos,2i+1)=cos(posc)<math>PE(pos,2i+1)=cos(posc)</math>PE(pos+k,2i)=sin(pos+kc)=sin(posc)cos(kc)+cos(posc)sin(kc)=PE(pos,2i)cos(kc)+cos(posc)sin(kc)<math>PE(pos+k,2i)=sin(pos+kc)=sin(posc)cos(kc)+cos(posc)sin(kc)=PE(pos,2i)cos(kc)+cos(posc)sin(kc)</math>PE(pos+k,2i+1)=cos(pos+kc)=cos(posc)cos(kc)−sin(posc)sin(kc)=PE(pos,2i+1)cos(kc)−sin(posc)sin(kc)<math>PE(pos+k,2i+1)=cos(pos+kc)=cos(posc)cos(kc)−sin(posc)sin(kc)=PE(pos,2i+1)cos(kc)−sin(posc)sin(kc)</math>이런 성질 때문에 model이 relative position에 의해 attention하는 것을 더 쉽게 배울 수 있습니다.논문에서는 학습된 positional embedding 대신 sinusoidal version을 선택했습니다. 만약 학습된 positional embedding을 사용할 경우 training보다 더 긴 sequence가 inference시에 입력으로 들어온다면 문제가 되지만 sinusoidal의 경우 constant하기 때문에 문제가 되지 않습니다. 그냥 좀 더 많은 값을 계산하기만 하면 되는거죠.Trainingtraining에 사용된 기법들을 알아보겠습니다.Optimizer많이 쓰이는 Adam optimizer를 사용했습니다.특이한 점은 learning rate를 training동안 고정시키지 않고 다음 식에 따라 변화시켰다는 것입니다.lrate=d−0.5model⋅min(step_num−0.5,step_num⋅warmup_steps−1.5)warmup_step<math>warmup_step</math>까지는 linear하게 learning rate를 증가시키다가, warmup_step<math>warmup_step</math> 이후에는 step_num<math>step_num</math>의 inverse square root에 비례하도록 감소시킵니다.이렇게 하는 이유는 처음에는 학습이 잘 되지 않은 상태이므로 learning rate를 빠르게 증가시켜 변화를 크게 주다가, 학습이 꽤 됐을 시점에 learning rate를 천천히 감소시켜 변화를 작게 주기 위해서입니다.RegularizationResidual ConnectionIdentity Mappings in Deep Residual Networks라는 논문에서 제시된 방법이고, 아래의 수식이 residual connection을 나타낸 것입니다.yl=h(xl)+F(xl,Wl)<math>yl=h(xl)+F(xl,Wl)</math>xl+1=f(yl)<math>xl+1=f(yl)</math>이때 h(xl)=xl<math>h(xl)=xl</math>입니다. 논문 제목에서 나온 것처럼 identity mapping을 해주는 것이죠.특정한 위치에서의 xL<math>xL</math>을 다음과 같이 xl<math>xl</math>과 residual 함수의 합으로 표시할 수 있습니다.x2=x1+F(x1,W1)<math>x2=x1+F(x1,W1)</math>x3=x2+F(x2,W2)=x1+F(x1,W1)+F(x2,W2)<math>x3=x2+F(x2,W2)=x1+F(x1,W1)+F(x2,W2)</math>xL=xl+L−1∑i=1F(xi,Wi)<math>xL=xl+∑i=1L−1F(xi,Wi)</math>그리고 미분을 한다면 다음과 같이 됩니다.σϵσxl=σϵσxLσxLσxl=σϵσxL(1+σσxlL−1∑i=1F(xi,Wi))<math>σϵσxl=σϵσxLσxLσxl=σϵσxL(1+σσxl∑i=1L−1F(xi,Wi))</math>이때, σϵσxL<math>σϵσxL</math>은 상위 layer의 gradient 값이 변하지 않고 그대로 하위 layer에 전달되는 것을 보여줍니다. 즉, layer를 거칠수록 gradient가 사라지는 vanishing gradient 문제를 완화해주는 것입니다.또한 forward path나 backward path를 간단하게 표현할 수 있게 됩니다.Layer NormalizationLayer Normalization이라는 논문에서 제시된 방법입니다.μl=1HH∑i=1ali<math>μl=1H∑i=1Hail</math>σl= ⎷1HH∑i=1(ali−μl)2<math>σl=1H∑i=1H(ail−μl)2</math>같은 layer에 있는 모든 hidden unit은 동일한 μ<math>μ</math>와 σ<math>σ</math>를 공유합니다.그리고 현재 input xt<math>xt</math>, 이전의 hidden state ht−1<math>ht−1</math>, at=Whhht−1+Wxhxt<math>at=Whhht−1+Wxhxt</math>, parameter g,b<math>g,b</math>가 있을 때 다음과 같이 normalization을 해줍니다.ht=f[gσt⊙(at−μt)+b]<math>ht=f[gσt⊙(at−μt)+b]</math>이렇게 한다면, gradient가 exploding하거나 vanishing하는 문제를 완화시키고 gradient 값이 안정적인 값을 가짐로 더 빨리 학습을 시킬 수 있습니다.(논문에서 recurrent를 기준으로 설명했으므로 이에 따랐습니다.)DropoutDropout: a simple way to prevent neural networks from overfitting라는 논문에서 제시된 방법입니다.dropout이라는 용어는 neural network에서 unit들을 dropout하는 것을 가리킵니다. 즉, 해당 unit을 network에서 일시적으로 제거하는 것입니다. 그래서 다른 unit과의 모든 connection이 사라지게 됩니다. 어떤 unit을 dropout할지는 random하게 정합니다.dropout은 training data에 overfitting되는 문제를 어느정도 막아줍니다. dropout된 unit들은 training되지 않는 것이니 training data에 값이 조정되지 않기 때문입니다.Label SmoothingRethinking the inception architecture for computer vision라는 논문에서 제시된 방법입니다.training동안 실제 정답인 label의 logit은 다른 logit보다 훨씬 큰 값을 갖게 됩니다. 이렇게 해서 model이 주어진 input x<math>x</math>에 대한 label y<math>y</math>를 맞추는 것이죠.하지만 이렇게 된다면 문제가 발생합니다. overfitting될 수도 있고 가장 큰 logit을 가지는 것과 나머지 사이의 차이를 점점 크게 만들어버립니다. 결국 model이 다른 data에 적응하는 능력을 감소시킵니다.model이 덜 confident하게 만들기 위해, label distribution q(k∣x)=δk,y<math>q(k∣x)=δk,y</math>를 (k가 y일 경우 1, 나머지는 0) 다음과 같이 대체할 수 있습니다.q′(k|x)=(1−ϵ)δk,y+ϵu(k)<math>q′(k|x)=(1−ϵ)δk,y+ϵu(k)</math>각각 label에 대한 분포 u(k)<math>u(k)</math>, smooting parameter ϵ<math>ϵ</math>입니다. 위와 같다면, k=y인 경우에도 model은 p(y∣x)=1<math>p(y∣x)=1</math>이 아니라 p(y∣x)=(1−ϵ)<math>p(y∣x)=(1−ϵ)</math>이 되겠죠. 100%의 확신이 아닌 그보다 덜한 확신을 하게 되는 것입니다.Conclusiontransformer는 recurrence를 이용하지 않고도 빠르고 정확하게 sequential data를 처리할 수 있는 model로 제시되었습니다.여러가지 기법이 사용됐지만, 가장 핵심적인 것은 encoder와 decoder에서 attention을 통해 query와 가장 밀접한 연관성을 가지는 value를 강조할 수 있고 병렬화가 가능해진 것입니다.Referencehttp://www.whydsp.org/280http://mlexplained.com/2017/12/29/attention-is-all-you-need-explained/http://openresearch.ai/t/identity-mappings-in-deep-residual-networks/47https://m.blog.naver.com/PostView.nhn?blogId=laonple&logNo=220793640991&proxyReferer=https://www.google.co.kr/https://www.researchgate.net/figure/Sample-of-a-feed-forward-neural-network_fig1_234055177https://arxiv.org/abs/1603.05027https://arxiv.org/abs/1607.06450http://jmlr.org/papers/volume15/srivastava14a.old/srivastava14a.pdfhttps://arxiv.org/pdf/1512.00567.pdf
조회수 1381

[우리는 비투링커 #4] '빵빠레' 하나면 행복한 그녀, 박예지 님 ♥

안녕하세요, 비투링크의 소식을 전하는 미나 입니다! 벌써 한달이 지나, 다시 돌아 온 [우리는 비투링커] 시간인데요.3월의 비투링커로 선정된 그녀는 누구일까요?'빵빠레' 라면... 요거?*~*~짜잔~*~*자.. 먼저 추천영상을 함께 보시죠!이번 영상의 주제는 "엽기적인 그녀" 입니다 (ㅋㅋㅋ)보고있으면 참 밝은 그녀는 누구일지!▼▼영상 클릭 클릭▼▼3월의 비투링커 추천영상 (영상 고퀄주의 ㅋㅋㅋㅋ)그 주인공은... "엽기적인(?) No No~ 보고있으면 참 밝은 그녀" 박예지님 입니다!(짝짝짝짝!!!!!)3월의 비투링커 박예지님 :)특별히 빵빠레를 먹으면서 인터뷰 하고 싶었지만....빵빠레가 회사근처에 안팔더라구요 (또르르)그래서 그냥 빈손으로 예지님을 만났습니다.그래도 활짝 웃고 있던 그녀...................^^안녕하세요, 저는 비투링크 Brand Operation Division 내 구매팀에서제품구매, 발주 및 운영을 담당하고 있는 박예지 입니다 ^_^정말 0.1%도 예상치 못했어요. 팀원들이랑 꽤 친하다고 생각했는데, 정말 아무도 말을 안해주더라구요 ㅋㅋㅋ 그래서 제가 타운홀미팅날 연차를 써서 직접 영상을 못봐서 아쉬워요 ㅠㅠ그래도 이후에 영상을 봤는데, 진짜 행복했어요 ^_^ 보면서 같은 팀 제용님의 흑역사가 될 거 같다는 생각이 살짝 들었지만요...........:) 사실은 전 워낙 스트레스를 안받는 성격이기도 해요!또, 받게되면 내부에서 받기보다는, 외부 거래처와 커뮤니케이션을 하며 받는 스트레스가 대부분이에요. 그래서 팀원들이랑 같이 얘기하고, 간식을 사먹는다던지, 달달한 커피를 마시러 간다던지, 바깥공기를 쐬러 간다던지 ㅋㅋ 많은 것들을 팀원들과 함께 해요 :)슬픈 건, 요즘 회사근처에 빵빠레가 안팔아요..................... (슬퍼요 ㅠ_ㅠ)옛날엔 2+1 행사하고 그랬는데... 대체품을 찾고 있는데, 빵빠레를 대신 할 수 없을거같아요 ㅋㅋㅋ작년 송년회 때 같이 찍은 팀사진!주말엔 주로 제가 키우는 강아지 (단추) 랑 시간을 보내요 ^_^눈이 단추구멍 같아서 ㅋㅋㅋ 이름이 단추에요 (크큭)너무 애교쟁이 ㅠㅠ그리고, 제가 요즘 찾은 저만의 비밀스러운....... 문화생활이 있는데요.저 폴댄스 배웁니다!!!! 지금 거의 6개월 째 하고 있는데요. 정말 재밌어요 ^_^사진은...공개할 슈 없숴요~ (부끄러움)대박! 폴댄스라니 :) 멋져멋져... 저는 사실 몰래 예지님이 폴댄스하시는 사진 봤는데장난아니네여 섹시해 ㅠㅠ 저두 하고싶어요 ㅋㅋㅋㅋㅋㅋ제 컵이름은 "구갈동 빨간거" 입니다 ㅋㅋㅋ제 별명 너무 대충 지은거 같아요 ㅋㅋㅋ 불만이에요 !!이유는 제가 맨날 입술을 빨갛게 바르고 다녀서 ..........ㅋㅋㅋㅋㅋㅋㅋㅋㅋ근데 또 바꿔달라고 하기 무서워요 ㅋㅋ이상한 별명할까봐여... 빨간걸로 있을게요 그냥(좌) 한스킨 Blemish Cover (우) 23 Years old Sibiton cream [출처: 네이버 블로그]저는 한스킨 블레미쉬 커버 (Blemish Cover) 과 23 Years Old 시비통 크림 (Sibiton Cream) 을 추천합니다 :) 첫 번째 제품은, 컨실러 제품인데요. 커버력이 진짜 좋으면서도 촉촉한 게 장점! 휴대하기도 편하고, 가끔을 얇게 펴바르면 BB크림처럼도 사용할 수 있어요!두번째 제품은 크림인테, 이름이 약간 욕같져? ㅋㅋ 피부에 보호막을 설치해줘서 수분감도 오래 지속되고, 붉은 홍조피부 진정효과도 있어서 데일리로 사용하기 좋은 비타민 크림이에요!(친구한테 추천해줬는데, 친구가 지금까지도 계속 사용하고 있어요 ㅋㅋ)올해를 시작하면서 많은 계획을 세웠는데요!그 중에 꼭 이루고 싶은 건, "유럽여행" 을 가는 거에요 ^_^원래 1년에 한번 이상은 꼭 해외여행을 가는데요, 가장 멀리 갔던 게 동남아 였어요!올해가 제가 앞으로 살 날 중에 가장 젊고 예쁠 때니까꼭 가보도록 하겠습니다 :)손잡아주실 분 찾습니다 ^^....인터뷰 하는내내 예지님 때문에 저도 계속 웃었던 거 같아요 ㅎㅎㅎ앞으로도 계속 미소 잃지않는 밝은 예지님으로 ^_^(담엔 빵빠레 같이 먹어효)#비투링크 #팀원 #팀원소개 #팀원인터뷰 #인터뷰 #팀원자랑 #기업문화
조회수 5553

AWS Instance Scheduler Bot 적용기

이 포스팅은 총 2부로 이어지며 현재는 2부입니다.1부 : AWS 비용 얼마까지 줄여봤니?2부 : AWS Instance Scheduler Bot 적용기1부에서 AWS 비용을 절감하기 위한 Instance Scheduler에 대한 소개를 하였습니다. 2부에서는 Instance Scheduler의 설정을 손쉽게 변경하기 위한 Bot을 적용한 사례에 대해서 소개합니다.Bot의 필요성Instance Scheduler의 설정을 변경하기 위해서는 정보를 담고 있는 Dynamo DB 의 데이터를 변경해야 합니다. AWS Console을 이용하여 직접 수정할 수도 있지만 여전히 불편하고 느립니다. 더군다나 이를 이용하는 사용자가 DB Table의 구조와 AWS Console 사용법을 알고 있어야 하고 비 개발자라면 더 쉽지 않은 문제입니다. 하지만 Bot을 이용하면 사용자는 어려운 DB Query나 구조를 알아야 할 필요도 없고 손쉽게 채팅 메시지를 통해 Bot에게 질의하고 처리 결과를 응답받을 수 있습니다.Outgoing WebhookJANDI에서는 Incoming Webhook과 반대되는 개념으로 Outgoing Webhook을 제공합니다. 특정 키워드로 시작하는 메시지가 있을 경우 내용을 설정된 URL Endpoint에 POST로 Webhook을 보내줍니다. Webhook을 수신한 곳에서는 일련의 처리 후 메시지 데이터 형식을 맞춰 응답하게 되면 채팅창에 메시지를 표시하게 됩니다. 이를 통해 다른 외부 시스템과 연동할 수 있습니다.POST Data예를 들어 날씨 키워드로 Outgoing Webhook을 생성했다면 /날씨 메시지가 시작될 때 다음과 같은 데이터가 Webhook으로 발송됩니다.{ "token": "YE1ronbbuoZkq7h3J5KMI4Tn", "teamName": "Toss Lab, Inc.", "roomName": "토스랩 코리아", "writerName": "Gloria", "text": "/날씨 서울", "keyword": "날씨", "createdAt": "2017-07-19T14:49:11.266Z" } token을 이용하여 요청의 유효성 체크를 할 수 있고 text를 적절히 파싱 하여 요청에 부합하는 처리를 할 수 있습니다.ResponsePOST Data를 적절히 처리 후 결과를 채팅창에 응답 메시지를 표시하고 싶다면 아래와 같은 JSON Data를 Response body에 넣어주면 됩니다.{ "body" : "서울의 현재 날씨", "connectColor" : "#FAC11B", "connectInfo" : [{ "title" : "온도", "description" : "최고:28.00, 최저:24.00, 현재: 24.30" }, { "title": "날씨", "description": "흐리고 비" }] } 이를 이용하여 Instance Scheduler에도 적용해봤습니다.Schedule BotSchedule Bot은 Instance Scheduler의 Lambda 함수에 함께 포함되어 작동하며 스케쥴 조회 / 예외 설정, 서버 강제 시작/중지, 서버 상태 조회 등의 기능을 수행합니다.API Gateway와 Lambda 함수를 연결하여 Endpoint URL을 생성하고 Outgoing Webhook URL로 설정하여 Webhook으로 Lambda 함수가 실행될 수 있도록 하였습니다. Lambda 함수는 Cloudwatch를 통해서 실행되면 Scheduler가 작동되고 API Gateway를 통해 실행되면 Schedule Bot이 작동됩니다.Schedule Bot 명령어Schedule Bot은 다음과 같은 명령어를 수행합니다./서버 help : 도움말 /서버 [스케쥴명] status : 현재 서버 상태 조회 /서버 [스케쥴명] info : 오늘의 스케쥴 조회 /서버 [스케쥴명] info [YYYY-MM-DD] : 특정일 스케쥴 조회 /서버 [스케쥴명] exception info : 오늘의 스케쥴 예외 조회 /서버 [스케쥴명] exception info [YYYY-MM-DD] : 특정일 스케쥴 예외 조회 /서버 [스케쥴명] exception set [YYYY-MM-DD] [start|stop] [h:m] : 예외 설정 /서버 [스케쥴명] exception del [YYYY-MM-DD] [start|stop] : 예외 삭제 /서버 [스케쥴명] force_start : 서버 강제 실행 /서버 [스케쥴명] force_stop : 서버 강제 중지 Schedule Bot 작동 화면Schedule Bot은 서버병이라는 컨셉으로 인격화(?)에 힘썼습니다.스케쥴 정보 조회서버 상태 조회서버 강제 시작/중지명령어 오류마무리AWS 기반의 서비스를 운영하는 스타트업이라면 더욱더 현실적으로 부딪히는 비용 문제에 대해서 저희가 고민한 내용과 솔루션에 대해서 공유하였습니다.아직 적용기간이 길지 않아 절감비용에 대해 수치적인 데이터를 언급하기는 힘들지만 많은 금액이 절감될 거라 예상하고 있습니다.저희와 같은 고민을 하고 있다면 Instance Scheduler를 적극 권장합니다.#토스랩 #잔디 #JANDI #개발 #개발자 #AWS #도입후기 #일지 #인사이트 #경험공유
조회수 947

Learning Languages Through Gaming: An Interview with Dr. Simone Bregni

 Everyone remembers having mandatory language classes in school, going over sentence structure, grammar and vocab. However, Simone Bregni, PhD, an associate professor of Italian at Saint Louis University (SLU), has been researching and testing out language learning lessons that involve an unusual supplementary activity: immersing yourself in some of your favorite video games. Dr. Bregni started learning English in the sixth grade in Italy, and played classics like Pong. He has always used his various interests in comic books, music and of course games to bolster his language learning process.We asked Dr. Bregni a few questions to get a deeper understanding of his method and the benefits of video games for language learning. Some of the answers have been edited for length.  Dr. Simone Bregni How did your relationship with video games change over the years? Dr. Bregni: Electronic games transitioned from the ‘70s and early ‘80s games, where one moved a few primitive blocks across a screen, to the more complex textual and graphic adventures of the Commodore 64 and other home computers in the later ‘80s. I really loved the pre-1983 crash consoles. My first programmable console was a Philips Videopac (Magnavox Odyssey in America), then I also got an Intellivision (my favorite), an Atari VCS and a Colecovision.Thanks to games such as Activision’s Alter Ego and Lucasfilm’s Manic Mansion, I realized that my English (and later, French and Spanish) language skills rapidly improved while I was having fun. While playing narrative-oriented quests in video games, not only was I reading in a foreign language, I was also applying my reading comprehension to solve problems and using writing to attain goals.My interest in video games also pushed me to explore other related content, which in foreign language acquisition is referred to as realia: authentic artifacts in the target language that help enhance language acquisition such as magazines, and later on, gaming websites for reviews, guides, tips and tricks. My personal interest in the topic bolstered language comprehension and new vocabulary acquisition in broader, related contexts. What inspired you to start incorporating video games into your language research? Dr. Bregni giving a lecture on how video games challenge students studying new languages.  Dr. Bregni: My own experiences as a foreign language learner have always played an essential role in guiding my pedagogical approach to the teaching of foreign languages and cultures, and supported the importance of realia that informed my teaching. To this day, I am more likely to remember vocabulary, idioms and irregular verbs from some song, comic book, magazine, TV show or video game. I never deny that foreign language teaching and language classes provided me with very useful, necessary structures, but I feel that it was the time I spent with my pop culture realia, especially interactive games, that bolstered my ability to communicate in multiple languages. These sources reinforced grammatical structures learned through traditional instruction, but they also taught me idioms and slang, all of which I would not have been able to access in a "regular” classroom.The rise of video games as a mass phenomenon, which began around 1997 with the Sony PlayStation and with the popularity of the excellent interactive, animated role-playing games (RPGs) of Square Enix, such as the Final Fantasy series, led me to explore the full potential of video games as interactive multimedia narratives in the language classroom. At the time, I was a Graduate Fellow in Italian at Trinity College in Hartford, CT, where they had just received a substantial Mellon Grant for language technology development. This allowed me to obtain the resources to experiment early on with digital realia. Along with my scholarly duties, I was also working as a freelance writer for one of the leading Italian video game magazine at the time, Super Console. The experience further stimulated my intellectual curiosity regarding the potential use of video games in learning. The process for my classroom experimentation in those days was a complex one. It involved using an Italian copy of Final Fantasy VIII in the PAL (Italian) video standard running on a modified, region-free PlayStation 1 system in the NTSC (North American) television standard connected to a multi-standard projector in a high-end, state-of-the-art multimedia lab.Things are much easier now thanks to recent technical advancements, namely the advent of HDMI and, as a consequence, region-free and multi-language games. I can purchase a game anywhere in the world and play it anywhere in the world, in multiple languages. In your research you use Assassin’s Creed to teach English speakers Italian. Why does the act of playing the game have better results than a more typical classroom environment with a teacher? One of Dr. Bregni's classes focused on learning Italian with the help of Assassin's Creed.  Dr. Bregni: While I do not believe that video games and other digital realia should replace “regular” teaching, I am convinced that they can be used to reinforce and expand vocabulary and structures. Some specific recent video games are fully interactive multimedia experiences combining real-time animation, speech/dialogue, subtitles, writing/textual interaction and, in some cases, even spoken interaction in the form of audio/video chat with other users. Cinematic games can serve as excellent realia, enhancing language and, in some cases, culture acquisition. Such is the case of the Assassin's Creed series in and outside the classroom.Based on my research and teaching experience, the use of video games and other related realia (online gaming magazines, YouTube videos, reviews, etc.), both in and outside the classroom, has shown to be a very effective didactic tool for reinforcing linguistic skills and exposing students to contemporary cultures of other nations and groups.Cinematic games with a high emphasis on communication contain plenty of opportunities to reinforce a variety of grammatical forms and explore new vocabulary through listening and reading comprehension, lexical expansion and problem solving. Each main chapter in the Assassin’s Creed series, with its outstanding recreation of everyday life and culture of the specific time period and geographical areas in which it is set, allows educators like me, in languages and cultures, but also in other fields such as architecture and the social sciences, to explore first-hand several aspects of life in those times and places in dynamic, immersive and interactive ways.What I apply in my teaching is game-based learning (GBL). GBL is pedagogy, closely connected to play theory where learners apply critical thinking1. My course was developed with the assistance of the SLU Reinert Center for Transformative Teaching and Leaning in fall 2016, as a recipient of a competitive fellowship. In spring 2017, I used the SLU Reinert Learning Studio (a state-of-the-art, high-tech learning space) to teach Intensive Italian for Gamers, which combines “traditional” intensive language instruction with gaming-based interaction. Within the pedagogical premise that language acquisition is a process that involves, and benefits from, daily interactions in the language in and outside the classroom, the course targeted the specific segment of the 10%2 of the student population that self-identify as gamers. Based on my learning experience, teaching experience and research, I believed that a strong, shared interest in gaming would stimulate and enhance the students’ learning process, thus justifying the intensive nature of the course. So I created an “Affinity Group”, which, as research shows, enhances learning. While more long-term research must be done, initial results through testing and surveys indicate that my premise is correct. You know how excited you get when you communicate with a group of peers that share your exact same interests/passions? Such situations have been shown to foster F/L2 acquisition. [In your research paper, “Assassin’s Creed Taught Me Italian: Video Games and the Quest for Lifelong, Ubiquitous Learning”] you mention that lip-syncing is a limitation to this method. Are there others? How can you get past the issue of lip-syncing? Dr. Bregni: Most cinematic games appear to have been created with lip-syncing designed for the English language. Observation of lip movements assists in listening comprehension. This is an important limitation until more games are created (or adapted) specifically for other markets. That said, in all cinematic games, co-speech gestures, another essential component of communication and foreign language acquisition, are excellent, and definitely provide a visual aid that enhances overall student comprehension. Although most games are currently produced with English, or, in some cases, Japanese as the main in-game language, cinematic games are, in my view, still very usable and beneficial for the acquisition of languages other than English. However, they become an outstanding tool for English as a Second Language (ESL) and Japanese language instruction.Square Enix’s Life is Strange, for example, is an excellent portrayal of the life of American teens in a small, Northwestern US coastal town. Life is Strange has not been fully localized in Italian, which is really unfortunate, because I would have loved to use it in my courses, since it has many topics that would “speak” to my student population, and, more importantly, it provides opportunities to discuss and develop empathy. I am also disappointed that the amazingly innovative and well-written The Invisible Hours by Tequila Works has not been fully localized in Italian. But for ESL students it is an excellent learning tool: being able to observe lip movements up close and personal, especially in VR mode on PlayStation VR, greatly enhances listening comprehension, especially given the in-game ability to review and fast-forward time at will.So, another important limitation that I see at the moment, and the most relevant one, is that not all games are fully localized as I feel they should be. Full localization is an investment that I believe all companies should make. The interest that my research and teaching practices have generated (as of today, they have been mentioned in ninety news sources of various kinds, for general audiences, educators and gamers, all over the world) show that there currently is a high interest in video games as learning devices for foreign languages and cultures.I believe that the next frontier of localization will be the localization of lip-syncing also. The market of commercially-available games as foreign language learning devices may be exploding soon, as I am inclined to believe given the positive response I received regarding my research and teaching. This spring semester I was on sabbatical in my native country Italy, and while delivering presentations and workshops at a number of European institutions, I met a number of young men and women who instantly connected with what I was talking to them about, games as foreign language tools, because those kids had experienced exactly the same: they noticed that their foreign language skills improved rapidly while playing video games.Currently, I believe that the Assassin’s Creed series and games by Quantic Dream are excellent examples of strong localization, which, to me, is much more than “simple” translation. High-quality localization makes every single in-game data and reference fully understandable and accessible to people from other cultures. Does the added element of fun also help students stay on track and motivated to learn or does it distract? Dr. Bregni teaching  Dr. Bregni: Video games are effective not just because they are fun, but because they are challenging3. They are difficult, and repetition enhances comprehension and memorization. Video games involve Total Physical Response (TPR), Adrenaline production and Csikszentmihályi’s Flow Theory — the best learning happens when we become oblivious to the passing of time. Gamers often refer to “being in the zone” when they play effectively, all of which have been shown to enhance learning. What are some student reactions to this method? Do they prefer it? Dr. Bregni: Over the years, my experiences with video games in the classroom have been more than positive. Student interaction was good, and it did get them excited. Even those students who were not gaming-inclined appreciated the storytelling, the clearly enunciated, authentic foreign language speech and subtitles. “Unpacking” the meaning of the various Italian gestures correctly used by characters in the Assassin’s Creed games set in Italy became a students’ favorite and sparked many meaningful discussions about non-verbal communication in other cultures.I also observed that gaming-based activities had the advantage of fostering group cooperation and active participation better than other digital lab activities, with agency and problem-solving being the keys. All of the students who responded to the survey over the last three years enjoyed the video game-centered lab activity very much (approximately 95% thought it was excellent) and approximately 93% of them felt that they had learned very much from the activity. Post-activity test performance showed a 9% median score increase. Many non-gaming students expressed surprise, as they games I exposed them to were “not the typical ‘run & kill’ games they were used to”, and “more like watching episodes of Stranger Things”, the Netflix TV series (they were referring to games such as Quantic Dream’s Beyond: Two Souls and Heavy Rain).Some students are bound to be either unfamiliar with or just not care much about video games, and playing them could be a complex task for some of them. The solution I envisioned, as I mentioned, is to elicit volunteers to do the actual gaming and encourage the rest of the class to participate by encouraging the players. Approximately 70% of college students play video games “at least once in a while” 4.Video games become an effective didactic tool for reinforcing linguistic skills. After all, as language learning research confirms, we all become more excited and communicate more easily and effectively when in the company of people who share our same interests and passions. Since our agency is responsible for localizing games by changing the language and cultural context to make it more immersive for native speakers, would you recommend that people choose games in different languages if they are trying to improve? Dr. Bregni: Absolutely! The key is playing games in the chosen language with subtitles set in that same language. The biggest challenge for language learners at the beginner/lower intermediate level (which generally corresponds to 2-3 years of foreign language in high-school or 2-3 semesters in college) is to move away from constantly translating everything into one’s own native language, and towards approaching the foreign language as such, with its own forms and structures. Also, while in some languages, such as Italian “What you see is what you get” (one pronounces every single letter, and there are standard rules for pronunciation) that is not the case for other languages, such as English. Ask the average non-English native teenager/young adult, “What is the name of the game series that features the heroine Lara Croft?” In my experience, over 90% will respond correctly “Tomb Raider,” but only a small percentage will be able to pronounce both words correctly based on their high-school and college education, even when solid and rigorous.My other advice is to have handy, on your mobile device, while you play, the WordReference app, the interactive multi-language dictionary5. Whenever you encounter a word that you do not know, look at the context. Are you able to give that word a plausible meaning based on that context? Then do, and move on. Are you totally stuck on that word, instead? Then pause the game, and take 30 seconds to look that word up. You will soon notice that your vocabulary is rapidly expanding, that quickly those new, previously unfamiliar words are becoming part of your vocabulary. That is because we remember 90% of what we do (Xunzi, Chinese philosopher, 3rd century A.C.).If you are interested in receiving updates on Dr. Bregni’s research, workshops and teaching, check out his practices on LinkedIn, Academia.com pages and personal blog: simonebregni.comTo read his research, click here.Subscribe to our monthly newsletter for more company news and blog updates!  References:1. Farber M., Gamify your classroom: A Field Guide to Game-Based Learning, 2017, 2nd ed.2. 2016 PEW Research Center3. "Los videojuegos funcionan no porque entretienen sino porque desafían," Gonzalo Frasca4. PEW Research Center5. Word Reference 
조회수 1013

스타트업 외주와 돈 벌기

예전 어느 개발팀 대표님(?)이 한 말이었던 것 같은데, 창업 시 자본력을 갖추는데 있어서 가장 좋은 3가지 방법은, 1. 자신이 돈이 많거나 2. 집에 돈이 많거나 3. 부모님이 돈이 많거나라고 합니다. (ㅎㄷㄷ) 즉, 창업을 시작하고 진행하는 상황에서 수익이 없는 동안 소요되는 비용처리는 남녀노소를 불문하고 모든 창업가들에게 가장 큰 걱정거리 중 하나이고, 지금도 자금 때문에 걱정하시는 많은 창업가들이 많을 것입니다. 제가 있었던 BEFLOAT팀도 그리 풍족한 팀은 아녔습니다. 처음 서비스를 제작하기 시작할 때 서울시에서 운 좋게도 사업지원을 받을 수 있었고, 또 같이 디자이너 형님이 창업 비용을 많이 도와주셨고, 저도 부모님의 도움을 받아 창업을 시작할 수 있었습니다. 그래도 최대한 부모님의 도움 없이 하고 싶어 저 역시도 외주업무를 진행하여 사무실 월세라던지, 회식, 이외에 들어가는 비용들을 처리하였습니다. 그래서 말 그대로 "돈문제"가 정말 힘든 것이라는 것을 저역시도 굉장히 공감하고 이해하는  바입니다.그리고 이러한 상황 속에서 외주업무(또는 용역업무, 이하 외주라고 하겠습니다.)를 진행할 수 있는 인원이 있다는 것은 정말 행운이라고 생각했었습니다. 서비스를 제작하면서 그때 그때 막막하게 느낄 수 있는 금전적 압박감을 해결할 수 있었고, 월세도 낼 수 있었기 때문이죠. 그래서 이번 글에서는 스타트업 창업의 초기 자금 확보에 대한 이야기를 해 보도록 하겠습니다!일단 투자에  관하여부터 천천히 설명드리도록 하겠습니다.투자? VC? 엔젤? 기본적으로 스타트업을 관심 있게 알아보시고 계신 분들은 스타트업들의 투자에 대한 많은 보도자료들 및 소식들을 읽어 보셨을 것이고, 투자를 받는 금액이 십억 또는 이십억이상의 투자를 받는걸 보시고, "이여 우리도 서비스만 만들면 당장 그런 돈을 받을 수  있겠다."라고 생각하시는 분들도 있으실 겁니다. 그러나, 그런 대규모의 투자는 지금 당장 서비스를 시작하시는 분들이 받을 수 있는 금액이 아니고, 무엇보다 저도 받은 적이 단 한 번도 없기 때문에(;;;)이런 부분에 대한 설명은 링크로 대체하고(바로 아래), 저는 제 견해 위주로 말씀드리겠습니다."NAVER 매거진 캐스트: 스타트업 투자 언제 누가 어떻게 받아야 할까?" http://navercast.naver.com/magazine_contents.nhn?rid=2598&contents_id=84033기본적으로 스타트업 초기 창업자들이 기대해 볼 수 있는 투자는, 1. 엔젤투자 2. 공모전등의 입장으로 얻을 수 있는 장기적 투자 가 가장 일반적인 투자를 받을 수 있는 범위라고 생각이 듭니다. 이러한 투자를 받기 위하여는1. 서비스에 대한 기획서를 작성하고, 제출하여 서로 간의 이해관계를 알고2. 엔젤투자같은 경우는 회사의 지분 등을 투자처에 제공하는 것이고3. 공모전 입상의 경우는 자금의 사용 용도에 대하여 정확하게 소명할 수 있어야 합니다. 그리고 이러한 대부분의 자금을 받기 위하여 법인 설립은 필수라고 생각하시면 됩니다. 각 단체들이 어느 부분에 더 초점을 두고 입상 또는 투자를 결정하는지는 개인적으로 투자를 받아본 적이 없어 크게 팁을 드리진 못하지만, 잘 짜인 서비스라면, 그리고 앞서 말씀드린 노무 재무 등에 관하여 자신이 있으신 분들은 분명히 메리트가 있을 것으로 예상됩니다. 그리고 벤처 캐피털(이하 VC)의 경우, 저희 팀이 상담을 받았을 때 들었던 내용은, 성공적으로 서비스를 진행해 나가는 것은 물론이고, 투명한 재무 회계처리 참여 같은 기본적으로 예상할 수 있는 부분들 뿐만이 아니라, 팀원들 개개인 또는 대표가 어느 학교를 다녔는지, 창업자들이 모이게 된 사연과 나이, 사회경험과 군입대 등의 신변의 상의 질문 등 디테일한 정보들에 더 관심을 가지고 물어보셨습니다. 그럴 만도 한 게, VC의 투자는 일반적 에인절투자라든지 공모전등의 금액과는 차원이 다른 금액을 제공받습니다. 그리고 그러한 만큼 많은 제약이라던지 책임감이 따르게 됩니다.그렇다면, 외주를 하는 것이 적합한 방법일까? 결국  공모전이나 투자를 받을 수 없다면 외주를 해야 하는 것이 최후의 선택이지만 , 외주업무를 하는 것에는 그리 긍정적인 입장은 아닙니다. 기본적으로 , 제 생각으로는, 서비스 제작 초기에는 서비스에 집중하는 것이 무조건 최우선이라고 생각합니다.  물론 외주업무가 무조건 나쁜 건 아닙니다. 외주업무를 진행하면서 새로운 분들과 만나 네트워킹할 수 있는 기회를 만들 수 있고, 새로운 정보들이나 기술들에 관하여 들을 수 있는 기회를 얻을 수 있다는 것도 외주업무의 순기능 중 한 가지라고 할 수 있습니다. 그럼에도 불구하고 이렇게 제가 말씀드리는 건, 서비스 초기에 서비스에 집중하며 제작하는 와중에 볼 수 있는 목업 하나하나, 프로토 타입 기능들이 하나하나 생겨나는 것 자체가 서비스 제작자 들에게는 엄청난 동기부여가 됩니다. 백만원 이백만원짜리 프로젝트가 들어오면 당연히 흔들릴 수 있게 되고, 욕심이 생기는 것은 당연한 법이지만(저역시도 많이 흔들려서 외주도 했었지만), 서비스를 진행하면서 집중해야 하는 것은 서비스 제작이라는 것이, 어떻게 보면 서비스를 진행하는 팀원들에게도, 창업자에게도 우선되어야 할 부분인 것 같습니다. 그리고 나중에 조금씩 서비스를 제작한 이후에 외주 업무를 하는 것은 어쩔 수 없는 선택이지만, 그래도 자금마련 때문에 서비스 제작이 뒤로 밀리게 되는 불상사가 일어나지 않는 방향으로 제작하셨으면 좋겠네요.이렇게 스타트업과 자금마련에 관하여  이야기해봤는데요, 정리하자면,투자를 받으시려면, 기획서 준비에 정말 심혈을 기울여서 만드셔서 정말 "투자를 할 수 있을만한", "신뢰가 가는" 기획서를 작성하시는 것이 가장 우선입니다. (다다음 글부터 기획에 관한 글을 쓰려고 합니다. 기대해 주세요!) 그리고 인큐베이팅이나 투자시에는 언제나 항상 계약서를 유의 또 유의하세요!!!(스타트업을 대상으로 하는 사기행위가 성행하고 있습니다!)그리고 외주업무에 관하여는,일단 서비스 제작(적어도 베타 서비스까지만이라도) 일단은 서비스에 집중하는 것을 더  추천드립니다.점점 쓰고 싶은 말들은 많은데 필력이 워낙 떨어져 죄송합니다ㅠㅜ. 궁금점 있으시면 언제든 댓글 달아주세요!#코인원 #블록체인 #기술기업 #암호화폐 #스타트업인사이트
조회수 1068

블록체인 진짜 하나도 모르는 디자이너의 독학일기(2)

1편에 이어 2편을 작성하기까지 참으로 많은 시간이 걸렸답니다. 물론 내용이 어려워서 이해하는 데 시간이 걸린 것도 있고... 어려운 만큼 귀차니즘이 강해져서 미루고 미룬 이유도 있지요.1편에선 블록체인이 왜 발생했는가! 에 대해서 말했어용. 혹시라도 못 보신 분들은 링크를 타고 슝 한 번 더 보고 와주시면 좋을 것 같습니다.https://brunch.co.kr/@roysday/199짧게 줄이자면, 결국 신뢰의 문제 때문이예요. 내가 널 뭘 믿고??? 라는 명제죠. 단순히 너와 나의 사이뿐만 아니라 정부나 기업 등이 해커나 서버폭발 등으로 탈탈 털리는 일을 보면서 우린 두려워진 거예요. 은행을 믿을 수 있어?? 보험사를 믿을 수 있어?? 국민연금 겁나 떼가는데 나중에 받을 수는 있는거야?? 등등...그래서 우린 누구도 깰 수 없고 변하지 않고 삭제도 되지 않는 강력한 '장부'를 만들고 싶었던 거예요. 그래서 생각해낸 가장 좋은 방법이 바로 다수에게 뿌리는 거였죠. 하지만 우린 이런 궁금증이 생겨요. 다수라구??...누가 참여하는데?? 내 컴퓨터엔 블록체인 같은 게 없는데??사실 이 부분을 이해하기가 진짜 어려웠어요. 아니 페이스북에 투표참여나 주식시장같이 '내가 이걸 산다! 투표한다! 동의한다! 클릭~!' 이런 식의 동작이 없잖아요. 그런데 어떻게 내가 동의를 했는지 안했는지 내 장부에 뭐가 언제 어떻게 기록된다는 거야??....는 궁금증이 생기는 거죠.그래서 오늘은 이 과정을 쉽게 정리해보려고 해용 :) 혹시 틀린 부분이 있다면 꼭!! 댓글로 남겨주세요!!1. 컴퓨터에게 말을 걸어보자.지금 컴퓨터를 켜고 이렇게 외쳐보세요. "윙가르디움 레비오싸."네, 아무일도 일어나지 않았어요. 혹시 무슨 일이 일어나셨다면 소름이네요. 컴퓨터는 마법주문이나 우리의 감정이나 목소리나 표정을 인식하지 못해요.(물론 요즘엔 이걸 가능하게 만들고 있어요. 놀라워요. 하지마 마법주문은 좀 시간이 걸릴 것 같아요.) 일본은 일본어를 쓰고 중국은 중국어를 쓰고 스페인은 스페인어를 써요. 컴퓨터는 2진법을 써요. 얘네들은 0 아니면 1이라는 원시적인 언어를 쓰고 있어요. 물론 인간도 아주아주 오래전엔 2진법으로 언어를 말했어요. 쿼스랜드는 원시인들은 'a(아)'와 'o(오)' 만을 사용해서 숫자를 표현했다고 해요. 아, 오, 아오아, 오아오아..등으로 말이죠. 컴퓨터는 이처럼 0와 1로 이루어진 신호들을 통해 소통해요. 그러니 우리가 컴퓨터에게 말을 걸고싶다면 2진법으로 0과 1을 마구마구 적어줘야 해요.2. 컴퓨터의 언어를 만들었졍.근데 0과 1로만 말을 걸다보니 도대체 눈이 아프고 헷갈려서 너무 어려운 거예요. 그래서 규칙을 만들었어요.A = 100 0001B = 100 0010C = 100 0011D = 100 0100...이런식으로 알파벳이나 기호, 한글 등등을 컴퓨터가 이해할 수 있는 신호와 대응시켰어요. 그래서 나온 게 컴퓨터 언어죠. 오늘 날 코딩이라고 불리는 그것들은 결국 컴퓨터의 말로 이렇게해라 저렇게 해라 명령을 내리는 거예요. 컴퓨터는 그 명령에 의해 이런저런 일들을 처리해요. 이걸 누르면 = 저 페이지로 넘어가게 해.이곳을 채우면 = 다음 칸을 적을 수 있게 해.여길 클릭하면 = 파란색으로 바뀌게 만들어줘.등등 뭔갈 하면 = 결과가 등장하는 거죠. 신기하죠? 네 저도 신기해요. 이렇게 명령어를 입력하면 결과가 짜짠.3. 규칙을 만들 수 있게 되었엉.컴퓨터는 논리에 의해서 움직여요. 뭔가를 누르면 - 계산하고 - 0이면 안하고, 1이면 해요. 사실 되게 단순하게도 '한다/안한다' 로 명확하게 움직여요. 이렇게 명확하기 때문에 사람의 목숨을 담보로 하는 수많은 것들을 만드는 거예요. 비행기도 그렇고, 인공위성, 놀이기구, 자동차 등등... 컴퓨터가 기분따라 오늘은 왠지 일하기 싫어서 땡깡이나 부려버리면 그냥 다 죽는 거잖아요. (물론 가끔 파랗게 질려서 멍청댕청해질 때가 있긴 하지만...)결정장애가 없는 특성 때문에 컴퓨터는 한 번 규칙을 정해주면 그렇게 계속 움직여요. 이런 점에서 보면 인간과 컴퓨터의 가장 큰 특징 중 하나가 '갈등' 이 아닐까 싶어요. 결정장애가 있으신 분들은 엄청 인간적인 매력을 지니신 거예요. 블록체인은 '규칙'이예요. 변하지 않고 계속 그대로 움직이는 규칙이죠.규칙을 컴퓨터에게 명령하는 거예요. 이렇게 하면 이렇게 처리해!~ 알았지? 하고 명령하는 거죠. 이 코드(=명령어)를 누가 짜요? 그렇죠 그걸 블록체인 회사에 있는 개발자님들이 만드는 거예요. 그러니 어떤 블록체인 코드가 만들어지면 처음엔 그 회사 컴퓨터에만 있을 거예요. 4. 사람들을 모아보쟈.명령어를 만들긴 만들었는데, 여튼 이제 돈을 벌어야 하잖아요. 회사니까. 많은 사람들이 우리가 만든 블록체인을 이용해줬으면 좋겠어요. 그래서 사람들을 모아야겠단 생각을 했어요. 사람들에게 막 알리기 시작했어요.블록체인은 다수의 사람들이 이용해야 의미가 있어요. 꼴랑 2명만 쓰고있으면 그 중 한명의 컴터만 털어버려도 장부를 조작할 수 있잖아요. 하지만 수백, 수천만명이 블록체인에 참여하고 있다면 얘기가 달라지죠. 그 많은 사람들의 컴터를 한꺼번에 해킹할 순 없으니까요. 그래서 사람이 많으면 많을수록 블록체인은 튼튼해져요.5. 블록을 만들면 보상을 줄께!가장 단순하고 간단한 방법은 누군가가 블록을 만들도록 하는 거예요. 블록체인은 블록이 우르르르 붙어있다는 소린데, 그 블록이란 건 사실 눈에 보이는 택배박스가 아니라 손으로 적는 기록과 같아요. 롤링페이퍼 아시죠? 딱 그런 느낌인거예요. 돌아가면서 나의 기록을 블록으로 만들어서 열차놀이를 하는거죠. 그리고 블록을 만들면 그에 대한 보상으로 무언갈 주는 거예요! 대부분 그 보상이 바로 암호화폐와 같은 것들이예요. 우린 이걸 '채굴한다.' 라고들 하죠. 열심히 노동했으니 보상을 주는 거예요.6. 블록을 어떻게 만들어? 채굴!그럼 어떻게 블록을 만들까용. 음 생각해봐요. 누구나 그냥 노트북만 있어도 블록을 만들 수 있다면 물론 순식간에 블록들이 엄청나게 만들어져서 온세상 온누리에 우리 블록체인이 아름답게 꽃피긴 하겠지만....'보상'을 줘야하는 걸 생각해보면 소름이 돋을 거에요. 더군다나 화폐의 가치가 있는 것을 만드는 데 아무나 10초만에 만들 수 있다고 하면 이건 복사기에 지폐를 위조해서 그냥 마구 쓸 수 있는 것과 비슷해요. 그래서 블록을 만드는 과정은 어려워야 해요. 개발자들은 그래서 사람들이 엄청 고민을 해야만 풀 수 있는 문제를 명령어로 만들었어요. 그리고 그걸 풀면 블록이 완성되고 보상을 받는 거예요. 물론 종이와 펜으로 푸는 건 아니예요. 인터넷에 떠돌아다니는 '이거 풀면 아이큐150 이상임' 이런 문제와 비슷하긴 하지만....이건 사람이 직접 푸는게 아니라 컴퓨터가 푸는 거에요. 예전에 막 그래픽카드가 없어서 난리가 났다..PC방에서 그래픽카드만 훔쳐갔다더라..이런 뉴스가 한참 떴었잖아요. 맞아요. 마치 영화에나 나올법한 슈퍼컴퓨터같이 엄청나게 엄청난 컴퓨터들을 잔뜩 가져다놓고 계산을 시키는 거예요. 사람은 그냥 엔터만 누르고 가만히 있으면 돼요. 고생은 컴퓨터가 하니까요. 컴퓨터는 미친듯이 계산을 해요. 모터가 탈 정도로 고생을 하죠. 그리고 마침내 문제가 풀리면 짜잔!!! 블록이 완성되었어요!! 물론 블록이 완성이 되었는 지 어쩐지는 눈으로 보지 못해요. 하지만 문제가 풀면 블록이 생기도록 명령어를 짜놓았으니 생겼을 거예요. 컴터는 명확하니까요.(항상 이걸 전제로 해요.) 그리고 약속된 보상이 생겨요. 나에게 암호화폐가 뾱! 생겼어요. 빗썸이나 코인원같은 거래소에서 현금으로 바꿀 수 있도 있어요. 7. 쉬운 방법도 있어요.이렇게 수십대의 컴퓨터와 첨단 장비들이 있어야만 블록을 만들 수 있는 건 아니예요. 일반인들도 블록을 만들 수 있어요. 다만 쉬운 만큼 보상이 굉장히 작겠죠. 단순한 예로 '스팀잇'을 들 수 있어요. 스팀잇은 겉보기엔 브런치같이 그냥 주절주절 글이나 쓰는 플랫폼처럼 보이지만...사실 그건 훼이크예요. 스팀잇에 글을 쓰는 것 자체가 사실 블록을 만드는 것과 같아요. 그래서 그 보상으로 스팀을 주는 거예요. 그래서 정확히 얘기하면 '글을 쓰니 돈을 주더라!!' 가 아니라..'블록을 만드니 보상을 준다!' 가 맞는 거예요. 블록을 만드는 방식이 '콘텐츠' 일 뿐이죠.이처럼 블록을 만드는 방식은 결국 개발사가 정하기 나름이예요. 여행사진을 500장 올릴 때마다 블록을 생성하자! 라고 규칙을 만들면 그렇게 만들어져요. 그리고 보상을 받는거구요. 기부를 하면 블록이 만들어지게 하자! 라고 할 수도 있고하루에 1km씩 뛰어다니면 블록이 만들어지게 하자! 라고 할 수도 있어요.심지어 성인사이트에서 결제를 하면 블록이 만들어지게 할 수도 있어요. 실제로도 있더라구요.규칙은 만들면 되니까요. 그래서 다양한 프로젝트들이 만들어지고 블록체인 회사들이 각자 자신만의 방법으로 사람들을 모으고 있죠. 8. 하지만 사람들은 그 사실을 잘 몰라요.스팀잇에 접속해보신 분이 계신가요?? 사실 그곳은 능력자들 천지라서 다들 블록체인을 어느정도 알고 있는 사람들이 많지만.. 또 많은 사람들은 그런거에 상관없이 그냥 돈 준다니까 가입해서 글을 쓰고 있기도 해요. 사람들은 이게 블록인지 뭔지도 몰라요. 그냥 보상준다니까 열심히 뭘 쓰고 있는거에요.내가 블록을 만드는 걸 눈으로 볼 수도 없고 손에 잡히지도 않아요. 이 모든 건 그냥 컴퓨터가 처리하고 인터넷상에 떠돌아다니는 전기신호로만 존재할 뿐이예요. 우리는 겉으로 드러난 것들만을 보죠. 그래서 수많은 블록체인 회사들이 예쁘고 쉽고 접근하기 좋은 웹페이지를 만들거나 플랫폼을 만들어서 이런저런 활동을 하게 만드는 거예요. 사실 블록체인이 정말 널리고 널려서 이제 공인인증서 등등이 필요없어지게 될 지도 몰라요. 지금도 공인인증서는 폐지수순을 밟고 있고 은행의 인증절차도 간편해지고 있잖아요. 중요한 건 우린 그냥 '우왕 편하다~~' 라는 것만 인지할 뿐 이게 왜 편해졌는지는 관심이 없어요.맞아요. 우린 알게모르게 블록을 만들고 있을 수도 있어요. 당신의 컴퓨터에서 말이죠. 이미 당신은 블록체인에 참여한 거예요. 당신도 장부에 뭔가를 기록했고, 그 블록체인에 참여한 철수란 사람이 그 후에 또 뭔가를 적으면 당신의 컴퓨터에서도 그걸 인식할 수 있어요. 그래서 당신은 철수를 모르지만 당신의 컴퓨터는 철수를 알고 있어요.  이 때문에 P2P거래도 별 인증절차없이 이루어질 수 있는 거예요. 당신의 컴퓨터는 철수를 믿고있거든요. 정리해보면 블록체인은 규칙이예요. 코드로 이루어진 일종의 어떤 규칙이죠. 이걸 블록체인회사에서 만든다음자기들이 어느정도 지분을 가져가요. 자기들이 만들었으니 좀 가지고 있어야 할 거 아니예요. 주로 암호화폐의 형태겠죠.그리고 또 어느 정도는 채굴자들을 모아서 채굴을 시켜요. 대부분은 장비가 충만하신 전문채굴자님들이겠죠. 이 분들은 적극적으로 블록을 만들어내고 많은 보상을 가져가요. 이 때의 보상도 대부분 암호화폐겠죠.나머지는 쪼끄마한 우리들이에요. 우린 그게 뭔진 잘 모르지만 그냥 재밌으니까 막 활동을 해요. 그러면서 블록들을 만들어내요. 우리도 블록체인을 튼튼하게 만드는 역할을 해주었으니 일종의 작은 보상들을 받아요. 이것도 암호화폐겠죠.이렇게 블록체인에 참여하는 컴퓨터수가 많아지면서 블록체인은 더 튼튼해지고 견고해져요. 그리고 겁나 빠르고 편해서 많은사람들이 쓰게 된다면....그게 추후엔 어떤 핵심플랫폼이 될 수도 있겠죠?...다들 그걸 꿈꾸고 열심히 블록체인 코드를 만들고 있는 거예요.여기서 궁금한 게 생겼어요. 그럼... 이런 블록체인 회사들은 돈을 어떻게 버는 걸까요???.... 생각해보면 개발비용이나...홍보나 인건비나..얘네들도 돈이 필요할 텐데 당장 가상화폐는 돈이 안되요. 이제 갓 태어난 화폐는 가치가 거의 없을 거예요. 그러니 마구 가상화폐를 만들어서 팔아도 그건 의미가 없어요. 이분들의 수익은 도대체 어디에서 나는 건지 그게 궁금해졌어요.그래서 3편에선 블록체인 회사들은 뭐 먹고 사는건지 알아보도록 하겠어요 :)어휴 힘들어..이제 저도 규칙에 의해서 자야겠어요.새벽2시가 되면 = 잠을 자라.(규칙)
조회수 2186

미소, 고객들에게 100만 시간을 선물하다!

미소, 고객들에게 100만 시간을 선물하다!2008년쯤 맬콤 클레드웰(Malcolm gladwell)의 저서 <아웃라이어>에서 ‘1만 시간의 법칙’을 인상 깊게 본 적이 있었습니다. “무엇인가에 대해 전문가가 되려면 1만 시간을 그것에 투자해야 한다”는 내용이었죠. 당시 이 내용은 저에게 많은 동기부여가 되어 “나도 축구선수가 될 수 있어!”라며 운동장에서 친구들과 매일 트래핑 연습을 했던 기억이 납니다. 이후 뉴욕타임스가 정반대의 연구결과를 내놓아 1만 시간의 법칙은 몇 년 간 논쟁의 대상이었죠.최근 미소의 2017년 상반기 데이터를 정리하던 중, 고객들이 미소를 통해 100만 시간이 넘게 청소를 받았다는 사실을 확인했습니다. 다시 말하면, 고객들은 40,000일 이상, 114년 이상의 시간 동안 청소를 할 필요가 없었다는 뜻이죠.미소에 청소를 맡기고 지난 100만 시간 동안 모든 고객님이 취미를 즐기거나 사랑하는 사람들과 함께 행복한 시간을 보냈기를 바랍니다. 또한, 맬콤 클레드웰의 말을 빌려 표현하자면 미소가 제공한 그 100만 시간 동안 어느 분야든 멋진 전문가가 탄생했길 바랍니다“행복한 일에만 집중할 수 있도록 미소가 도와드립니다.”미소는 단순히 청소회사가 아닙니다. 미소의 미션은 집안에 필요한 일을 미소가 대신해 고객님들이 행복한 일에만 집중할 수 있는 라이프 스타일을 만드는 것입니다.미소 내에서 고객의 정의란 Customer와 Cleaner 모두를 말합니다. 클리너 님들도 역시 미소의 소중한 고객입니다. 미소가 클리너님들에게 100만 시간이라는 청소 일거리를 드리는 동안, 클리너님들도 행복하셨기를 희망하죠.미소가 초기 투자유치를 했을 때, 많은 투자자분이 질문하셨습니다. “미소는 다른 경쟁사와 어떤 차별점이 있죠?” 이 질문에 대답은 항상 같았습니다. “없습니다. 만약 미소에 투자하기로 했다면, 그 이유는 미소가 경쟁자들보다 훨씬 더 빠른 실행력을 가지고 있다는 것을 믿으시기 때문입니다. 그렇지 않다면, 투자하지 않으셔도 됩니다.” 라고요.현재 미소는 새롭게 변하고 있습니다. 우리의 business는 network effect business입니다. 많은 주문이 있을수록 많은 클리너님들이 일을 하실 수 있습니다. 많은 클리너님들이 일을 하실수록 많은 고객님이 청소로부터 해방되어 행복한 일에 집중할 수 있습니다. 미소는 이러한 순환을 크게 확장하기 위해 집중하고 있습니다.그럼 이 network effect business가 어떻게 클리너님들에게 좋은 경험을 전달할 수 있을까요? 미소에 방문하시는 클리너님과 직접 만나 미소에 가장 큰 문제점이 뭐냐고 물을 때마다, 5분 중 4분은 ‘너무 먼 이동 거리’라고 말씀하십니다.고객과 클리너님들은 각기 다른 곳에서 거주합니다.기존의 이동 경로는 이렇게 됩니다.클리너님은 보통 오전 일을 위해 집에서 1시간 정도 이동하고, 거기서 오후 일을 위해 또 1시간 정도 이동합니다. 그리고 집으로 돌아가 하루를 마무리하죠.1시간은 오전 일자리에서 오후 일자리로 이동하는데 충분한 시간이 아닙니다.미소의 오전 일은 보통 9시에 시작해서 1시에 끝납니다. 그리고 오후 일은 2시에 시작하죠. 이 말은 클리너님들은 1시간 내로 다음 일을 위해 충전하고, 점심 먹고, 이동까지 해야 한다는 뜻입니다. 하루에도 몇 번이나 점심을 드시지 못했다는 클리너님들의 이야기를 듣습니다. 또 다른 클리너님들은 오후 일을 늦지 않기 위해 오전 일을 30분 일찍 시작해달라는 요청도 하시죠.하지만 현재 미소는 하루에 1,000명의 고객님의 청소를 해드리고 있으니 기존의 이동 경로를 상당히 높은 수준에서 개선할 수 있습니다. 15분 내로 오전 일과 오후 일을 이동하는 클리너님들이 많아야 한다고 강조하고 있습니다.우리의 가장 큰 불만은 지각과 연관이 있습니다. 만약 1시간 이동해야 할 거리를 15분 만에 이동할 수 있게 된다면, 지각할 가능성은 작아질 것입니다.매 주마다 미소를 이용하고 있는 정기 고객님들에게도 좋은 소식입니다. 미소의 정기 고객님들은 클리너가 자주 바뀌는 것에 대해 달가워하지 않습니다. 만약 클리너님이 정기 고객님의 집에 방문하기 편하다면, 훨씬 더 많은 클리너님이 정기 고객님 집에 방문하는 것을 정말 좋아하겠죠. 이렇게 이동 경로를 줄여준다는 것은 정기 고객님의 우려 또한 줄여드릴 수 있다고 생각합니다.높은 임금을 위해선 긴 이동시간도 감수할 수 있다.미소는 현재 오전 일과 오후 일 사이에 이동경로를 줄이는데 많은 노력을 기울이고 있습니다. 그럼 실제 출퇴근 거리에 대해서는 어떨까요? 미소의 다음 목표는 수요와 공급에 맞추어 가격을 조정하는 일입니다. 공급 즉 클리너님들이 많은 지역은 가격이 내려갈 수 있지만 공급이 부족한 지역은 가격은 비싸지겠죠?미소는 7월 내에 다양한 가격정책을 준비할 것입니다. 대부분 지역은 기존 가격인 45,000원으로 유지할 것이나 클리너 분들이 적은 지역은 50,000원으로 조정될 것입니다. 이제 클리너님은 선택할 수 있죠.더 편리한 이동을 원하느냐? 더 높은 임금을 원하느냐 ?우리가 하는 일들이 흥미롭지 않나요?우리는 진짜 혁신적인 무언가를 만들 수 있는 충분한 규모에 다가가고 있습니다. 미소는 고객 중심으로 고속 성장을 하고 있고, 해결할 수 있는 흥미로운 문제들을 가지고 있습니다. 미소는 모든 정규직들에게 의미 있는 주식을 함께 나누어 가집니다. 만약 이 글을 읽는 여러분이 개발자, Data Scientist, Product Manager 또는 디자이너라면, 우리가 찾고 있는 사람들입니다. 또한, 미소의 전반적인 운영을 담당할 수 있는 분도 함께 채용하고 있습니다. 만약 관심이 있다면 [email protected] 로 지원해주세요.감사합니다.마지막으로 가장 중요한 것은, 100만 시간의 청소 주문을 해주신 모든 고객님과 이 100만 시간이 넘는 청소를 수행해주신 모든 클리너님들에게 미소 전 직원은 진심으로 감사를 드린다는 것입니다. 미소는 완벽하지는 않습니다. 그렇기에 우리는 365일 하루도 쉬지 않고 고객님과 클리너님들을 위해 미소를 더 좋게 만들기 위해 노력합니다. 이 글은 우리 미션의 첫 번째 단계를 설명하고 있고 곧 미소의 다음 단계에 관한 글을 가지고 돌아오겠습니다.다음 100만 시간은 지난번보다 훨씬 나아질 것이라는 걸 진심으로 믿습니다.#미소 #유한회사미소 #서비스 #인사이트 #가치중심 #고객중심 #100만시간

기업문화 엿볼 때, 더팀스

로그인

/