스토리 홈

인터뷰

피드

뉴스

조회수 1340

스켈티인터뷰 / 스켈터랩스의 흥부자 Christi를 만나보세요:)

Editor. 스켈터랩스에서는 배경이 모두 다른 다양한 멤버들이 함께 모여 최고의 머신 인텔리전스 개발을 향해 힘껏 나아가고 있습니다. 스켈터랩스의 식구들, Skeltie를 소개하는 시간을 통해 우리의 일상과 혁신을 만들어가는 과정을 들어보세요! 스켈터랩스의 흥부자 Christi를 만나보세요:)사진1. 스켈터랩스의 PM, ChristiChristi의 인터뷰는 2개 파트로 나뉘어져 있습니다. 에서는 6월 출시를 앞두고 있는 Cue 어플리케이션 서비스와 직무에 대한 내용을 담았습니다. 을 아직 읽지 않은 독자들이라면, 먼저 ‘스켈티 인터뷰 w.Christi’을 읽고 오시기를 추천드립니다.PART2. About ChristiQ. 간단하게 자기소개를 한번 더 부탁한다.A. 한국어 이름은 정민정, 하지만 회사에서는 Christi로 통한다. 스켈터랩스에서 Product Manager로 일하고 있다. Iris(스켈터랩스 프로젝트 중 하나. 사용자를 학습하여 개인화 추천 서비스를 제공한다. 자세한 내용이 궁금하다면 PART1 인터뷰를 읽어보자)의 PM으로서, 현재는 곧 출시 예정인 Cue를 위해 열정을 불태우는 중이다.Q. 전공이 그래픽 디자인이라 들었다. 어떻게 PM을 맡게 되었는지 신기하다.A. 스켈터랩스에 입사할 때는 UI/UX 디자이너로 인터뷰를 보았다. 그런데 당시 인터뷰어였던 PM께서 PM으로 역할을 맡아보는 건 어떻냐고 제의하시더라. 디자인을 할 때도 항상 ‘왜'라는 질문에 대해 대답을 찾아가며 작업을 진행하는 것을 즐겼는데, PM은 정말 ‘무엇을(What)'에 대해 고민하고, ‘왜(Why)’라는 질문의 답변을 찾아가는 직무더라. 덕분에 나의 직무에 만족해하며 일을 진행하고 있다.Q. PM이라는 직무가 어찌보면 참 모호한 것 같다. 구체적으로 어떤일을 하는지 말해줄 수 있나.A. 나 또한 어려웠다. 처음에는 직접 새로운 Feature를 개발해야한다고 생각했다. 그러나 일을 하다보니 PM의 업무는 아이디어를 창출하기도 하지만, 팀원들이 아이디어를 낼 수 있도록 복돋우고 이를 한번 더 정리하여 발전시키는 일종의 큐레이터(Curator) 역할에 가까웠다. 더군다나 우리 회사는 ‘Innovation or die’라는 슬로건(Slogan)에서 느껴지듯, 혁신적인 제품과 서비스 개발을 추구하지 않나. 참고할 수 있는 선례가 없는 경우가 다수이기 때문에, 팀원들이 생각하는 이상적인 서비스를 단계별로 상상하고, 구체화 하는 작업이 중요하다. 그래서 Ideation부터 새로운 Feature를 구체화하는 과정에 많은 팀원들의 다양한 의견을 모을 수 있는 중간다리 역할을 하는 것이 제일 큰 업무라고 생각한다. 물론 상표를 등록한다거나, 개인정보보호 정책을 확인하고, UX도 함께 고민하는 다양한 업무가 병행되어야 한다.Q. 스켈터랩스를 어떻게 알고 입사했는지, Christi가 입사했을 당시에는 접하기가 쉽지 않았을 것 같다.A. 예전에 구글캠퍼스 서울에서 지인을 만났는데, 그를 통해 스켈터랩스의 대표인 Ted를 알게되었다. 스켈터랩스에서는 뛰어난 기술력을 바탕으로 새로운 제품을 내 손으로 직접 구상하고 만들어 볼 수 있다는 것이 매력적이었다. 특히 현재 우리 팀은 상황 정보 인식(Context Recognition)을 바탕으로 ‘Life improving moment’를 만드는 데 집중하고 있는데, 스켈터랩스에서 개발하는 기술이 내 삶과 주변을 어떻게 바꿀지 기대하고 있다.Q. 스켈터랩스의 조직문화는 어떻게 생각하는지 알고싶다. 예민한 질문이라면 오프더레코드도 가능하다.A. 조직문화에 매우 만족하고있다. 무엇보다 ‘우리는 이러한 조직문화니 우리 회사에서 함께 이 문화를 공유해야해'와 같은 주입적인 방식이 아니라, ‘함께 조직문화를 만들어간다'라는 접근이 좋다.Q. 조직문화를 만들어 간다니, 말은 좋지만 실천이 어려운 얘기 아닌가?A. 실제로 나는 ‘Culture Committee’ 멤버로 속해있다. Culture Committee는 사내 모든 직원의 의견을 수렴하고, 이를 반영하여 스켈터랩스만의 문화를 만들어 조직의 신뢰와 성장에 기여하는 조직이다. 이곳에서 우리는 사내에서 실행할만한 다양한 이벤트를 기획한다. 예를 들어 일주일에 한 번 다른 팀원과 함께 커피를 마시며 서로를 알아가는 ‘커피믹스' 제도 또한 Culture Committee 기획의 결과물이다. 우리는 커피믹스 시간 동안 업무에서 벗어나 Freshen up하며 함께 일하는 동료가 어떤 사람인지, 다른 프로젝트는 어떻게 진행되고 있는지도 알 수 있다. 이렇듯 직접 기획한 제도가 바로 반영되기 때문에, ‘우리가 직접 조직문화를 만든다'라고 얘기할 수 있을 것 같다.사진2. Christi의 '커피믹스' 인증샷, 커피믹스는 매주 1회 시행되고 있다Q. 스켈터랩스의 다른 이벤트도 소개해줄 수 있나.A. 많은 이벤트들이 있지만 내가 가장 좋아하는 제도는 Demo Days와 Inno Week다. 기존 업무에서 벗어나 일주일 동안 평소에 생각해놓은 아이디어를 함께 발전시키고 실제로 제품까지 완성시켜보는 주간이다. 이 기간만큼은 너도 나도 숨겨두었던 창의적이고 독특한 아이디어를 마음껏 풀어놓고, 발산할 수 있다. 실제로 Doodly 앱(증강현실에서 3D 브러쉬로 doodling하여 AR 앱, 스켈터랩스의 실험작이다. App store에서 다운 가능하다)은 작년 Demo Days의 아이디어를 기반으로 만든 결과물이다.Q. 스켈터랩스의 조직문화 이야기를 조금 더 듣고싶다. Christi가 가장 애정하는 우리만의 조직문화가 있다면.회사란 단순히 업무를 수행하는 곳이 아니라 개인의 역량을 키우고 성장시킬 수 있는 환경이어야 한다고 생각한다. 이런 나의 관점으로 살펴볼 때 스켈터랩스는 조직원 한 사람 한 사람을 단순한 직원이 아니라 성장 동력으로 여기고 지원을 아끼지 않는다. 가령 내가 PM을 수행하는 것도 개인적으로 큰 기회다. PM으로서의 경험이 전무함에도 불구하고 업무를 수행하며 일을 배워나가고 있다. 이렇듯 개인의 성장을 바탕으로 조직이 함께 발전하는 문화라는 점이 우리의 가장 큰 자랑 아닐까?Q. 진지한 질문을 한 번 던져보고 싶다. Christi가 스켈터랩스에서 가지고 있는 꿈이 있다면.A. 정말 사람 중심의, 사람을 위한 제품을 만들고 싶다. 요즘 AI Phobia와 같은 단어도 유행하지 않았나. 그러나 나는 좋은 기술이란 사용자가 더 편리하고 윤택한 일상을 살게 만드는 역할을 수행해야한다고 믿는다. 인공지능이 직업을 사라지게 만든다지만, 한편으로는 더욱 상위 레벨에서 인간만의 능력을 발휘할 수 있는 다양한 직업도 생기고있지 않은가. 인간 중심의 따뜻한 제품으로 나의 삶과 우리의 일상을 조금씩 바꾸어보고 싶다.Q. 요즘 스켈터랩스의 입사를 원하는 입사희망자들이 점점 늘고있다고 들었다. 이들에게 전하고 싶은 말이 있는지.A. 내가 특이하다고 생각하는 사람들은 꼭 입사하면 좋겠다. 다양한 사람들이 있어야만 다양한 아이디어가 나오고, 재미있게 일할 수 있지 않겠나. 물론 우리 회사가 다양한 가치관을 포용해주는 회사라는 점도 이들에게 이점이라고 생각한다. 새로운 것을 좋아하는 사람, 만드는 것을 즐기는 사람이라면 분명 스켈터랩스를 재미있게 다닐 수 있을 것이다. 그래서 우리의 문화에 이런 말이 있지 않겠나. ‘Innovate or Die’라고.#스켈터랩스 #사무실풍경 #업무환경 #사내복지 #기업문화 #팀원인터뷰 #팀원소개 #팀원자랑
조회수 913

중국인도 인정한 중국어 공부법

2008년, 12월보다도 춥다는 2월. 나는 중국에서도 가장 춥다는 하얼빈행 비행기를 탔다.군대를 제대하고 1년이 되지 않아 다시 집을 떠나는 길이기도 했다. 군대를 제대하고 무엇에 홀렸는지 중국어를 배워야겠다는 생각이 들었다. 수능 제2외국어로 중국어를 선택하는 광풍이 불었을 때도 나는 꿋꿋이 독일어를 배웠다. 그런 내가 태어나 한번도 배운적 없는 언어를 무작정 잘하고싶다고 생각했으니, 그야말로 중국어에 꽂혔다고 해야겠다. 어쨋든 그 생각이 들고 얼마 지나니 않아 나는 중국어를 계절학기 수업으로 등록하고, 학원 새벽반도 끊었다. 그렇게 8개월간 중국어 기초를 공부하고 태어나 처음 중국이라는 나라에 발을 들였다.중국어 기초는 오프라인 학원에서 중국어 빨리 배우는 방법에 대해서 이야기를 시작했으니, 학원 수업에 대해 먼저 이야기를 하겠다. 중국어 공부를 처음 할 때는 학원 새벽반 다니는 것을 추천한다. 언어는 쓰는만큼 는다. 오프라인 학원에 가면 선생님들이 문장을 큰 소리로 읽게 만든다. 그리고 꼭 돌아가면서 한 문장씩 읽게한다. 책에 있는 예제를 가지고 대화 연습도 한다. 한 예제는 한두명의 학생과 연습하고 다음 내용으로 넘어간다. 학생이 많으면 그만큼 소리내 읽을 수 있는 기회가 줄어든다. 그래서 언어를 배우겠다고 하면 가능한 사람이 적은 수업에 들어가서 제일 앞자리에 앉아야 한다. 새벽반은 등록인원도 적지만 결석인원도 많다. 내가 결석인원이 되지 않을 자신이 있다면 새벽반을 강하게 추천한다. 요새는 인터넷 강의가 많아졌는데, 막 언어를 배우기 시작한 사람이라면 오프라인 학원에 가야한다고 생각한다. 인터넷 강의를 듣는 것은 이동시간도 아끼고 비용도 줄일 수 있지만, 언어를 소리내 발음할 수 있는 환경을 스스로 만들어야 한다. 처음에는 열심히 할 수 있지만 의욕이 사라지면 곧 발음연습은 물론 강의도 소홀히 하게 된다. 게다가 중국어 발음은 체계가 복잡해서 기초를 잘 닦아두는 것이 중요하다. 집에서 혼자 공부하다보면 발음을 교정받을 수 있는 기회를 잃게된다. 인터넷 강의는 발음 기초를 잘 닦아놓은 후에 듣는 것을 추천한다. 중국어를 쓸 수 밖에 없는 환경 ①중국 어학연수 단기간 안에 중국어 실력을 크게 늘리기 위해서는 중국어를 24시간 사용할 수 밖에 없는 환경에 자신을 노출시켜야 한다. 그래서 나는 중국으로 가기로 결심했다. 중국은 교환학생이 아닌 어학연수로 갔다. 교환학생이라면 내가 다니는 학교와 제휴를 맺은 몇 개의 학교 내에서 선택을 하면 되지만, 어학연수는 그렇지 않다. 지역과 학교를 선택할 수 있는 폭이 넓다. 나는 발음이 좋고 물가가 저렴한 곳을 선택의 기준으로 삼았다. 중국은 나라의 크기만큼 지역 방언이 많고, 표준어와 지역어 사이의 유사성도 낮다. 무작정 물가 싼 곳을 선택했다가는 얼마 알아듣지도 못하는 말만 열심히 공부하다 올 공산도 크다. 중국어의 표준어(普通话)가 현재의 베이징 지역에서 쓰는 말을 중심으로 하기 때문에 나는 남쪽보다는 북부 지방을 선택했다. 그 중에서도 하얼빈은 표준어를 굴려 발음하는 얼화(儿化)가 적어 소위 발음이 깨끗한 곳이라했다. 자국 방송인들도 발음공부를 하러 온다기에 큰 고민없이 지역을 선정할 수 있었다. 사실 하얼빈은 베이징, 상해 보다 발달정도가 한참 뒤쳐진 도시다. 중국의 발전된 모습과 변화속도를 경험하기 위한 여행에 하얼빈을 추천할 일은 없다. 하지만 언어를 배우는 것이 우선 목적이라면 한국인과 놀거리 많은 베이징, 상해보다는 하얼빈이 더 적합할 것이다.하얼빈은 러시아와의 접경지역에 있다중국어를 쓸 수 밖에 없는 환경 ②기숙사는 1인실로 중국에 가면서 나의 결심은 확고했다. 당시 HSK 는 초중고급으로 나뉘었는데, 9-11급에 해당하는 고급중국어 자격을 따오겠다는 것이었다. 그런만큼 하나의 원칙도 있었다. 한국인들과 이야기를 적게하는 것이었다. 막상 해외에 가면 이를 지키기가 쉽지 않다. 밖에 나가면 긴장과 스트레스의 연속이다. 입 한번 열기까지 많은 용기가 필요하다. 의지를 불사르며 입을 떼도 돌아오는 대답은 매우 차갑다.    什么?(뭐라고?)그러다보니 자연히 마음놓고 편하게 이야기할 수 있는 한국인들을 찾게된다.'오늘 이런일이 있었다, 중국어 배우기 정말 어렵지 않냐'와 같이 마음 속에 응어리진 일들을 이야기하다보면 한국인들과 어울리는 일이 점차 늘어난다. 한국어 쓰는만큼 중국어는 준다. 중국어 발음이 좋지 않고, 할 수 있는 표현이 적으면 그만큼 중국인과의 대화는 더 어렵다. 결국 언어에 재미를 붙이지 못하고, 중국에서 한국 친구들과 술먹은 기억을 잔뜩 안고 한국으로 돌아오는 일이 적지 않다. 한국인과 어울리지 않는 가장 좋은 방법은 기숙사 1인실을 쓰는 것이다. 대개는 돈을 아끼려고 2인실을 쓰는 경우가 많은데 한국인과 같은 방을 쓰면 냉정하게 말해 중국어 배울 수 있는 기회는 현저히 낮아진다. 1인실을 당연히 더 비싸지만 그만큼 값어치를 한다. 중국의 대학은 전국 각지에서 오는 학생들을 모두 수용해야 하기에 기숙사 규모가 크고 건물도 많다. 한국인들 많은 깨끗한 신식의 기숙사보다는 조금 허름해도 중국인이나 해외 유학생이 많은 곳을 선택하면 2인실 비용으로 1인실을 쓸 수 있다. 그만큼 중국어로 말할 기회가 늘어난다. 살다가 한국인이 없어서 정 힘들면 기숙사 옮길 수 있다. 평생에 돌이킬 수 없는 선택이 아니니 처음에 한번 도전해볼만하다. 중국인들은 농구를 사랑한다. 아침일찍 농구공 하나 들고 농구장에 가면 중국친구를 손쉽게 사귈 수 있다.수업에 가면 한국인이 절반 이상이다. 나의 경우엔 반 정원 30명 중 25명 가량이 한국인이었다. 수업에서 자리를 잡고 짝을 찾는 것은 첫날이 중요하다. 혼자온 외국인 유학생이 있다면 그와 짝을 해라. 그러면 적어도 중국어랑 영어 둘 중에 하나는 는다.중국어 발음 익히기나는 언어에서 정확한 발음을 하는 것이 중요하다고 믿는 사람이다. 중국어는 발음 체계가 복잡한 만큼 더 많은 시간을 발음공부에 쏟아야한다. 중국어 발음은 어렵다. 吃(chi),是(shi),指(zhi) 와 같은 발음은 한국어에는 쓰이지 않는다. 입을 가로로 최대한 벌리고, 혀를 말아야 제대로 된 소리가 난다. 수업에서 한두번 연습한다고 대화중에 자연스럽게 제대로 된 발음을 뱉어낼 수는 없다. 수업시간에 마음먹고 읽어도 쉽지 않은 음들이다. 중국어 단어를 많이 외우는 것도 필요한 일이다. 하지만 결국 중국어로 이야기를 할 수 있어야 하는데 많은 사람들이 발음공부에는 소홀하다. 내가 뱉어낸 이야기들을 한번에 상대가 이해하고 대화를 하게 될 때의 짜릿함은 이루 말할 수 없다.한번 말하는 데 재미를 느끼면 조금씩 더 어려운 단어를 일상생활에 쓰는 연습을 하게 된다. 처음 한두번은 什么 가 대답으로 돌아오겠지만, 몇번 연습을 거듭하면 말하자마자 바로 알아듣는 고마운 중국인들도 만나게 될것이다. 여하튼 그 재미의 시작은 상대가 알아들을 수 있는 발음을 갖는 것이다. 나는 중국에 있는 1년동안 아침에 일어나서 15분, 자기전 15분은 꼭 발음연습을 했다. 발음 연습하는 정해진 방법이 있는 것은 아니다. 나는 병음으로 기본발음들을 적어서 아침 저녁으로 큰 소리로 읽었다. 그리고 중국인 친구와 대화할 때, 그가 한번에 이해하지 못했던 내 발음을 기억해뒀다가 발음 연습장에 차곡차곡 정리를 했다. 가령 친구에게 "吃完了去取吧 (밥먹고 가지러 갈게)" 라는 문장을 이야기했는데 못알아 들었다면 그 문장을 적어두는 것이다 (chi 발음과 두개의 qu 가 연이어 나오는 것이 포인트다). 그런 단어와 문장들을 모아서 아침, 저녁으로 연습을 하면 중국어로 말하는 것에 한층 자신감이 붙을 것이다. 발음 연습을 한다면 아침에 일어나자 하는 것과 잠자리 들기 전 시간을 추천한다. 깨어난 시점부터 잠을 잠을 자는 동안까지 24시간 내내 중국어를 생각해 계속 중국어를 쓰고 있는 느낌을 이어갈 수 있었다. 나는 권설음(빨간박스) 발음하는 것에 신경을 많이 썼다. (*하얼빈에서 쓰던 발음표가 아닌 새로운 발음표다)이제는 영어보다 편한 중국어사실 나의 공부법이 다른 사람들 대비해서 정말 획기적인 방법인 것은 아니다. 기본에 충실한 단순한 방법에 속한다. 하지만 결과는 매우 효과적이었다. 중국에 도착하여 8개월 째에 고급중국어 시험에 통과했고, 많은 중국인 친구들로부터 자기가 아는 한국인중 가장 중국어를 잘한다는 이야기를 듣곤했다. 덕분에 외국인을 만날때 갑자기 중국어가 튀어나오는 경우가 있다. 영어와 중국어 모두 그냥 내 뇌에서는 외국어로 존재하나보다.끝으로 중국어 배우는 데에 많이들 활용하는 것이 중국어 과외받기(辅导,fudao)다. 중국어 수준별로 중국어 과외를 활용하는 방법에 대해서는 다음 기회에 다시 한번 설명을 하도록 하겠다. 그 동안은 우선 한국인들과 조금 떨어져 아침저녁으로 중국어 발음 공부를 하고 있는 것이 어떨까!?한국에 계신 분들에게는 다시한번 학원 새벽반을 추천한다.by 외국어 공부를 사랑하는 30대 직장인챌린저스 - 확실한 목표달성 꾸준한 습관형성 앱www.chlngers.com
조회수 4019

스포카 한 산스2.0에 관한 몇 가지 단편적 사실들

안녕하세요. BX디자이너 김동휘입니다.스포카에서 했던 프로젝트 중 가장 애착이 가는 프로젝트를 꼽으라면, 스포카 한 산스 프로젝트를 첫째로 꼽을 것입니다. 몇번 이와 관련된 글을 남기려고 했지만, 2.0버전이 나오고서야 글을 쓰게 되었네요.이 글에선 스포카 한 산스 새 버전 공개를 앞두고 스포카 한 산스 공식 웹에 다 담을 수 없었던 자잘한 업데이트 이야기, 스포카 한 산스에 관한 몇 가지 흥미로운 사실, 그리고 작업자의 소회 등을 단편적으로 기록해보려고 합니다.1) 영문 대문자 롤백애초에 스포카 한 산스의 영문 대문자를 커스텀 한 이유는 한글과 영문을 함께 썼을 때 영문의 자간과 자폭이 유독 좁아 보이는걸 보완하고자 함이였습니다.하지만 실제로 스포카 한 산스로 영문을 타이핑했을 때, 대문자만 쓰면 자간이 너무 벙벙해졌고 소문자와 함께 쓰면 자간이 부조화스러웠습니다. 또한 강제로 넓힌 자폭 및 자간을 다듬는 것은 아마추어가 건들기엔 더 전문적인 지식과 많은 시간을 필요로 하는일이었음을 깨닫고 원래 상태로 돌리기로 했습니다.2) 대문자 Q의 모양모든 대문자를 원래 상태로 돌린 건 아니였습니다. 대문자 Q는 디자인에 큰 변화를 겪었습니다.소문자 y의 꼬리 또한 마찬가지 이유로 커브를 쫙 펴주는 작업을 해주었습니다. 노토산스 CJK KR에 심긴 영문은 한글과의 어울림을 고려하여 디자인된 게 아니고 기존에 있던 오픈산스를 그대로 가져와 옮겨심은 것이기 때문에 완벽하게 매칭된 상태는 아닙니다. 그래서인지 개인적으로도 한글은 다소 딱딱한 느낌인데 반해 영문은 비교적 둥글둥글하다는 첫인상이였습니다. 또한 라토 서체에서 커스텀해 옮겨온 숫자 글리프도 쭉쭉 뻗은 모양새입니다. 이전 스포카 한 산스 작업당시 소문자 l의 꼬리 끝을 과감히 잘라낸 이유 중 하나도 한글 및 숫자 글리프와는 어울리지 않는다 판단했기 때문입니다.스포카 한 산스 2.0 작업을 하면서 스포카 한 산스의 기존 커스텀 방향을 좀 더 충실히 따르기로 했고 Q와 y도 대세를 따라 둥근 꼬리를 버리고 단호한 꼬리를 달게 되었습니다.숫자와 함께 쓰인 영문 예시 도판을 보시면 의도가 더 설득될지도 모르겠습니다.4) “,”와 “?”, ? 모양도 마찬가지로 대세를 따릅니다. 참고로 쉼표 모양을 변경하면서 참고했던 Apple 산돌고딕 Neo의 경우 , . ? “ ” ‘ ’ 모두 획의 끝을 각진 스타일을 맞춰줬으나 스한스는 그렇게까지는 안 하기로 했습니다.내가 만약 서체 디자이너라면 각진 스타일을 모두 맞춰주었겠지만, 스포카 한 산스 프로젝트의 최종 목표는 완벽한 서체를 만드는 것이 아니라 우리 서비스에 최적화된 서체를 (빨리) 커스텀하는것이였으므로 타협을 하기로 했습니다. 아래 Apple산돌고딕 Neo 소문자 i와 j의 점 모양을 보시면 타협한 이유가 보이실 텐데요, 이걸 고치기 시작하면 고칠 게 너무 많아지기 때문입니다.5) 소문자 a물론 이 모든 변화는 디자이너와 리뷰어들의 취향 또한 반영합니다. 이 변화의 경우 다른 이유보다 취향 탓이 더 큰 듯합니다. 오픈산스의 a는 사발(bowl) 부분이 다소 처진 느낌입니다. 이 사발 윗면의 경사 또한 부드러운 인상에 한몫한다고 판단, 경사를 완만하게 만들었습니다.노토산스CJK KR 소문자 a과 스포카 한 산스 2.0 소문자a6) 숫자폭과 숫자 1, 4 글리프서비스 특성상 숫자가 잘 읽혀야 하며 숫자의 단위를 가급적 빨리 인지할 수 있게 해야 했습니다. 특히 여러 수치를 리포트 형식으로 보여주는 페이지가 많으며 각각의 데이터값을 쉽게 비교해야 하는 서비스 특성을 반영해 개선했습니다.노토산스의 숫자를 보면 한글이나 영문 속에서 섞여 있을 땐 글줄이 매끈하게 썩 잘 어울리지만 숫자만 쓰였을 땐 그 장점이 단점으로 작용합니다.스포카 한산스 2.0과 노토산스CJK KR, 영문과 숫자를 함께 썼을 경우스포카 한산스 2.0과 노토산스CJK KR, 숫자 형태 비교기존 스포카 한 산스는 형태에 대한 커스텀은 라토를 가져옴으로 해결했지만 자폭에 대한 고려는 하지 못했습니다. 왜냐하면 각 숫자 글리프의 형태가 단순한 1부터 양옆으로 빵빵한 8에 이르기까지 다양했기 때문에 각 숫자의 공간을 동일하게 주기 어려웠기 때문입니다. 특히 1의 공간을 해결하기 너무나 어려웠는데요, 이번엔 라토 1의 모양대로 밑에 받침을 넣어주고 상단의 삐침을 길게 빼줘서 고정폭이 되더라도 어색해 보이지 않게 개선했습니다.스포카 한 산스 1.0의 1과 2.0의 1 모양 비교라토 4 획의 끝을 각지게 바꾸면서 다소 생뚱맞은 특징이 하나 생겼는데, 이를 반듯하게 다듬어주었습니다. 위의 숫자 1의 변화와 함께 놓고 보면 훨씬 안정적으로 바뀌었음을 느낄 수 있습니다.스포카 한 산스1.0과 2.0, 각각의 숫자14 글리프 모양 비교8) ☃ 글리프 교체단순히 귀여움을 위해 눈사람 글리프도 스포카 캐릭터로 심어주었습니다.스포카 캐릭터 포포, 푸이 캐릭터 원형9)_, - 수정.한글, 일본어 및 숫자를 주로 사용하는 서비스 특성에 맞춰, 숫자와 관련된 기호를 영문 소문자 디센더를 상대적으로 덜 고려한 위치로 옮겼습니다.수학 공식의 마이너스 부호는 너비를 늘리고 커스텀한 숫자에 맞춰 높이를 약간 낮췄습니다. 고객이 태블릿 입력창에 기입한 휴대폰 번호의 가독성이 높아야만 했기 때문에 너비를 충분히 넓혀주어 앞뒤 숫자들이 명확히 구분되게끔 했습니다.이런 변화는 숫자의 변화와 마찬가지로 인쇄를 위한 매끈한 글줄을 조판하고자 할 땐 거슬릴 수 있습니다. 키보드에 있는 마이너스 부호는 수학 공식에 쓰이기도 하지만 하이픈이나 구간을 나타내는 엔대시와도 혼용하고 있기 때문입니다. 엔대시가 포함된 글 한 단락을 조판한다고 가정했을 땐, 이런 변화는 글줄이 다소 끊겨 보일 테니 말입니다.10) <, >키보드에 ‘<’, ‘>’는 사실 수식의 부등호란 사실 알고 계셨나요?(…) 나 또한 스포카 한 산스 커스텀 하면서 알게 된 사실입니다. 허나 이미 수많은 사람이 이를 괄호처럼 사용하고 있으므로, 이게 괄호처럼 쓰여도 과히 이상해 보이지 않았으면 했고 이를 반영한 결과가 다음과 같습니다. 물론 수학 부등호와 괄호를 분명히 구분해주는 것이 맞지만, 많은 사람들이 귀찮고 특수문자를 찾아 넣기 힘들다는 이유로 혼용하고 있기 때문에 이를 무시할 수 없다고 생각했습니다.1참고로 과거의 나와 많은 사람이 <, >와 혼용하는 이 부호의 명칭은 꺾쇠괄호 혹은 홑화살괄호 〈 〉라고 합니다.11) |, \, /, (, ), {, }, [, ] 위치 및 길이 수정노토산스CJK KR의 경우 영문의 어센더 디센더를 모두 고려한 길이와 위치로 설정되어있었습니다. 그래서 한글이나 숫자, 그리고 디센더가 없는 영문 글리프와는 좀 어색한 모양새입니다. 모두 고려해주면 좋겠지만, 당장은 한글과 숫자 사용이 월등히 많으므로 한글과 숫자에 어울리는 길이와 위치로 변경해주었습니다. 단 완벽하게 한글과 숫자에 최적화를 한 건 아니며, 어쩌다 영문 소문자와 함께 쓰여도 이상하지 않을 정도로 타협을 보았습니다.참고로 산돌 네오고딕의 경우, 노토산스 CJK KR과 달리 영문서체도 모두 산돌에서 제작을 했음을 생각하면 영문의 디센더와 어센더의 높이를 한글에 맞게 길들인 것으로 짐작이 됩니다. 따라서 버티컬 라인의 위치와 길이가 별다른 조정 없이도 한글, 영문, 대소문자 숫자 모두 잘 어울립니다.(, ), {, }, [, ]도 디폴트값이 영문을 기준으로 되어있던 위치를 한글과 숫자 위주로 조절해주었습니다.12) ※, 〶, ‹, ›, «, », 『, 』, 「, 」, 『, 』, 「, 」, 《, 》, 〈, 〉각종 글리프 중 자주 쓸만한 글리프들의 굵기를 웨이트에 맞아 보이게 조절습니다.『, 』, 《, 》, 「, 」, 〈, 〉의 경우 사실 유니코드 표준상으로는 전각이 맞습니다.2 하지만 한글 조판 방식의 특성이 고려가 안 된 표준이라 글자 사이를 엄청나게 띄워놓아 가독성을 해치고 글줄에 구멍을 만듭니다. 물론 어도비 프로그램에서는 몇 가지 설정으로 쉽게 미세조정이 가능하나 디자인 툴이 갖춰져 있지 않거나 웹앱 등에서는 미세조정이 불가능하므로 강제로 반각으로 고쳤습니다.3 그러고 보니 스포카 한 산스의 커스텀 내용 중 많은 수가 디자인툴에서만 수정 가능한, 하지만 범용 애플리케이션에서도 니즈가 있던 부분들을 적용해주는 작업이네요.13) ¥ $ ₩ %숫자 글리프를 전면 수정하면서, 숫자와 주로 함께 쓰이는 통화기호도 숫자 외형 변화에 발맞춰야 했습니다.퍼센트 기호의 경우, 스한스 버전 1 때는 단독으로 예뻐 보이는 방향으로 취향껏 고치는 바람에 똥글똥글한 모양에 세로획이 다소 두꺼운 모양이었으나, 숫자 0과 영문 Oo과 잘 어울리지 않는다고 판단, 기존 모양으로 돌아가 획 굵기만 재수정하였습니다.14) 각종 글리프 패스 정리다소 부끄러운 고백이나, 폰트랩이 익숙지 않아서 처음 스포카 한 산스 작업할 땐 수정하고픈 글리프를 모두 일러스트레이터로 그려서 폰트랩에 옮겨오는 식으로 작업했습니다. 이 과정에서 패스가 일그러지는 부분들이 다수 생겼고, 2.0작업하면서 거의 모두 폰트랩으로 다시 그리거나 패스를 정리하였습니다. 웹에서 보면 그리 티 나지 않지만 디자인툴인 일러스트레이터나 인디자인으로 써놓고 크게 확대해보면 일그러진 패스들이 보입니다.스포카 한 산스1.0 글리프 ?, 숫자 4의 패쓰 찌그러진 것을 스한스 2.0에서 개선한 모습 비교15)“스포카”를 검색하면 가장 먼저 뜨는 연관검색어는 스포카의 서비스인 “도도 포인트”가 아니고 “스포카 한 산스”입니다. 스포카에서 진행한 오픈소스 프로젝트 중 가장 흥한 프로젝트는 스포카 한 산스 프로젝트라고 내부적으로 평가하기도 합니다.16)처음 스포카 한 산스를 공개했을 땐 피드백과 문제를 받기 위한 메일주소를 공개했었습니다. 덕분에 유익한 피드백을 받기도 했었지만 한편으론 우리도 끝내 해결 못 한 문제나 노토산스 자체 버그를 해결해달라는 문의도 많이 들어왔습니다. 현재는 해결 못하는 문제들을 기록하는 채널을 통일하고, 다른 분들도 모두 이슈를 확인하실 수 있도록 github 이슈로만 제보 받고 있습니다. 직접 해결해드리고 싶지만 본업이 서체 디자이너나 서체 개발자는 아닌지라 안타까운 마음일 뿐…17)한번은 스포카 한 산스 적용 중에 생긴 문제 해결을 위해 자사에서 사용 중인 개발 디테일을 알려달라는 메일이 오기도 했었습니다. 이에 개발 디테일은 공개할 수 없다고 답변드리자 스포카 한 산스 프로젝트 전체를 총체적으로 폄하하는 메일을 받기도 했었습니다. 당시엔 황당했지만 지금은 오픈소스 프로젝트에 대한 견해나 이해도 차이가 낳은 헤프닝이라고 생각합니다.18)사용문의 메일이 (아직도) 심심찮게 옵니다. 주로 기업에서의 사용문의인데, 여러분 그냥 묻지 말고 쓰셔도 됩니다.19)경쟁사에서 본인들 웹사이트에 해당 서체를 사용하는 걸 발견하고 모두가 어이없어했는데, 그로부터 몇 개월 후 스포카는 그 경쟁사를 인수하게 되었습니다. 420)2017년 2월부터 산돌커뮤니케이션의 서체 관리 프로그램인 ‘구름다리’를 통해 스포카 한 산스 2.0 버전을 제공하게 되었습니다. 산돌커뮤니케이션은 바로 노토산스CJK KR의 한글을 제작했던 서체 회사입니다.21)스포카 한 산스 프로젝트를 하고 난 후, 이따금 내가 처음부터 만들지도 않은 서체를 우리 회사 이름을 붙이고 적극적으로 홍보하는 것에 대해 가끔은 떳떳하지 않은 기분을 느꼈습니다. 나는 서체 디자이너가 아니며, 그렇기때문에 아무리 우리가 쓰기 좋게 만들었다 한들 서체만을 전문으로 디자인하는 전문가 입장과는 상충할 수밖에 없다고 생각했습니다. 커스텀 퀄리티에 대해 자신이 없기도 했고요.하지만 최근에 한글타이포그래피학교에서 진행하는 안삼열 님의 섞어짜기 특강을 들을 기회가 생겼고 우리의 방향성은 틀리지 않음을 확인했습니다.5 한글과 영문을 함께 쓴다는것은 두 문명의 충돌이기에 모든 조건에 100% 만족하게끔 섞어 쓰는 건 어려운 일이고, 어떻게 서로를 “길들”일지는 디자이너의 선택에 따라 방향이 달라질 수 있는 것이지요. 어떤 의도로, 무엇에 초점을 맞춰 서로를 길들일지 판단하는 것은 디자이너의 몫인 것입니다.스포카 한 산스가 어디에 주로 쓰일 것인지 명확했고, 철저히 그 조건에 부합하려고 노력했습니다. 노토산스CJK KR은 한글을 디자인한 디자이너가 영문이나 기타 글리프를 직접 디자인한 게 아니고 오픈산스를 가져와 붙인 것입니다. 물론 한글과 영문을 함께 쓰기에 부족함이 없도록 노력한 흔적들이 많고, 디자이너라면 이를 잘 찾아 적용할 수 있을 겁니다. 하지만 일반인들이 이런 방법을 알기는 힘들며, 앞서 말했듯 범용 애플리케이션에서 적용하기엔 어려운 점이 있습니다. 그럼에도 불구하고 노토산스CJK KR은 장점이 압도적인 서체이고, 감사하게도 오픈소스로 풀리는 바람에 우리 같은 아마추어도 서체를 새로 만드는 수고에 비해 아주 적은 노력만을 들여 개조할 수 있었습니다. 우리가 개발자 문화에 친숙했고, 오픈소스란 개념이 낯설지 않았던 덕택에 이런 문명의 혜택(?)을 입을 수 있었던 것입니다.이제는 이 프로젝트가 일종의 “리메이크”에 가깝다고 느낍니다. 상황에 맞게 기성 음악을 믹싱해서 틀거나 원하는 의도대로 리메이크 하듯, 우리도 서체를 리메이크한 것이지요.현재, 다른 웹사이트에서 심심찮게 스포카 한 산스를 발견할 수 있습니다. 숫자를 많이 쓰는 기업의 웹사이트에서 스한스를 많이 적용한 걸 보면 장점이 명확한 걸로 보입니다. 물론 우리 제품에서도 잘 쓰고 있고요. 이 정도면 꽤 성공한 프로젝트 아닐까요?22)Contributor : 김동휘, 강영화Reviewer : 김예지, 박지선, 정희연Technical assistance : 양천웅, 홍민희, 문성원, 유은총, 김재석, 박준규, 최종찬, 강성용Inspection of English contents : 옥지혜한국타이포그라피학회의 심우진 님의 논문 “한글 타이포그라피 환경으로서의 문장부호에 대하여”를 읽어보면, 주류 여론으로는 문장부호와 산술기호를 구분하는 것으로 보입니다. “6.3. 폰트 호환성 저하 부등호를 꺾쇠괄호의 대용으로 사용하는 한글 폰트도 많이 출시되어 있으나, 5.1에서 언급한 바와 같이 제작 방식에 차이가 있어 한글 폰트끼리의 크기, 위치 편차가 크다(그림 18)” ↩다음 각 항목의 링크를 클릭해 더 자세한 정보를 확인해보세요. 『(왼쪽 겹낫표), 』(오른쪽 겹낫표), 《(왼쪽 겹화살괄호), 》(오른쪽 겹화살괄호), 「(왼쪽 낫표), 」(오른쪽 낫표), 〈(왼쪽 홑화살괄호), 〉(오른쪽 홑화살괄호). ↩한국어의 조판방식과 유니코드 표준이 거리가 멀기 때문에 다른 한국 서체 회사들도 반각으로 임의로 고친 서체(산돌네오고딕, 나눔고딕 등)를 출시하기도 합니다. ↩‘쿠폰·포인트 적립 1위’ 스포카, 2위업체 전격 인수 ↩안삼열 님의 실제 의견과 본 블로그에 기재된 글쓴이의 의견이 다를 수 있습니다. ↩#스포카 #디자인 #디자이너 #폰트 #인사이트 #경험공유 #후기 #일지
조회수 1435

스타트업 이메일 마케팅 노하우 5가지

개인적으로 '컨텐츠 마케팅'의 정점이라고 생각하는 이메일 마케팅을 지난 9월부터 6개월째 진행하고 있습니다. 이메일에 담길 컨텐츠를 기획하고, 이메일 내용에 들어갈 이미지를 제작하고, 글을 쓰고, 이메일을 예약/발송하는 것까지 전반적으로 다 담당하고 있는데요, 오늘은 지난 6개월간 해왔던 일을 정리하는 겸 <이메일 마케팅 노하우 5가지>에 대해 이야기해보도록 하겠습니다.<스타트업 이메일 마케팅 노하우 5가지>메일침프로 이메일 마케팅 시작하기먼저, 이메일 마케팅을 할 수 있는 툴부터 소개해드리겠습니다. 저희 회사 같은 경우에는 '메일침프'를 쓰고 있습니다. 메일침프의 무료 계정은 한 달에 구독자 2,000명에게 12,000건의 메일 발송을 할 수 있습니다. 저희 서비스는 아직 12,000건이 넘는 대량 발송은 필요하지 않기 때문에 메일침프를 활용하기로 결정 (땅땅!)이메일 마케팅 노하우 1, 메일은 '제목'은 상상 이상으로 중요하다!사실 이메일 마케팅 하면 누구나 다 이야기하는 것 중 하나가 바로 '제목의 중요성'이지요. 그런데 막상 이메일 마케팅을 직접 집행해보니 이 '제목'은 상상 이상으로 중요했습니다. 같은 내용이어도 제목에 따라서 클릭률이 5%에서 많게는 10%까지도 차이가 났거든요.클릭을 부르는 메일 제목에는- 궁금증을 자극하는 질문형 문장- 타겟의 일상과 깊게 연관이 되는 공감형 문장- 객관성을 높여주는 숫자와 통계를 활용한 문장등이 있었습니다.메일을 받는 사람들이 클릭 후 '아 뭐야 낚였어'라는 생각이 들지 않을 정도로 내용과 연관성이 있으면서, HOOK! 할 수 있는 한 줄의 카피를 쓰는 센스! 그게 바로 메일 제목 쓰는 데에서 꼭 필요하더라고요.이메일 마케팅 노하우 2, 제목만큼이나 중요한 메일 보내는 '시간'!제목만큼이나 중요한 이메일 마케팅의 요소는 바로 '메일을 보내는 시간'입니다. 이것은 타겟의 행동 패턴을 잘 알아야 하는 요인인데요, 주말에는 메일을 확인할 확률이 떨어지는 것 같은 일반적인 요소와는 별개로 우리 서비스가 주로 타겟팅하는 소비자들의 특성을 반영하면 좋습니다.예를 들면 저희 자소설닷컴 같은 경우에는 취업 준비생들이 의욕 넘치게 '자기소개서를 써야겠다!!!!' 마음먹고 노트북 앞에 앉는 주중(특히 월~화 같은 초반)의 오전 시간대에 메일을 주로 노립니다 +_+ 역지사지해서 생각해보면 이렇습니다. 저녁 늦게 집에 가려고 하는데 취업 준비나 자기소개서 작성 팁이 메일로 온다면? 피곤하게 느껴져서 오히려 클릭을 안 하고 싶을 수도 있겠죠? 아니면 '내일 확인해야겠다..' 하고 미루거나 잊힐 수도 있고요!이메일 마케팅 노하우 3, 꼭 모바일 테스트도 해볼 것!이것은 모든 컨텐츠 마케팅에 적용되지만, 이메일 마케팅에서도 중요한 요소이기 때문에 이야기합니다. 바로 '모바일 최적화'!!! 메일 같은 경우에도 PC와 모바일에서 확인할 수 있다 보니 두 경우의 화면과 레이아웃 등을 비교해 보아야 합니다.보통 PC로 작업을 하기 때문에 PC 기준에서 잘 보이니 괜찮겠거니~ 하고 그냥 진행을 하는데, 모바일로 봤을 때 글자가 너무 많거나, 작거나, 이미지의 사이즈가 잘 안 맞거나 할 수 있거든요. 꼭 테스트 메일을 PC와 모바일 두 군데 다 확인해보고 메일을 보내야 합니다.이메일 마케팅 노하우 4, 계속 AB Test/결과 분석하기!마케터라면 본능적으로 할 작업이지만, 이메일 마케팅 역시 보다 높은 결과를 얻기 위해 AB Test 와 결과 분석, 비교는 필수입니다.AB Test 같은 경우는 다양한 요소를 기준으로 해볼 수 있겠습니다. 앞서 말한 것처럼 회원들에게 반응이 좋은 제목을 찾기 위해 메일 보내는 리스트를 절반으로 나누어 제목 1, 제목 2 다르게 보낼 수도 있고요. 아니면 회원이 많은 경우라면 회원들의 관심사에 맞게 메일을 보내며 어떤 관심사를 가진 회원들이 어떤 반응을 보이는지를 분석해 볼 수도 있겠지요.이메일 마케팅 노하우 5, 목표 / 기대효과 / KPI 잊지 말기!마지막으로 잊지 말아야 할 것! '우리가 왜 이메일 마케팅을 하는가?' 이메일 마케팅에 대한 목표, 기대 효과, 그리고 KPI 측정 방법과 결과 분석입니다. 사실 매일매일 일을 쳐내다 보면 이런 것을 잊게 되거든요 (슬프지만.. 현실.. ㅠ_ㅠ) 하지만 정말 정말 중요한 것이니 잊지 말아야 합니다.우리가 이메일 마케팅을 하려고 하는 이유가 무엇인가? 이메일 마케팅을 통해 어떤 효과를 기대하는 것인가? 이것을 어떻게 측정할 것인가?만약 이것에 대한 뚜렷한 답이 없다면, 그리고 이것에 대한 목표와 가설을 세우고 이메일 마케팅을 진행했는데 그만큼의 효과가 없다면, 과감히 그만두어도 좋다고 생각합니다. 리소스가 계속 들어가는데.. 효과가 없다면 어쩔 수 없는 것이니까요..ㅜㅜ 그리고 다른 사람들이 다 한다고 해서 우리 서비스에 맞지 않는 마케팅 방식을 고수할 필요도 없다고 생각합니다. 스타트업에게 시간과 인력은 아주아주 소중하잖아요..ㅠ_ㅠTip!정말 정말 깨알 꿀팁이지만 마지막으로 한 가지만 더 이야기하자면, 이메일 마케팅에서 꽤 중요한 요인 중 하나로 '리스트 관리'가 있다는 것입니다. 좀 더 반응이 좋은 사람들을 찾아내기 위해서, 그래서 원하는 마케팅 효과를 보기 위해서는 계속해서 결과를 분석하면서 최상의 반응을 얻을 수 있는 리스트를 뽑아내야 하는 것이죠. 이메일 마케팅을 시작한 이상 멈출 수 없는 작업이긴 하지만... 꼭 필요한 작업입니다!이상으로 제가 6개월 동안 이메일 마케팅을 하면서 알게 된 노하우에 관한 글을 마무리 지으려고 합니다. 위와 같은 내용들은 정말 기초적인 것이고, 각자의 서비스 성격과 목적에 따라 이메일 마케팅의 방식과 결과 또한 많이 달라지겠지요? :) 혹시 이 글을 읽으신 분들 중에서 다른 노하우를 가지고 계신 분이 있다면 댓글로 공유해주세요~ 더 공부하고 배우겠습니다!#앵커리어 #마케팅 #마케터 #이메일 #이메일마케팅 #노하우 #꿀팁 #인사이트
조회수 845

클라이언트가 내게 와인을 권했다.(feat.작업후기)

지난 2주간 새로운 프로젝트를 맡아서 일을 했답니다. 플젝의 내용은 이런 것이었어요. 회사소개 문구 좀 세련되게 고쳐달라. 음...그렇습니다. 회사소개서를 만들다보면 처음 의뢰는 디자인으로 오기 마련이예요. 하지만 정작 자료를 받아보면 디자인은 부차적인 문제죠. 일단은 내용이... 뭔 말인지 모르겠어!!... 또는 노잼이야!!.. 아니면 문맥이 이상해!! 또는 상투적이야!! 지나치게 노골적이거나!! ... 등등의 문제들이 있습니다.그래서 대부분은 텍스트부터 손대기 마련이랍니다. 이젠 익숙해져서 아예 앗싸리 처음부터 이렇게 텍스트 기획부터 들어가는 경우가 많아요. 이번 프로젝트는 특이하게 디자인말고 문구수정만 맡아서 하게 되었습니다. 사실 디자인은 꽤나 괜찮더라구요. 다만 뭐랄까...텍스트가 지나치게 평범해서 마치 체크남방에 뿔테안경, 카키색 카고바지를 착용하고 인케이스 백팩을 맨 착한오빠 느낌이랄까요.  일단 미팅부터 진행해보고자 강남구청역으로 슝슝 달려갔습니다.1.이번 클라이언트는 와인회사였어요. 소믈리에 양성교육과 와인유통, 콘텐츠제작등을 하고 있는 곳이죠. 건물에 1층은 오져버리게 세련된 바&카페였고 2,3층 교육장이 있고, 4층에 사무실이 있고..테라스도 있고... 뭐여. 이쁘잖아? 네, 건물이 예뻤습니다. 미팅은 1층 바에서 진행했어요.보통 대표님은 내향형대표님과 외향형대표님이 있는 듯 합니다. 이번 대표님은 전자에 가까웠어요. 그리 말이 많은 편도 아니었고 조용한 성격에 상당히 전문가느낌을 물씬 풍기는 그런 인상이셨죠. 하지만 정작 와인얘기가 나오면서부턴 각성한 마법전사마냥 눈이 반짝거리시더니 봇물 터져벌임.2.일단 전 와인을 1도 모릅니다. 물론 마셔보기는 했으나 이 맛이 저 맛이고 떫고 달다..정도를 구분할 수 있는 정도?.. 네, 혀가 있다면 누구나 구별할 수 있는 그 정도의 맛만 알고있는 상태였습니다. 게다가 비싼 와인일수록 떫다....라는 뜬소문이 장착된 상태라 이마트에서 파는 8,000원짜리 기획와인이나 꼴짝꼴짝 마시는 정도였죠. 술을 즐기긴 하지만 뭔가 와인은 선뜻 혼술로 즐기기엔 좀 뭐랄까.... 선입견이 좀 있었던 것 같아요. 이건 조낸 특별한 날에 까야해. 라는...?3.텍스트를 만들려면 일단 와인을 이해해야 했습니다. 이 술이 당최 뭔지 알아야 뭔가 구상을 하든 말든 할테니까요...그래서 일단 싸디싼 와인을 홀짝이며 와인책을 뒤적뒤적거리기 시작했어요.최근 개봉한 '부르고뉴, 와인에서 찾은 인생' 도 찾아 보았죠. 오우 영화가 상당히 재밌더라구요. 혹시 못보신 분들은 꼭 한 번 찾아보셨으면 합니다. 진심 그 영화보면 와인멍청이라고 해도 어느 순간 혜안이 열리는 듯한 기분입니다. 그리고 끝나면 와인이 땡기죠.개꿀잼입니다. 진심4.이번 컨셉은 와인은 '언어다!' 라는 컨셉이었어요. 사실 술이란 게 그렇잖아요. 소주는 소주를 마실 때 하는 대화가 있고, 맥주는 맥주 나름이 대화가 있습니다.뭔가 인생의 크으으으 쓴 맛을 느끼고 나눌 때는 소주가 제격이고...청춘의 짠내나는 한숨을 담은 편맥과 오땅....수다와 근황얘기에 적합한 수제맥주...비오는 날 거나하게 취하고 흥청이망청이 노래부르고싶은 막걸리..등등 술과 대화는 뗄레야 뗄 수 없거든요. 와인은 또 와인 나름대로의 대화가 있기 마련이죠. 그래서 언어라고 규정해 봤어요. 술자리는 꼭 목소리로 오고가는 대화 대신에 잔끼리 부딪히며 마시는 와중에 느껴지는 무언의 대화가 있기 마련이거든요. 중간에 뭔가 굉장히 어색해지면 '야야야 짠해 짠!' 이라고 끊어주는 역할을 하는 것처럼 말이예요. 뭔가 잔을 기울여 마신다는 것은 그 자체로 하나의 언어가 된다고 생각해요.짠해 짠.5.자 그래서...텍스트를 다듬기 시작했습니다. 진심 4줄 쓰는게 이렇게 힘든 건지 오랜만에 깨달았습니다.이렇게 일단 언어와 와인의 속성을 뽑아서 사랑의 작때기 마냥 서로 연관있는 것 끼리 연결시켜 주었어요. 은유라는 것은 유사속성끼리 서로 묶는 게 먼저거든요.그리고 각각 속성을 연결시켜 문장으로 만들어냈어요. 논리는 이런 식이었어요.'와인은 언어다.''언어는 사고방식과 행동을 규정한다.''와인은 우리의 삶을 바꾼다.'이런 3단 논법으로 갔던거죠. 몇몇 키워드들이 등장했어요. 오감, 깊어짐, 가벼움, 묵직함, 섹시함, 섬세함, 감각 등등..말이예요. 이제 이 녀석들을 문장안에 잘 녹여서 하나로 만들어야 해요. 이 때 만큼은 존윅에 나오는 총기소믈리에가 된 것같은 느낌이죠.그래서 기존 텍스트를 이렇게저렇게 바꾸고 만들고 난리를 쳤습니다. 자세한 과정은 재미가 없으니 생략하도록 할께요. 여튼 이렇게 14개의 사업영역에 대한 텍스트가 모두 만들어졌습니다. 텍스트를 만들 때는 몇가지를 고려해야해요!~일단 읽혀야 해요. 끝까지 읽히고 나선 찰져야 해요. 입천장에 달라붙은 양반김마냥 입에 챡!! 붙어야 하죠.  그리고 무엇보다 쉬워야 해요. 와인은 안그래도 전문가들만 알고있다라는 느낌이 강력한데 영어나 한자어가 수두룩하면 읽는 사람은 느에에에에 핵노잼! 하면서 뒤로가기를 누르기 마련이니까요. 그리고 입으로 말해도, 글로 써도 둘 다 어색하지 않은 글이면 더더욱 좋겠죵. 그래서 문장에 구성할 때 운율을 잘 짜요. 3.3.5라던지 3.4.3이라던지 음보를 잘 짜주면 딜리버리 쩌는 스피치를 만들 수 있어요. 그리고 라임도 잘 맞춰주면 좋아요. 이응이응이 가득한 어절에 하나씩 파열음이나 된소리를 넣어주면 엑센트가 살면서 일종의 리듬감을 만들어 준달까요.그렇게 머리를 두번짜고 세번짰더니!!  이런 것이 만들어졌어요!대표님은 맘에 든다고 끄덕이끄덕이를 하셨고(으아아아아...감사합니다!!!)  전 2주간 시달리던 긴장에서 봉인해제될 수 있었어요. 대표님께선 와인을 적극 권하셨습니다. 한 잔 잡숴봐~ 이런 느낌은 아니었고. 진심으로 와인이 삶을 보는 눈을 바꿀 수 있다고 믿고 계셨어요. 근데 사실 이 점은 저도 동일해요. 술이란 것은 대화를 동반한다고 했잖아요. 심지어 아무 말없이 술만 기울여도 뭔가 그 분위기라는 것이 전하는 메시지가 있기도 하구요. 이게 주종에 따라 조금씩 어투나 언어가 달라지는 느낌입니다. 분명 와인은 와인 나름의 대화와 분위기가 있기 마련이죠. 그리고 그 분위기를 이해하기 위해선 내 몸속에 들어가는 이 알싸한 것들이 당최 뭔지 이해해야 해요.와인을 배운 다는 건 내 몸속에 또 하나의 언어를 채워넣는 느낌이죠. 말로 내뱉는 언어가 아닌 혀와 코끝으로 느끼는 언어말이예요.그래서 말인데, 대표님이 그렇다면 이번 기회에 소믈리에 기초과정을 한 번 들어보라고 권하셨어요. 우왕굿이예요. 자랑입니다. 이제 더 이상 와인코르크도 제대로 못따서 코르크 빠뜨려서 둥실둥실 할 일은 없을 것 같아요.클라이언트 비즈니스를 한다는 게 장단점이 있습니다. 모든 디자이너와 콘텐츠제작자는 '나만의' 무언가를 만들고 싶어해요. 그건 숙명과도 같은 숙제죠. 내 것을 만들면서 느끼는 뿌듯함은 굉장한 쾌감을 줍니다. 하지만 그에 못지않게 클라이언트 비즈니스도 짜릿한 매력이 있어요. 다른 사람들이 몸담고 있는 세계를 맛볼 수 있잖아요. 특히 이번 프로젝트 처럼 전혀 관심도 없었던 영역을 '일을 하기 위해' 공부했다가 매력이를 느껴버리는 경우엔 더더욱요. 매번 새로운 일을 하시는 대표님들을 만날 때마다 새로운 세계를 조금씩 테이스팅하는 기분입니다. 이번엔 진짜로 알싸한 와인을 테이스팅 하게 될 것 같구요. 조만간 소믈리에 과정을 듣게되면 이 언어가 얼마나 기가 맥히게 매력적인지 꽐라가 되어서 글을 주저리 해보도록 하겠습니다. 역시 글 중에 글은 취중끄적 아니겠습니까.이렇게 또 하나의 일이 끝났습니다. :)물심양면으로 지원해주시고 생에 두번 없을 기회까지 제공해주신 와인비전 대표님께 감사드립니다!~ 딱히 돈을 받거나 광고하는 것은 아니지만 새로운 언어에 관심있으신 분이라면 한번쯤 들려보세요 :) http://winevision.kr/
조회수 3096

채널 iOS에 Redux를 적용하게 된 7가지 이유.

친숙한 MVC 패턴개발자라면 누구에게나 친숙한 MVC (모델 - 뷰 - 컨트롤러) 패턴은 꽤 오랜 시간 동안 사용됐고 아직까지 많은 개발자들에게 사랑받고 있는 패턴이다. 그 이유로는 이 패턴이 일단 진입장벽이 낮기도 하지만 코드 재사용성, 동시 개발의 용이성 때문이다. 만약 당신이 초보 iOS 개발자라면 높은 확률로 MVC 패턴을 쓰게될 것인데 그 이유는대부분의 예제 및 튜토리얼이 MVC 패턴을 쓰고 있고iOS의 IDE인 Xcode에서 (Swift 는 예외지만) 클래스를 생성할때 기본으로 이름에 ViewController라고 들어간다.위와 같은 이유로 많은 iOS 개발자에 영향을 주리라 생각된다. (2011년도부터 iOS 세계에 빠진 저자도 사실 iOS에서는 software architectural design pattern으로는 MVC가 넘사벽이라고 생가하고 있었기에) 문제는 상대적으로 복잡도가 높아지거나 코드의 양이 많은 제품의 개발에서는 생산성이나 가독성에 그다지 도움을 주지 못하는 데 있다고 생각한다. 예를 들어, 한 페이지의 복잡도가 높아지면 ViewController 파일 한 개의 코드 라인이 기하급수적으로 증가한다. 또 (코드 관리에 매우 신경을 쓰지 않는 이상) 객체 간의 통신 및 데이터의 통일성이 없어져서 가독성이 떨어지기 쉽고, 기능을 추가할 때 생산성이 점점 떨어지게 된다.왜 MVC 패턴은 이렇게 문제가 생기는걸까라는 질문에서부터 시작해보자.MVC 패턴, 도대체 뭐가 문제인가?!그림 1. 보편적인 MVC 패턴의 구조보편적으로, MVC 패턴의 구조는 위의 그림과 같다. 그림을 간단히 설명하자면:뷰에서 이벤트가 발생하면 컨트롤러에 알린다컨트롤러는 그것을 처리하고 모델에 업데이트를 하라고 전달한다.모델은 업데이트를 하고 컨트롤러에 다시 알린다컨트롤러는 모델이 업데이트되었다는 것을 뷰에 알린다뷰는 모델의 업데이트된 값에 따라 다시 뷰를 그린다그림 1과 위의 설명만 놓고 보면 각각의 역할이 명확하다고 생각한다. 구조가 복잡하지 않기 때문에 초보자들도 쉽게 이해하고 적용 가능하다는 것이 장점이다. 하지만 MVC 패턴은 객체 간에 어떤 방향으로 커뮤니케이션 해야 하는지에 대해서는 강제하지 않기 때문에 파생된 패턴들이 많이 있다. 실제로 구글에서 “MVC pattern”이라고 검색을 하면 위 그림과 다른 MVC 패턴 이미지들을 볼 수 있다. 그 한 가지 예가 밑에 그림 2이다.그림 2. 또 다른 MVC 패턴의 구조그림 2를 보면 그림 1과는 다른 커뮤니케이션 방향을 나타내고 있다. 바꿔 말하면 개발자가 원하면 언제든지 세 가지 구조 안에서 방향을 유동적으로 바꿔 써도 무방하다는 것이 된다 (그것이 원하는 MVC 패턴이든 아니든지 간에). MVC의 변형으로써는 여러 가지가 있지만, 대표적인 것들은 아래의 그림과 같이 MVP, MVVM 같은 것들이 있다.그림 3. MVC, MVP, MVVM 패턴의 비교실제 저자도 MVC 패턴이 커뮤니케이션 방향을 강제하지 않는 것과 관련해 문제를 겪은 경험이 여러 번 있었던 것을 기억한다. 한가지 예를 들어보자.ViewA.swift (뷰)protocol ViewADelegate {       func updateA() }   class ViewA : UIView {        var delegate: ViewADelegate?       //update through protocol      func didClickOnA() {          self.delegate?.updateA()     }      //update through notification     //maybe same kind of update can happen in other views      func didClickOnAA() {         NotificationCenter.default.post(             name: NSNotification.Name(rawValue: “updateFromA”),              object: nil         )     }      func render(_ model: product) {         //update based on model      }  } ViewController.swift (컨트롤러)class ViewController : UIViewController, ViewADelegate {       Var viewA: ViewA?     Var product = Product()     func viewDidLoad() {         self.viewA = ViewA()         self.viewA.delegate = self         // ...         self.view.addSubview(self.viewA)     }      func updateA() {         self.product.update(name: “aa”, version: “123”)         self.viewA.update(self.product)         //re-render viewA     }  } Product.swift (모델)class Product {       var name = “”     var version = “”     init() {         NotificationCenter.default.addObserver(             self,             selector: #selector(self.doSomething),             name: “updateFromA”, object: nil)     }      deinit {         NotificationCenter.default.removeObserver(self)     }      func update(name: String, version: String) {         self.name = name         self.version = version     }      func doSomething() {          //do something…          //notify viewA or any objects through notification     }  } 조금 극단적인 예처럼 보이긴 하지만 실제 개발을 하다 보면 충분히 일어날 수 있는 상황이다. 코드에 대해 간략하게 설명하자면:ViewA에서는 delegate와 notification으로 각각 ViewController와 Product에 이벤트를 날리고 있고ViewController에서는 delegate method를 구현해서 Product를 업데이트 후, 다시 ViewA를 그리라는 로직을 가지고 있다.Product 에서는 객체를 업데이트 할 수 있는 메소드가 있고 notification을 통한 업데이트를 하고 있다.이건 아주 간단한 예이지만 프로젝트가 커진다면 특정 이벤트에 대해 데이터가 업데이트되는 경로가 달라질 수 있다. ViewA -> Product -> SubProduct -> Product -> ViewA 의 경로라던가, ViewA -> Controller -> Product -> SubProduct -> Controller -> ViewA 의 경로 등이 가능하다. 이처럼 특정 이벤트에 대해 여러 가지 체인형식으로 업데이트가 이루어질 경우 그 경로를 일일이 추적하는데 시간이 걸릴 수밖에 없는 구조를 가지고 있는 것을 볼 수 있다.(프로젝트의 크기가 어느정도 커지게 된다면 이렇게 될지도 ㅎㅎ)이런 케이스가 발생하는 근본적인 이유는 결국 MVC 패턴의 장점이라고도 말할 수 있는 유연성과 양방향 커뮤니케이션 때문이다. 이 패턴 자체가 문제가 있는 것은 아니지만 결국 코드는 사람이 작성하는 것이기에 생산성과 가독성을 떨어뜨리는 결과를 초래할 가능성이 높다. 여기에서 우리는 기존 웹 개발에서 쓰이고 있던 Redux 도입을 생각하게 된 것이다.Redux는 무엇인가?Redux 로고Redux는 Facebook의 Flux 를 모태로 삼고 있고 예측 가능한 상태를 자바스크립트 프로그램에서 구현하기 위한 애플리케이션 아키텍쳐이다. Redux는 본래 자바스크립트에서 시작한 오픈소스 프로젝트이지만 다른 개발자들에게 영감을 주었고 2015년 말쯤 iOS 플랫폼에서는 ReSwift(Redux + Swift)가 생겨났다. ReSwift는 결국 Redux랑 크게 다르지 않고 Redux의 세 가지 법칙을 따른다.Single source of truth — 애플리케이션의 전체 상태(State, 또는 데이터)는 트리 형태의 하나의 저장소(Store)로 저장된다.Changes with pure functions — 상태 트리를 변경하는 리듀서(Reducer)는 순수 함수(pure function)이어야한다.Read-only states — 상태는 오직 액션(Action, 어떤 일이 일어날 것인지 설명할 수 있는 객체)으로만 변화가 가능하다.쉽게 말하자면 “Redux는 한 개의 상태 저장소를 가지고 있고 그 안에 있는 데이터만이 신뢰할 수 있으며 저장소의 상태는 오직 순수 함수인 리듀서를 통해서만 변화가 가능하다” 라고 축약 할 수 있다.그림 4 Redux 패턴의 구조위의 그림 4을 보면 충분히 프로그램의 흐름이 어떤 식으로 흐르는지 감이 왔으리라 생각한다.이벤트가 뷰에서 생성되면 그에 해당이 되는 액션을 통해 알린다.액션은 특정 리듀서에서 처리한다.리듀서는 액션에 따라 저장소를 업데이트한다.저장소에 변화가 오면 구독(Subscribe)을 하고 있는 모든 객체에 알린다.이것이 Redux의 커뮤니케이션 사이클이다. Redux만으로도 충분히 여러가지 블로그 주제가 나올 정도로 할 이야기가 많지만 여기까지만 하고, 좀 더 자세한 디테일을 알기 원한다면 옆의 링크를 클릭하시면 된다. :) -> 리덕스 공식 링크Redux vs. MVCMVC와 Redux에 대해 소개를 했으니 간단히 비교해 보자.The Flow — Redux는 데이터 및 애플리케이션의 흐름을 강제한다. 저장소의 변화는 오직 액션을 통해서만 가능하기 때문이다. 이와 다르게 MVC는 강제성이 없기 때문에 여러가지 파생 패턴이 생길 수 있다.Unidirectional flow — Redux에서 흐름은 액션으로만 변화가 일어나기 때문에 오직 한쪽으로만 흐른다. MVC에서는 양방향이 될 수도 있고 한 방향이 될 수도 있지만 보통 양방향이다.Stores — Redux에서는 상태 및 데이터가 하나의 저장소에 있기 때문에 관리하기가 쉬운 반면, MVC에서는 여러 군데에 상태가 분리되어 있기 때문에 동기화에 신경을 써야 한다. (로컬 데이터 스토리지를 쓴다면 문제가 해결되기는 하지만 패턴 이외에 추가적인 노력이 필요함)그 이외에 여러가지 다른 점이 있겠지만, 위의 3가지가 가장 다른 점이라고 저자는 생각한다.채널 데스크 iOS에 Redux를 적용하게 된 이유이제 MVC와 Redux의 차이점을 알게 되셨으리라 생각한다. 우리 팀이 채널 데스크 iOS에 Redux를 적용한 이유를 소개하려고 한다. 아직 모든 부분에 완벽히 적용한 상태는 아니지만 (부분적으로 Notification, Delegate 그리고 Reactive를 쓰고 있다) 그럼에도 Redux를 적용함으로써 얻는 이점이 많다고 느끼고 있다.Explicit data flow — 새로운 개발자가 왔을 때나 여러 명이 작업을 할때 애플리케이션의 전체 흐름을 파악하고 이해하기 쉽다.Unidirectional flow — 데이터 관련 부분을 전부 Redux로 대체하니 모든 데이터 흐름이 한 방향으로 강제되었다. 덕분에 데이터가 어디에서 왔고 어디로 가는지를 파악하기 매우 쉽다.Single storage — 한 곳에서만 데이터를 관리하기 때문에 데이터에 관한 부분은 리듀서만 잘 짜 놓으면 관리하기 쉬워진 점이 있다. Redux를 적용하기 전에 CoreData를 데이터 저장소로 쓰고 있었는데, 어느 시점에 어떻게 저장되는지 눈에 들어오지 않아 불편한 점을 Redux를 사용함으로써 해결할 수 있었다.Immutability and data consistency — 변경 가능한(Mutable) 객체는 보통 iOS 개발에서나 다른 플랫폼 개발에서 장점일수도 있다. 하지만 데이터의 일관성이 깨지기 쉽다. 만약 A에서의 데이터와 B에서의 데이터가 다르면 어떤 것을 신뢰해야 하는지의 문제도 생길 수 있다. 우리는 Redux의 저장소에 있는 데이터를 모두 변경 불가능한 객체(Immutable, Swift에서는 Struct을 쓴다)로 구현하여 이 문제를 해결하였다. 이 부분은 코딩할 때 불편한 점이 조금 있지만, 그 불편함을 감수할만한 가치가 있다고 생각한다.Predictability — 저장소는 오직 액션을 통해서만 변경할 수 있다는 점이 무엇보다 장점인 것 같다. MVC와 같이 데이터를 어디서든 변경할 수 있다면 데이터와 관련된 버그를 찾는 데 소비하는 시간이 길어지곤 한다. Redux는 어떤 액션이 어디에서 불리는지 아는 것만으로도 그 시간을 비약적으로 단축할 수 있다.Maintainability — 저장소, 상태, 액션 그리고 리듀서로 역할과 레이어를 분리하게 되니 보통 코드 라인이 100줄을 넘지 않는다. 그만큼 유지보수 비용이 적어졌다.Organized Code — MVC 패턴에서는 비지니스 로직이 뷰에 들어가는 경우가 있기도 했었는데 Redux의 가이드라인을 따름으로써 자연스럽게 대부분의 뷰는 그저 데이터를 받고 시각화하는 dummy 뷰의 형태가 되었다. 비즈니스 로직이 완전히 뷰와 분리됨으로써 뷰의 복잡도와 코드를 관리하기가 쉬웠다.ReSwift 도입 시 주의할 점ReSwift 도입을 고려하는 분들을 위해 몇 가지 주의할 점을 소개하겠다.Performance — ReSwift에서는 저장소가 변경될 때마다 newState: 메소드가 호출이 되어 화면을 업데이트할 수 있게 되어있다. 채널 데스크 같은 경우는 실시간 애플리케이션(Real-time application)이라서 API 이벤트와 Socket 이벤트가 자주 발생해서 저장소가 변경되는데, 도입 초기 단계에 이 부분을 간과해서 화면이 거의 멈출 정도로 퍼포먼스가 나오지 않았었다. 만약 ReSwift를 적용했는데 퍼포먼스가 나오지 않는다면 newState: 함수 부분을 최적화하거나 미들웨어(middleware)를 만들어서 batch 형식으로 액션을 처리하는 방식을 고려해봐야 한다.Not thread safe — ReSwift는 thread-safe 하지 않아서 초반에 알 수 없는 crash들이 자주 발생했었다. 저자 같은 경우는 ActionWrapper를 만들어서 액션은 항상 메인스레드에서 처리되도록 강제했다.글을 마무리하며..Redux는 이미 자바스크립트 개발에서는 React와 함께 많이 쓰이고 있지만 iOS에서는 아직도 생소한 아키텍쳐이다. ReSwift는 아직 2년도 되지 않은 프로젝트이고 자바스크립트에서 처럼 유용한 Redux 미들웨어도 많지 않다. 또한 인지도도 MVC, MVVM, MVP에 아직 미비한 편이다. 프로덕션에 참고할 만한 예제도 찾기 어려웠기에 초기 러닝 커브는 조금 있었던 것으로 회상한다. 그럼에도 불구하고 우리 팀은 ReSwift를 적용해 보다 깨끗하고 유지보수하기 쉬운 프로그램을 만들 수 있었고 만족하며 사용하고 있다. 기존 MVC의 불편함을 아시는 분들은 충분히 도입할 가치가 있다고 생각한다.#조이코퍼레이션 #개발자 #개발팀 #인사이트 #경험공유 #일지 #Redux
조회수 2170

스켈티인터뷰 / 스켈터랩스의 N잡러 엄단희 님을 만나보세요:)

Editor. 스켈터랩스에서는 배경이 모두 다른 다양한 멤버들이 함께 모여 최고의 머신 인텔리전스 개발을 향해 힘껏 나아가고 있습니다. 스켈터랩스의 식구들, Skeltie를 소개하는 시간을 통해 우리의 일상과 혁신을 만들어가는 과정을 들어보세요! 스켈터랩스의 N잡러 엄단희 님을 만나보세요:)사진1. 스켈터랩스의 N잡러 엄단희 님Q. 자기소개를 부탁한다.A. 스켈터랩스에 입사한 지 이제 8개월 정도 된 신입 소프트웨어 엔지니어, 엄단희다.Q. 스켈터랩스에서 어떤 업무를 맡고 있는가.A. 현재는 아이리스(Iris) 팀에 소속되어있다. 아이리스 팀은 맥락 인식(Context Recognition) 기술을 기반으로 SDK를 비롯한 여러가지 서비스 출시를 준비하고 있는데, 사실 지금은 레고(L.ego)팀이 준비하는 신제품인 스마트 미러 샘(Samm) 개발 업무가 주요 업무이다. 샘은 스켈터랩스가 가지고 있는 맥락 인식 기술 뿐만 아니라 음성, 얼굴, 제스처 인식을 비롯한 대화형 엔진이 모두 집약된 인텔리전트 디바이스(Intelligent Device)다. 여러 기능이 하나의 디바이스에 구현된 만큼, 샘은 다양한 모듈로 나누어져있다. 예를 들어 센서 정보를 모으는 모듈과 그 정보를 처리하는 모듈, 처리한 내용을 보여주는 UI 모듈 등이 있는데, 나는 이러한 모듈들을 gRPC 또는 bluetooth 등을 통해 서로 통신할 수 있도록 해주는 작업을 주로 진행했다. 최근에는 샘의 구매자에게 필요한 샘 어플리케이션 개발을 진행하고 있다. 아이리스 팀 관련해서는 파이어베이스(Firebase) 관련 작업을 서포트한 적이 있고, 얼마 전에는 스켈터랩스 웹사이트 개발에 참여하기도 했다.Q. 맡고 있는 업무의 가짓수가 많아 보인다. 한번에 여러 개의 프로젝트를 진행하는 것이 어렵진 않나.A. 쉽다고 말하기는 힘든 것 같다. 여러 업무에서 동일한 지식이 요구될 때도 있지만, 기본적으로 하나의 일을 처리하기 위해 집중하고 있다가 다른 업무로 전환할 때, 그 업무를 위한 나의 베이스를  바꾸는 등의 일들이 녹록치 않다. 처음에는 무엇보다 일의 우선순위를 정하는 것이 가장 버거웠다. 사실 업무마다의 기한이 정해져 있으면 당연히 급한 업무를 먼저 처리할텐데, 우리 회사는 그보다는 본인이 직접 업무량을 조정해서 기한을 정하고 처리하는 편이다. 그래서 하나의 일을 쪼개고 쪼개어, 그 중에서도 가장 빨리할 수 있는 일부터 먼저 처리하는 나만의 업무 프로세스를 만들고 있다. ‘빨리 할 수 있는 일'이라고 해서 마냥 쉬운 일을 말하지는 않는다. 그 때마다 내게 가장 맞는 일, 내가 가장 준비되어 있는 일을 자연스럽게 추려내어 업무 효율을 높이려고 한다.Q. 스켈터랩스에 어떻게 입사하게 되었는지 궁금하다.A. 재작년, 앤드비욘드라는 회사에서 인턴으로 근무했다. 당시 스켈터랩스가 앤드비욘드와 함께 개발중이던 스마트 포스(POS)기, GABE 프로젝트를 진행하며 한남동에서 같은 사무실을 쓰고 있었다. 그 프로젝트 팀에서 파견직처럼 일을 하게 되었는데, 가장 놀란 점은 ‘사람'이었다. 이렇게 누구 하나 빠짐 없이 개발을 잘하는 사람들이 모여있는 곳에서 개발하는 것은 처음이었다. 학교에서는 나름 ‘나도 잘하는 편이지 않을까’ 생각했는데 여기 와서 한없이 부족하다는 걸 깨달았다. 그런데 그렇게 부족한 신입 인턴임에도 불구하고 모두가 나를 평등하게 대해주셨고 개발 관련해서도 많이 배울 수 있었다. 덕분에 스켈터랩스는 내게 아주 좋은 이미지로 남아있었는데, 작년 스켈터랩스의 CTO인 조성진님께 오퍼를 받아서 스켈터랩스 인턴으로 일과 학업을 병행하다가 올해 정직원으로 입사하였다.Q. 인턴으로 일을 하며 학업과 병행했는지 몰랐다. A. 학교 스케줄을 우선시할 수 있도록 회사가 많이 배려해주었다. 다행히 학교가 회사와 멀지 않은 거리에 위치하기도 한다. 그래서 학교 수업은 주 2-3일 정도, 오전 타임으로 몰아서 구성했다. 시험기간이라고 하면 팀원들이 모두 나서서 ‘어서 집에 가서 공부부터 해라'라며 조언해주시고 업무적으로도 많이 도와주신 덕에 학업에 대한 지장 없이 일을 할 수 있었다.Q. 인턴을 마치고 정직원으로 입사했다면, 인턴 시절과 현재를 비교할 때 업무적으로 무엇이 가장 다른가.A. 우리 회사는 매 분기마다 분기의 목표 설정과 유사한 OKR(Objectives and Key Results)을 정하고, 이를 완료하는 방식으로 일을 진행한다. OKR에서 중요도가 높은 업무는 P0로, 가장 중요도가 낮은 업무는 P2로 표기한다. 인턴으로 처음 입사했을 때는 P1~P2 레벨의 자잘한 이슈들을 처리하는 업무가 많았다. 정직원이 되고 나니, 그만큼의 지식과 스킬이 쌓인 만큼 P0의 업무들을 조금 더 맡게되었다. 그러나 전반적인 업무의 결은 유사하다. 다만 확실히 책임감은 늘어났다고 생각한다. 인턴일 때는 ‘난 인턴이니까 몰라도 괜찮겠지?’와 같은 마인드가 있었는데, 정직원이 된 지금은 ‘정직원이 이 정도는 알고 있어야겠지?'라고 생각한다. 덕분에 공부하는 양도 이전보다는 늘어났다.사진2. 파워 코딩 중인 단희 님Q. 최근 스켈터랩스가 여러 학교의 커리어페어에 다녀오면서 많이 들었던 질문 중 하나가 ‘인공지능을 전문적으로 공부하지 않았는데, 일을 할 수 있을까요?’였다. 혹시 이 질문에 대한 답변을 해줄 수 있을까.A. 나도 입사 때 면접을 보며 같은 질문을 던졌다. 입사해서 느끼는 점은 정말 인공지능에 관련된 개발 외에 다른 영역에서도 개발해야 하는 일이 정말 많다는 점이다. 때문에 인공지능 분야를 잘 모른다고 해서 (물론 알면 좋지만) 막연한 두려움은 갖지 않아도 좋다. 물론 좀 더 코어한 부분을 개발할수록 인공지능 공부의 필요성을 점점 느끼게 된다. 이러한 기술적 갈증은 사내에서 열리는 테크톡(Tech Talk)과 같은 세미나를 통해 어느 정도 해결할 수 있으며, 업무를 위해 관련 공부가 필수적이라면 팀별로 스터디가 진행되기도 한다. 실제로 다른 팀에서는 주기적으로 관련 논문을 스터디하고 그 지식을 공유하는 세션이 진행되고 있다.Q. 스켈터랩스 입사 후 가장 뿌듯했던 순간과 힘든 순간을 꼽는다면?A. 나는 내가 무언가를 직접 만들고, 그 결과물을 선보이는 과정을 좋아한다. 그래서 가장 뿌듯한 순간으로는 회사 웹사이트를 런칭했을 때를 꼽고 싶다. ‘웹' 특성 상 내가 짠 코드들의 결과를 바로 눈으로 확인할 수 있기 때문에 개발하는 재미도 있었고, 아무래도 회사를 대표하는 사이트라 많은 사람들에게 보여질 것이라 생각하니 더욱 자부심을 갖고 일할 수 있었던 것 같다. 그런 측면에서 나중에 샘을 런칭하게 될 날도 기대된다. 반면 가장 힘들었던 순간은 작년 블루투스 개발 관련 디자인 문서 작업을 진행할 때 였다. 일단 블루투스 기술도 잘 모르는 데다가 디자인 문서 자체도 제대로 써본 적이 없어 생소했다. 사실, 개발이 안 풀리고 막혀있을 때는 그 순간만 힘들 뿐 어떻게든 해결책을 찾고 결과물을 낼 수 있었다. 그런데 디자인 문서 작업은 내가 어떤 방향성을 취해야 하는지, 지금 하고 있는 과정이 맞는 것인지가 계속 의구심이 들었다. 하루종일 컴퓨터 앞에 앉아 있어도 결과물이 없으니 마음만 조급해지는 일도 많았다. 다행히 당시 리뷰를 해주신 조성진님 등 기타 다른 개발자분들의 도움으로 문서는 마무리지을 수 있었는데, 내 한계에 대해 반성하기도, 많이 배우기도 했다.Q. 스켈터랩스 게임동호회 회장을 맡은 것으로 알고있다. 게임동호회를 소개하자면?A. 먼저 오류부터 수정해야할 것 같다. 나는 현재 게임동호회 회장은 아니다. 사내 게임동호회인 ‘Game of Troll’은 한달에 한 두번 모여서 게임을 함께 하는데, 그 게임에서 꼴찌를 한 사람이 회장이 된다. 나의 경우 저번 달 클래시로얄 게임에서 꼴찌를 하여 회장을 맡았었다. 하지만 회장이 정한 게임으로 다음 회장을 뽑기 때문에 내가 자신있는 게임인 오버워치를 9월 게임으로 선정했고, 현재는 정태형 님에게 회장 자리를 넘겨주었다. 게임은 종류에 따라 사내 블루룸 또는 PC방에서 진행한다. 블루룸에는 플스와 닌텐도 등의 각종 게임기가 완비되어 있어, 토너먼트 식으로 철권을 하거나 마리오카트를 했었다. 또 휴대폰으로는 클래시 로얄을 함께 플레이하기도 한다. PC게임인 경우에는 저녁에 함께 피씨방에 가는데, 재미있는 점은 원래 저녁을 먹고 피씨방에 가다가, 피씨방에 가서 저녁을 먹는 걸로 바뀌었다는 점이다. 저녁먹는 시간이 아까워서다. 이렇게 피씨방에서 플레이한 게임들은 스타1, 스타2, 카운터 스트라이크 온라인2, 오버워치, 히어로즈 오브 스톰 등이 있다.처음 게임 동호회에 들어올 때만 해도 ‘같은 회사 사람끼리 게임을 하는 것이 과연 재미있을까'란 생각을 했다. 그런데 막상 게임을 같이 해보니, 회사에서 일할 때는 보이지 않았던 그 사람의 의외의 면을 발견하는 재미도 있는 것 같다. 개인적으로는 초등학교 때부터 게임을 워낙 많이 했던 탓에 스스로 ‘내 인생을 게임에 너무 낭비한 것이 아닐까'란 자괴감을 느낀적도 있는데, 다른 훌륭한 개발자의 게임 덕후스러운 면모를 보면서 ‘나만 이렇게 게임에 빠진 것은 아니었구나'하는 위안도 받을 수 있었다.사진3. 스켈터랩스의 게임동호회 Game of Troll의 뒷풀이 모습Q. 와우, 플레이하는 게임이 정말 많다. 단희님이 가장 좋아하는 게임을 그 중 꼽는다면?A. 나는 단연 오버워치다. FPS게임을 선호하는 편인데 그 중에서도 오버워치를 주로 플레이한다. 개인적으로 스토리가 재미있기도 하고, 팀플레이를 진행하며 합을 맞춰가는 맛이 있다. 무엇보다 사람끼리 대결하는 PVP로 진행을 하면 정말 짜릿함이나 즐거움이 배가 되는 것 같다. 물론 협동 게임인 만큼 팀플레이가 제대로 되지 않는다거나 비매너 유저들과 붙을 때는 기분이 아주 다운되는 경우도 있지만 말이다. 그럴 때는 ‘GTA5’ 또는 최근에 시작한 ‘데스티니 가디언즈'에서 PVE를 하며 마음을 진정시킨다. 물론 이것만 하면 지루하겠지만 오버워치와 적절히 번갈아가면서 하다보면 고유의 재미가 느껴진다.Q. SNS에 웹툰도 연재하고 있는 것으로 알고있다. 어떻게 웹툰 연재를 시작하게 되었는지.A. 어렸을 때부터 만화 그리는 것을 좋아했다. 내가 상상하는 이야기들을 만화로 풀어내는 것도, 그 날 있었던 일을 재미있게 연출해서 일기 대신 그림으로 하루의 기록을 남기는 것도 좋아했다. 그렇게 학교에서 있었던 재미있는 에피소드를 글과 그림으로 남기다 보니, 이걸 모두에게 공개하면 재미있지 않을까란 생각을 했다. 때마침 한창 페이스북 페이지가 유행이었는데, 그때부터 노트에 끄적거린 짧은 만화들을 올리기 시작하면서 현재의 인스타그램 웹툰까지 오게되었다.   사진3. 단희 님이 연재 중인 <초코롤의 코딩일기>, 인스타그램과 페이스북에서 만나볼 수 있다Q. 웹툰 소개를 부탁한다.A. 인스타그램에선 @sw_chocoroll, 페이스북에서는 <초코롤의 코딩일기>라는 제목으로 게재하고 있다. 취미생활 겸 하다 보니 정기연재는 아니다. 제목에서 드러나 듯 주로 코딩(개발) 이야기를 다루고 있는 생활툰이다. 생활툰의 특성상 어쩔 수 없이 주변인들에 대한 묘사가 많고, 에피소드가 없을 때면 웹툰을 그리기도 쉽지 않다. 약간 과장하더라도 실제 있었던 일들을 중심으로 작업하기 때문에, 업로드 전 꼭 등장 인물들에게 검수를 거치기도 한다. 웹툰 그리는 것이 생각보다 집중도를 요하는 작업인지라 보통 주말에 진행하는데, 그래서 평일에는 에피소드를 꼼꼼히 기록해두는 습관이 생겼다. 무엇보다 웹툰을 그리며 가장 많이 느꼈던 점은 내 인생에 대해서 조금 더 알게됐달까, ‘나’를 다시 보게 된 느낌이 있다. 내가 기록한 에피소드가 대부분 게임과 개발에 편중되어 있는 점을 보면서, 인생에서 많은 지분을 ‘게임', ‘개발' 이 두 가지에 할애하고 있다는 것을 새삼 알게되었다.  Q. 재능 부자, N잡러로 보인다. 게임에도 웹툰에도 이렇게 관심이 많았는데 어떻게 개발자의 진로를 선택하게 되었나.A. 이유는 생각보다 단순하다. 위에 웹툰에서도 그렸듯이 영화를 보면 꼭 대형 모니터를 여러 개 띄워놓고 멋지게 주인공을 돕는 해커들이 등장하지 않나. 게임을 많이 하게 되면서 자연스럽게 컴퓨터에 친숙해지기도 했고, 영화를 보면서 ‘나도 컴퓨터 관련 전공을 택하면 저렇게 멋있는 사람이 될 수 있지 않을까’라고 생각했던 것 같다. 다만 어떤 분야의 개발자가 될 것인가에 대한 고민은 많았다. 영화처럼 정보보안 쪽도 잠깐 발을 담갔지만 지금 당장 할 수 있는 분야는 아니라는 생각을 했고, 그 다음은 게임 개발자에 관심을 가졌다. 그런데 당장 게임 회사에 들어간다고 해도 꼭 내가 만들고 싶은 게임만 만들 수는 없다는 것을 알게 되서 보류했다. 나는 일단 스토리가 탄탄하고 재미있는 게임을 정말 사랑한다. 예를 들어 <화이트데이>라는 공포 게임을 정말 재밌게 플레이했었는데, 공포 요소도 한국 정서에 맞게 잘 구현되었으면서 미연시(미소녀 연애 시뮬레이션) 요소도 가미되어 신선한 느낌을 주었었다. 제일 중요한 스토리도 배경 시나리오부터 인게임 진행까지 반전에 반전을 거듭하며 게임이 끝나고도 생각해볼 여지가 많았다. 이런 게임을 만들고 싶지만 우선 희망 사항으로 남겨둔 상태이다. 그러다 우연히 입사한 스켈터랩스에서 훌륭한 선배 개발자들을 보며 ‘개발' 자체의 즐거움을 느꼈고 당장은 어떤 특정 분야에 국한하지 않고 순수한 개발 능력을 향상시키기 위해 노력하고 있다. 스켈터랩스에서 중요하게 다루는 인공지능은 특히 기술적으로 미래의 변화를 주도하고 있기에, 여러 방면에서 매우 배울 점도 많고 발전할 수 있는 것 같다.Q. 최근 몰두하고 있는 것이 있다면?A. 여전히 웹툰과 게임이다. 웹툰을 그릴 수록 기초적인 그림 실력이 부족하다는 것을 많이 느꼈다. 전문적으로 그림을 배워볼까 싶다. 그리고 유튜브에 게임 채널을 열어보려고 한다. 내가 관심있었던 모든 일은 기본적으로 ‘창작'과 ‘기록'의 맥락을 가지고 있다. 개발 또한 어떻게 보면 내가 짜는 코드를 통해 하나의 프로그램을 만들어 내는 역할이지 않나. 웹툰도 내 일상에 대한 기록이다. 나의 일상에서 가장 큰 관심사 중 하나인 게임을 기록하는 방법에 대해 고민했는데, 역시 동영상이 최고라는 결론에 도달했다. 유튜브에는 게임 영상을 편집하여 조금씩 선보이고 있다.Q. 진부할 수 있지만, 이 인터뷰의 마지막 질문이다. 개인적인 꿈을 얘기해줄 수 있나.A. 언젠가는 접어두었던 게임 개발자의 꿈을 꾸려고 한다. 1인 개발자로서 스토리와 작화, 개발을 모두 맡은 개발자 말이다. 그러기 위해서는 그림 뿐만 아니라, 유저의 마음을 사로잡을 수 있는 스토리와 촘촘한 개발력 또한 갖추어야 한다. 개발력은 일단 스켈터랩스에서 빵빵하게 키워놓고, 스토리와 작화에 관련된 역량을 조금씩 갖추어간다면 1인 개발자로서 내 이름을 건 게임을 출시할 날이 조만간 올 수 있지 않을까.#스켈터랩스 #사무실풍경 #업무환경 #사내복지 #기업문화 #팀원인터뷰 #팀원소개 #팀원자랑
조회수 1269

AWS Lambda + API Gateway로 API 만들어보자

Overview좋은 아침입니다. 오늘은 AWS Lambda와 API Gateway 이용하여 API를 만들어보겠습니다. 서버 구축부터 해야 하지만 이번 글에서 서버는 따로 필요 없습니다. 당황하셨나요? 괜찮습니다. 이 글을 보면 곧 이해가 될 겁니다. 우선 Lambda와 API Gateway부터 알아봅시다. Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. 브랜디 랩스에는 이미 이것을 활용한 예제가 많은데요. 아마 아래의 포스팅들을 보시면 도움이 될 겁니다.SQS + Lambda: 이상근 팀장님CodeStar + Lambda + SAM으로 테스트 환경 구축하기: 천보성 팀장님API 호출부터 결과 확인까지API Gateway는 규모에 상관없이 API 생성, 유지 관리, 모니터링과 보호를 할 수 있게 해주는 서비스입니다. 이 글에서는 API를 호출해 결과를 확인하는 걸 목표로 진행하겠습니다.최종 API 호출 URL* GET /v1/reviews/{review-no}/comments* POST /v1/reviews/{review-no}/comments AWS(Amazon Web Service) 가입 절차는 생략하겠습니다. 1.AWS 로그인 후 API Gateway 시작!AWS에서도 설명되어 있듯이 API gateway엔 이와 같은 장점이 있습니다.1. API 개발 간소화: 새로운 버전을 신속하게 반복하고, 테스트하고, 출시할 수 있습니다.2. 규모에 따른 성능: 백엔드 시스템에 대한 트래픽 관리하여 유동적으로 API 호출하여 성능을 높이는데 도움이 됩니다.3. SDK 생성: 사용자 지정 SDK를 만들어 애플리케이션에서 신속하게 API를 테스트하고 배포할 수 있습니다. 2.API 생성새 API로 엔드 포인트 유형을 지역으로 선택하여 생성하세요. 엔드 포인트 유형1. 지역 : 현재 리전에 배포2. 최적화된 에지 : CloudFront 네트워크에 배포3. 프라이빗 : VPC에서만 엑세스 가능3.최종 호출 url로 순차적으로 리소스 생성리소스 이름과 리소스 경로를 입력하고 리소스를 생성합니다.리소스는 호출할 수 있는 특정 URL입니다. 생성된 리소스로 /reviews 주소가 만들어졌습니다.다음은 /reviews 주소 뒤에 {review-no}를 생성합니다. 리소스 경로에 {} 가 포함되어 있으면 경로 파라미터를 나타냅니다.마지막 리소스를 생성하게 되면 위의 이미지와 같이 /reviews/{review-no}/comments 리소스가 생성되었습니다. 이제 메서드에 연결할 Lambda 함수를 먼저 생성하겠습니다.4.Lambda 함수 생성GET, POST 메서드에 연결할 각각의 Lambda 함수를 생성합니다.‘Hello from Lambda’ 문자열로 리턴되는 Lambda 함수가 생성되었습니다. 생성된 Lambda 함수를 API Gateway 메서드에 연결해보겠습니다.5.메서드 생성GET, POST 메서드를 생성합니다.메서드의 의미* POST : 새로 생성(Create)* GET : 조회(Read)* PUT : 수정(Update)* DELETE : 삭제(delete)* PATCH : 일부만 수정(Update) 새 메서드의 통합 유형을 Lambda 함수로 선택하고 기존에 생성한 함수명으로 입력한 다음 저장을 누릅니다.메서드 실행 화면입니다. 해당 메서드에 통합 요청할 Lambda 함수가 연결됩니다. 연결된 Lambda 함수를 눌러보겠습니다.왼쪽 목록 트리거 추가하는 부분에 API Gateway가 연결되었습니다. 그럼 이제 정상적으로 호출되는지 테스트해보겠습니다.테스트를 클릭하면 오른쪽에 요청에 대한 결과가 나옵니다. 조금 전에 연결했던 Lambda 함수에 ‘Hello from Lambda’ 값으로 출력됩니다. 이제 리소스로 추가한 경로 파라미터를 매핑하여 출력해보겠습니다.메서드 요청에서는 사용자에게 노출되는 API를 정의할 수 있습니다. 리소스로 경로 파라미터를 추가하게 되면 메서드 요청 -> 경로 요청 부분에 자동으로 추가되어 있습니다.통합 요청에서는 백엔드와의 통신 방식을 지정할 수 있습니다. 메서드 요청에서 보낸 URL 경로 부분을 매핑시켜야 합니다. 명명 규칙은 아래와 같습니다. method.request.{"path" | "querystring" | "header"}.{param_name}매핑 템플릿을 추가하여 수신된 요청을 변환하여 통합 백엔드로 보내야 합니다. 정의된 템플릿이 없기 때문에 매핑 템플릿을 추가한 후 메서드 요청 패스스루로 지정합니다. 그러면 클라이언트가 제공한 요청이 변환없이 통합 백엔드로 전달됩니다.클라이언트가 요청한 경로 파라미터 출력하도록 Lambda 함수를 수정합니다.이제 다시 테스트를 해보겠습니다. 경로에 값을 요청하여 응답 본문에 출력되는 걸 확인할 수 있습니다.6.API 배포스테이지 정보를 입력하고 배포를 클릭합니다.스테이지 상세 정보에 API 호출 주소가 생성됩니다. Postman으로 생성된 API주소를 입력하여 정상적으로 return 값을 확인합니다.Conclusion정말 긴 과정이었습니다. 지금까지 API Gateway를 이용하여 API 생성부터 배포까지 알아봤습니다. API Gateway를 사용하면 서버 없이 높은 확장성을 가진 백엔드 애플리케이션을 구축하고 운영할 수 있게 될 겁니다. 백엔드에 관심이 있는 개발자에게 이 글이 도움이 되길 바랍니다.글곽정섭 과장 | R&D 개발1팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #개발자 #개발팀 #인사이트 #경험공유
조회수 1516

졸업 축하합니다!

성호님 졸업식이래요.8월 초 어느날, 심사팀 준호님이 슬랙 전체방을 통해 성호님 졸업식 소식을 알려줬다. 8퍼센트 팀원들은 마치 기다렸다는 듯이 즉각적으로 흥미진진한 이벤트(?)소식을 반겼다.이 슬랙 대화로부터 이 모든 작당이 시작되었다. 더불어 성호님이 개고생(?) 하고 있다는 것도 함께 공개한다. 그런데 박사도 고생길 아닌가? ㅎㅎ여기는 김성호 졸업식 대책반입니다.D-2친절왕 CTO 호성님은 슬랙 비공개 채널을 개설하였고 성호님 졸업식 작당 모의가 본격적으로 시작되었다. 이런 즐거운 장난은 신이 절로 난다. 여러 아이디어가 나왔고 8퍼센트 Way 중 하나인 '나인가 싶으면 나다.'에 입각하여 척척 일을 진행했다.김성호 졸업식 대책방 개설D-1현수막 도착. 동료들은 회의실에 모여 현수막에 축하 메세지를 적었다.성호님, 졸업 축하해요!D-day모든 동료들이 가서 축하해주고 싶었지만 업무 공백으로 고객님들께 불편을 드릴 순 없었다. 구성원들을 대표해서 나, 준협님, 혜승님 이렇게 3명이 졸업식에 갔다.언제나 명랑한 성호님을 사무실 밖에서 그것도 캠퍼스에서 만나니 왠지(?) 무척 반가웠다. 학사모를 쓴 성호님의 모습은 그닥 새롭지 않았다. 왜냐하면 현수막에 해원님이 합성으로 만들어 주신 것과 똑같았으니깐. ㅎㅎ성호님 독사진. 바람이 많이 불었던 날이란 걸 알 수 있다.성호님 어머니께서 '성호가 회사일이 많아 연애를 잘(?) 못하다.'고 하셔서 억울한 마음에 진실(?)을 말씀드릴 뻔 했다. 성호님 웃는 모습이 참 예쁜데 어머니를 꼭 닮았다.성호님, 나(효진), 혜승님, 준협님더 잘 보이는 곳으로 옮긴 후우리가 즐거워 준비한 이벤트가 성호님께 소소한 행복으로 기억되길 바란다. 어머니께서도 즐거워하셨던 것 같아 마음이 따뜻하다.당신의 노력을 알기에.8퍼센트 팀원들이 성호님의 졸업을 다 같이 진심으로 축하하는 것은 일과 학업을 병행하는 과정을 모두 봐왔기 때문이다. 나는 일과 학업을 병행해본 적이 없고 논문을 써본 적이 없어서 상상이 잘 되지 않는다. 다만, 그의 회사 업무가 결코 적지 않았고 퇴근 후와 주말에 쉬거나 놀지 못하고 논문을 써왔음을 슬랙의 #study 채널을 통해 알고 있다.* 참고 : #study 채널은 각자 공부한 것과 글쓰기에 대한 진행을 공유하는 채널로 열심히 사는 동료들의 모습에 서로 자극을 많이 주고 받는다.매주 월요일 각자의 공부 진행을 공유한다. 자랑, 칭찬, 반성, 자극을 주고 받는 곳이다.성호님, 졸업해줘서 고마워요.성호님을 처음 만난 것은 작년 11월, 내가 먼저 페이스북 메세지로 말을 걸어 만나자고 했다. 8퍼센트의 단골 투자고객이었던 성호님은 종종 상품과 서비스에 대한 의견을 주시곤 했다. 글을 통해 지적 호기심과 합리성, 그리고 따뜻함을 느껴 만나보고 싶었고 만나보니 더 좋았다. 금융공학 대학원생이었던 성호님은 외환, 주식, 파생상품, 비트코인 등 다양한 투자를 경험해 보았고 8퍼센트 상품에 대한 이해와 확신을 갖고 있었다. 또한 금융상품을 설계하는데 필요한 금융지식과 구현 역량을 갖추고 있었다. 나는 그 자리에서 "우리 회사에서 인턴해보지 않을래요?"라고 물었다. 성호님은 1초만에 "네! 재미있을 것 같아요."라고 대답했다. 그리고 바로 다음날 출근했다.처음엔 학기중이라 파트타임 인턴으로 일했다. 일을 시작한지 3주쯤 지났을 때 성호님이 면담을 요청했다. 병행해보니 둘 다 한다는 것이 현실적으로 도저히 불가능하고 8퍼센트 일이 재미있어서 휴학을 하고 정식으로 일해보고 싶다고 했다. 성호님은 석사 마지막 학기가 불과 6주 정도 남아있었고 원래 박사과정으로 진학할 계획이었다. 8퍼센트에서 일하는 것은 인생의 변곡점이 되는 결정이고 그 학기 등록금도 환불받지 못한다. 다행히 졸업에 필요한 수업은 다 들어서 추후 논문을 쓰면 석사 학위를 받을 수 있다고 했다. 부담이 조금 되긴  했지만 성호님이 많은 고민끝에 내린 결정을 믿고 성호님 합류가 우리 회사에 큰 힘이 될 것이란 확신이 있었기에 정식으로 함께 일하기로 했다.아무리 성호님 개인의 선택이라지만 그래도 늘 나 혼자만의 부채 의식이 있었다. 석사가 코앞이었는데 8퍼센트 합류로 멀어졌고 내 주변 많은 사람들이 끝내 일과 논문을 병행하지 못해서 졸업이 아닌 수료로 마무리 짓는 것을 봐왔기 때문이다. 그런데 이렇게 무사히 졸업을 해주니 나의 어깨도 조금 가벼워졌다. Thank you!졸업식을 제보해준 준호님, 현수막 아이디어를 내준 연대 동문 혜련님, 현수막 카피라이터 호성님, 현수막을 제작해준 해원님, 처음부터 마지막까지 세세하게 챙기고 참석해준 준협님, 휴가중에도 성호님을 축하해주러 분당에서 연대까지 오신 혜승님, 아이디어를 내고 축하메세지를 남기며 함께 축하하고 즐거워해준 모든 동료들, 그리고 바쁜 회사 생활 와중에도 논문을 완료하여 우리에게 즐거운 이벤트를 마련해준 성호님에게 고맙다.#8퍼센트 #에잇퍼센트 #팀원 #팀플레이 #즐거운분위기 #사내복지 #석사졸업 #이벤트 #조직문화 #기업문화
조회수 970

[Buzzvil People] Ekko Kang, Sales Manager

 Buzzvil People에서는 다양한 배경과 성격 그리고 생각을 지닌 버즈빌리언들을 한 분 한 분 소개하는 시간을 갖습니다. 어떻게 버즈빌에 최고의 동료들이 모여 최고의 팀을 만들어가고 있는 지 궁금하시다면, 색색깔 다양한 버즈빌리언들 한분 한분의 이야기가 궁금하시다면, Buzzvil People을 주목해주세요.1. 간단한 자기 소개 부탁드립니다. 안녕하세요. 버즈빌 Sales 팀에서 Operation을 담당하고 있는 강성현입니다. 버즈빌에서 1년 반 정도 업무를 하면서, 이제는 Ekko라는 이름이 더 익숙해졌네요. 조금은 특이한 영어 이름으로 인해 몇몇 직원들은 가끔씩 에어컨, 에꼬, 에쿠스와 같이 실수로 제 이름을 부른 에피소드도 많습니다. 하지만 놀랍게도 이 이름이 게임 LoL 캐릭터 중 하나라는 것을 모르시는 분들이 많더라구요. 맞습니다. 저는 Ekko라는 캐릭터를 잘하고 좋아해서 영어 이름을 이렇게 짓게 됐습니다. 다소 평범하지 않아 오히려 애착이 가네요. 이처럼, 저는 어떻게 하면 남들의 기억에 각인될 수 있는 사람이 될 지 고민을 많이 했던 사람입니다. 항상 사람과의 관계에서 이 부분이 저에게 좋은 자양분이 됐기 때문입니다. 그 예로 엉뚱한 소리이지만, 저희 회사 2층에서 제가 John에게 정치를 하고 있는 직원 중 하나로 꼽히고 있는데요. ^^; (최근에는 경쟁자도 조금씩 늘고 있습니다.) 사실 버즈빌과 정치라는 단어는 조합이 어울리지 않습니다.  오히려 버즈빌의 사내 분위기라면 금기어일 수 있겠죠. 다만 우스갯소리로 항상 하는 농담들이 회사의 분위기를 더 좋게 만들고, 저라는 사람이 회사에서 어떤 사람인지도 새롭게 알게 해줍니다. 이걸 잘 받아주시는 John 덕택에 회사 생활을 즐겁게 하고 있습니다. (사실 이 말도 정치적으로 들릴 수 있겠네요 ^.ㅜ; )  2. 어떻게 버즈빌에 오시게 되셨나요? 버즈빌리언으로서의 첫 출발은 인턴부터 시작했습니다. 캐시슬라이드를 4년 동안 사용하면서 노출형 광고로만 8만원을 환급 받은 독특한 이력으로, 잠금 화면 인벤토리에 대한 무한한 관심을 어필했고 결국 입사하게 됐습니다. 사실 잠금화면 앱은 캐시슬라이드 밖에 사용하지 않았었지만, 버즈빌의 버즈스크린은 다양한 제휴 파트너사를 확보해 나간다는 사업 방향이 매력적이었습니다. 그래서 잠금화면 서비스의 진성 유저로서 잠금화면의 미래 모습을 버즈빌과 함께 그려나가고 싶었습니다. 그리고 모바일 서비스에 관심이 많았습니다. 카카오에서 인턴을 하면서 O2O서비스를 기획하는 프로젝트를 했는데, 이를 통해 사람과 사람을 연결해주는 모바일 서비스의 가치에 매력을 느끼게 됐습니다. 특히 유저 시나리오 설계, 피처리스트 작성, 프로토타입과 마크업, BM 수립 등 그 가치를 창출하기 위한 업무 프로세스를 하나씩 배워가며, 빠르게 변화하고 있는 모바일 업계에서 정말 다양한 일들을 해 볼 수 있겠구나라는 강한 동기를 부여해줬습니다. 그 동기를 버즈빌도 잘 채워주고 있구요. 3. 버즈빌에서 어떤 업무를 담당하고 계신가요? 제 업무는 버즈스크린 잠금 화면에 송출하는 광고를 직접 세팅하고 모니터링하며, 클라이언트의 KPI를 달성하도록 함께 고민하는 것입니다. 좀 더 세부적으로 말씀드리면, 타겟팅 고도화, 광고 연동, 제휴 오퍼월 네트워크 운영, 국내 매출 관리를 하며, 버즈스크린 국내 광고 운영의 안정화와 최적화를 최우선의 목표로 생각하며 업무를 하고 있습니다. 또한 광고 이슈가 발생하면, 버즈스크린 광고의 첨병으로서 다양한 클라이언트의 이해 관계를 해결하기 위한 커뮤니케이션도 맡고 있습니다. 그리고 신규 광고를 수주하기 위해, 지속적으로 여러 모바일 매체의 상품과 송출되는 광고를 모니터링하고 있습니다. 국내 광고 물량은 제가 다 꿰고 있어야 한다는 생각으로 임하고 있는데요. 그래서 이 업무는 실제 제 일상 생활에 내재화가 되어 있어 몇몇 에피소드가 있습니다. 그 예로, 회식 자리에서 제가 정말 수주되길 원했던 가전제품 광고가 TV에 나왔을 때, ‘지금 이 광고가 우리만 가져오지 못한 것 같다’며 앞자리에 있는 John과 Jarrod에게 가감없이 말했던 기억이 있습니다. (이렇게 말하니 제가 평범하지 않은 것은 확실해 보이네요^^;) 제 말을 포장하자면, 버즈스크린의 발길이 닿지 않은 광고를 찾아 헤매며, 세일즈 매니저의 영업 활동에 도움이 될 수 있도록 돕고 있습니다. *Ekko는 새로운 경험을 쌓고자 Ad Operation 담당에서 새로운 광고주를 발굴하는 Sales Manager로 직무를 전환했습니다. 4. 스타트업에서 혹은 광고업계에서 일하는 느낌이 어떠세요? 특히 광고 운영 업무를 진행하다 보면 다양한 이해관계자들과의 커뮤니케이션이 발생합니다. 이 과정에서 제가 주도적으로 문제점을 파악하여 개선하는 업무도 자주 맡게 되는데요. 다시 말해, 스타트업 중에서도 버즈빌은 직원들에게 책임과 권한을 적극적으로 부여해주기 때문에, 업무를 처리하는데 있어서 주도적으로 일을 할 수 있게끔 해줍니다. 스타트업이 아니라면 자신의 main role 그 이상으로 새로운 업무들을 창출하기가 어려울 수 있는데, 스타트업은 직원 개개인이 뻗어나갈 수 있는 업무들이 무궁무진합니다. 그 과정에서 보다 책임감있는 실무자로 성장할 수 있는거죠. 이러한 점들이 제가 느끼는 스타트업의 매력 포인트입니다. 5. 이것만큼은 버즈빌이 참 좋다! 어떤 게 있으실까요? 명확하게 말씀드릴 수 있는 것은 사람입니다. 너무나도 좋은 사람들과 함께 공동의 목표를 향해 달려가는 것이 매력적입니다. 보통 직장 생활에서는 사람 때문에 받는 스트레스가 업무에 지장을 줄 수 있는데, 버즈빌은 그런 것이 전혀 없다고 자부하고 있습니다. 직장 내에서 이상한 사람이 없다고 생각한다면 본인이 이상한 사람이라는 말이 있죠. 그 말을 진지하게 고민해 본 적도 있습니다. 두 번째는 새로운 업무에 도전할 수 있도록 적극적으로 지원을 해줍니다. 보통 입사했을 때 자신의 main role이 있습니다. 다만, 새로운 인사이트나 자신의 성장을 더 촉진시킬 수 있는 업무가 있다고 하면, 이를 리더와 팀원들이 함께 고민해주며 그림을 그려 나갑니다. 저도 오랜 시간동안 버즈스크린 운영을 하며 습득했던 노하우를 저만의 스타일로 세일즈에 적용하고 싶었고, 현재는 인바운드 영업과 대행사 관리를 통해 이를 한 걸음씩 실현하고 있습니다. 6. 개인적인 목표나 꿈이 있으신가요? 있다면, 버즈빌에서의 경험이 어떻게 도움이 된다고 생각하시나요? 저는 꿈을 길게 바라보고 생각하지 않기 때문에, 현재 1~2년 후의 목표를 생각하고 있는데요. 다양한 업무를 통해 버즈빌의 매출과 성장에 직접적인 기여를 하고 싶다는 것이 목표입니다. 사실 내부에서 진행되는 업무들이 결국 버즈빌의 목표와 다 연결되어 있지만, 제가 말씀드리는 것은 이를 수치화시키고 명확한 피드백을 받는 role을 통해 저의 한계를 평가하고 싶다는 생각이 듭니다. 그래서 광고 영업이나 상품 기획, 광고 기술 등 여러 방식으로 업무 분야에 도전해보며, 제가 가장 잘 할 수 있는 일을 찾을 것입니다. 이 목표를 가지고 일하다보면, 버즈빌의 가까운 밝은 미래를 맞이할 수 있겠죠. 물론 한 층 성장된 제 모습에서 얻는 뿌듯함은 말할 것도 없겠네요.
조회수 12204

트렐로를 소개합니다.

스포카 개발팀은 스크럼을 통해 프로젝트를 진행하고 있습니다. 기본적인 최종 릴리즈 주기는 30일로 운영되고 있기 때문에 매월 말/초에 새 버전을 업데이트하고 있습니다.좋은 도구가 있으면 스크럼을 효과적으로 진행할 수 있습니다. 저희 개발팀은 효과적인 스크럼을 위해 여러가지 서비스를 이용해왔었고, 최근에 트렐로로 정착하게 되었습니다. 이번 글에선 트렐로에 대해 소개하고 저희가 트렐로를 이용해서 어떻게 스크럼을 효과적으로 운영하고 있는지에 대해 소개해보겠습니다.트렐로?트렐로는 조엘 온 소프트웨어로 유명한 조엘 스폴스키가 운영 중인 FogCreek에서 최근 출시한 협업 툴입니다. 화이트보드에 포스트잇으로 이슈를 관리하는 모습을 빼어닮은 이 툴은 개발 현황을 한 눈에 파악하고 하나의 카드를 포스트잇보다 더욱 스마트한 방법으로 관리할 수 있다는 것이 장점입니다. 아래 영상을 감상해보세요.적합했던 이유스포카 개발팀이 개발흐름에 맞는 협업 툴을 선택하는 데엔 많은 고민이 있었고 그렇기 때문에 여러번 변경을 해야만 했습니다. 저희가 협업툴에서 원하는 것들은 아래와 같았습니다.상태별 추적이 가능해야 한다.당장 정해지지 않아도 문제를 일단 써놓을 수 있어야 하고, 한번 끝난 작업이다 하더라도 테스트 여부를 체크할 수 있어야 합니다. 단순히 TODO 리스트만을 써야 한다면, 해결책이 정해지지 않은 단순한 문제를 기록하는 것이 난감하게 됩니다. 사용자가 느끼는 모든 문제는 어떠한 방식으로든 해결이 되어야 하기 때문에, 문제부터 완료까지 체계적으로 처리해나갈 수 있어야 합니다.여러 디바이스에서 활용할 수 있어야 한다.팀원은 모두 스마트폰을 이용하고 있으며, 영업 업무를 수행하고 계신 분들은 평소에 아이패드로 업무를 보고 계셨습니다. PC에서뿐만 아니라 각종 상황에서 나타나는 문제나 상황 진행에 대해 기록하고 공유할 수 있어야 했습니다. 몇몇 서비스들은 기능이 마이너하게 제공되는 모바일 버전만을 제공하거나 아예 PC에서의 접근만 허용하고 있기 때문에 이에 맞는 서비스를 찾는 일 또한 어려운 일이었습니다.구글 앱스 계정을 이용할 수 있어야 한다.중요하지 않다고 볼 수도 있지만, 스포카 팀은 각종 그룹 활동을 구글 앱스 계정을 중심으로 이용하고 있습니다. 서비스 관리자 기능도 구글 앱스 계정을 이용하게 개발했고, 특정 그룹 웨어를 위해 새로운 계정을 외워야 한다면 아주 귀찮은 일일 것입니다.트렐로는 위의 문제를 모두 해결하면서도 직교적으로 활용할 수 있는 유용한 기능들을 필요한 만큼 가지고 있었습니다. 스포카 팀은 3~4가지 협업툴을 옮겨쓰다 트렐로로 정착하였고, 현재 6개월 정도 변동없이 안정적으로 이용하고 있습니다.활용 방법다음은 스포카 팀이 트렐로를 어떻게 세팅하여 활용하는 지를 설명해보겠습니다. 다른 팀에서 이용할 때 좋은 참고가 되었으면 좋겠습니다.리스트는 문제, 리서치, 개발, 테스트, 완료 5단계로 나눈다.리스트를 왼쪽부터 순서대로 문제, 리서치, 개발, 테스트, 완료로 배치하였습니다. 각 단계는 다음과 같이 활용하고 있습니다.문제: 말그대로 문제라고 보여지는 것들을 모두 기록해둡니다. 해결책은 없어도 좋습니다.리서치: 해당 문제를 어떠한 방식으로 해결할 지를 고민하는 단계입니다. 이 단계에서 우리는 무엇을 고쳐야 할 지, 무엇을 새로 만들어야 할 지에 대해 점검합니다.개발: 리서치가 끝난 것들은 개발로 넘어옵니다. 주어진 요구사항을 체크리스트화시키고 하나씩 구현해나갑니다.테스트: 개발이 끝난 것들이 옵니다. 모든 개발 완료 항목은 테스트 단계를 거친 후에야 완료로 넘어갑니다.완료: 테스트도 끝나면 완료로 넘어갑니다. 완료 이후에 더 볼 것이 없다면 아카이브하고, 좀 더 지켜볼만한 이슈라면 완료상태에서 계속 상황을 지켜봅니다.무조건 문제에서만 카드가 시작될 필요는 없으며, 테스트 사항이 갑자기 생기거나 개발할 것이 명확하다면 해당 리스트에 카드를 바로 만들기도 합니다.어떤 것이든 문제가 발견되면 문제 리스트에 기록한다.스포카 팀 전원은 트렐로에 기록을 할 권한이 있습니다. Responsive Design이 적용된 트렐로 서비스는 어떤 디바이스에서도 기존 서비스와 동일한 수준의 기능을 보장해주기 때문에, 언제 어디서든 누구나 스포카 서비스에 관련된 문제가 발견되거나 보고되면 즉시 문제 항목에 카드를 만들어두거나, 진행중인 카드의 위치를 바꾸고, 새로운 내용을 추가해둡니다.문제에 대해 작성을 하려는데 이미 같은 문제가 보고 되어있으면 Vote를 해둡니다. Vote 수가 높은 카드는 다음 주 작업 일정 배분에서 우선순위를 가지게 됩니다.금주의 할 일은 라벨로 지정한다.스포카팀의 업무 분배는 매 스크럼의 목표에 맞춰서 매주 월요일에 업무 할당을 하고, 금요일까지 해당 업무를 진행하는 것으로 하고 있습니다. 주로 문제/리서치 정도 위치에 있는 일들을 할당하여 이를 금요일까지 완료로 끌고가는 형식이 되는데요.금주의 할 일은 이렇게 초록색 라벨로 지정하고 있습니다. 전체 뷰에서도 직관적으로 이번 주에 진행되는 일들의 현황에 대해 파악이 가능하며, 필터 기능을 이용하여 개개의 현황을 보거나 내 일들을 편하게 확인할 수 있습니다.이렇게 선택하면 Jc Kim이 이번 주에 할 일만 보이게 됩니다. 같은 방식으로 다른 동료들의 업무도 바로 파악이 가능합니다.어떤가요?이렇게 트렐로는 리스트, 라벨, 필터 등의 센스 있는 기능들과, Responsive Design을 차용한 서비스 인터페이스를 이용해서 프로젝트 개발 흐름에 적합한 애플리케이션을 제공하고 있습니다. 새로 스타트업을 시작하시거나, 기존의 솔루션이 마음에 안든다면 적극 권장드립니다.#스포카 #협업 #협업툴 #스크럼 #트렐로 #Trello #스택 #스킬스택 #스택소개 #업무프로세스 #업무환경

기업문화 엿볼 때, 더팀스

로그인

/