스토리 홈

인터뷰

피드

뉴스

조회수 1840

소프트웨어 개발자에게 성공이란...

소프트웨어 개발자들이 생각하는 ‘성공’이라는 단어와 키워드에는 어떤 것들의 의미를 포함하고 있을까? 한편으로는 단편적이고 획일적인 ‘성공’이라는 단어에 너무 많은 개발자들이 매몰되어 있는 것 아닌가 하는 생각을 해본다. 필자 스스로 실무경력 20년을 넘겨서 소프트웨어 개발을 하고 있는 경험을 바탕으로 주변의 성공한 개발자들에 대해서 혼자 생각해 보았다.일반적으로 의미의 ‘성공’이라는 것이 무엇을 의미하는 것인가에 대한 정의는 이번 칼럼의 말미에서 이야기하도록 하자. 정말 많은지 모를 대한민국에서 성공한 개발회사나 개발된 서비스들을 살펴보는 것부터 시작을 하는 것이 정답인지는 필자도 잘 모르겠다. 성공적인 서비스나 소프트웨어, 프로그램은 세상에 선보인다는 것. 그러한 것을 만들어낸 순수한 아이디어나 원천기술로 무장한 기술로 축적되었고, 그 아이디어를  뛰어넘어, 새로운 기술이라고 할 수 있는 것을 보유한 제품이나 상품들이 얼마나 되는지에 대해서부터 냉정하게 필자는 잘 모르겠다라고 먼저 인지하고 넘어가자. 아니, 다시 말하자면, 냉정하게 국내에서 그런 것을 본적이 별로 없는  듯하다.더욱더 삐딱하게 이야기하자면, 국내에서 성공한 개발 서비스들은 대부분 아류작이거나 남의 아이디어를 도용한 제품과 서비스들이 대부분이 아닌가라고 생각한다. 심지어는 특정 솔루션 시장은 오픈소스를 그대로 제품에 반영해 두고서는 자신의 제품인 것처럼 위장하는 사례까지 보이고 있으니, 과연 대한민국 소프트웨어 시장은 과연 얼마나 ‘성공’이라는 키워드를 그대로 사용해도 되는지에 대해서 매우 의문시된다.(물론, 필자의 삐딱한 시선에서만 그렇게 보일지도 모른다.)대한민국의 소프트웨어 시장에서 1위를 지키고 있다고 하는 서비스와 제품들이 되려면 어떻게 해야 하는가?. 삐딱하게 이야기하자면, 오로지, 대한민국에서 성공한 개발회사나 개발자가 되려면, 창의적인 아이디어나, 독특한 아이디어로 무장하는 승부수를 던지기 보다는, 해외의 서비스 중에 알차고, 괜찮은 것들에 대해서 관심을 가지는 것이 중요하다고 생각한다. ( 그래서, 영어공부를 잘해야 하는지도 모르겠다. )필자가, 대기업과 신규사업기획을 할 때에 작업하는 내용을 보고서는 경악을 금치 못했던 경험을 한적이 있다. 정말 상당한 컨설팅 금액( 수십억을 넘긴 비용 )을 지불해서, 대기업이 유명한 컨설팅업체를 통해서 신규사업에 대한 기획과 아이디어에 대한 컨설팅을 받는 것에 전문가의 한 사람의 참여했었다. 그런데, 그 중요한 작업의 모티브는 해외에서 이미 성공적으로 안착한 서비스에 대한 분석과, 한국에서의 서비스 시에 벌어질 일에 대해서 예측을 하는 일을 하고 있었다는 점이다. 새로운 아이디어가 아니라는 점이다.물론, 성공한 서비스를 도입해서, 로컬 화한다는 것 또한 매우 어려운 일이라고 생각하지만, 대부분의 새로운 기획이나 신규 서비스에 대한 작업들의 대부분을 이런 식으로 진행한다는 이야기를 들었을 때에 받은 충격은 정말 놀라운 경험이었다, 물론, 지나고 나서 생각해보니, 그렇게 놀랄만한 경험도 아니었는지 모르겠다. 대부분의 대기업들이 이런 식으로 한다는 이야기를 듣고 더 놀라기는 했지만. 물론, 이렇게 로컬화 한다는 것 자체도 대단한 도전이고 어려운 점이라는 것은 인정한다고 하지만, 이런 로컬화와 아류작에 대해서 비판적인 시야를 가진 필자의 생각은 그렇다.성공한 서비스들은 대부분 아류작들이다?냉정하게 국내에서 성공한 대부분의 서비스들은 아류작들이고, 복제본들이고, 독창적인 아이디어보다는 해외 서비스를 대부분 국내에 안착한 서비스라고 생각한다. 심지어 독창적인 mp3 플레이어마저도, 아이팟의 생태계가 한층 더 발전적인 시장을 창출했으니, 국내에서 만들어진 디지털적인 요소들 중에 독창적인 것이 얼마나 있는가?필자는 생각한다. 예술에 있어서 복제와 창작의 차이는 매우 크다는 것을. 물론, 소프트웨어 개발이 이런 예술에 비견될 정도의 가치를 부여해서 그런 것 만은 아니다. 소프트웨어 개발은 아이디어와 구현하고자 하는 추진력과 열정이 결합되어져서 만들어지는 최고의 가치 구현을 위한 세계이기 때문에 그렇게 생각할 뿐이다.필자가 좋아하는 만화 중에 ‘맛의 달인’이라는 만화에 나온 표현을 그대로 옮기자면 다음과 같은 장면이 나온다. 프랑스의 유명한 요리를 그대로 일본에서 구현하지만, 그 요리에 대한 평가는 ‘프랑스의 요리를 그대로 구현한 요리이다’. ‘매우 아름답지만 최저의 요리’라는 평가를 받는다. 그러한 최저의 요리라는 평가를 받은 이유는 ‘로컬화 한다는 것은 실정에 맞게 고치고, 연구 개발한 맛이라면 완벽하겠지만. 너무도 프랑스 요리와 똑같이 만든 것은 처절한 아류라는 점이다. 지금 먹은 요리에는 프랑스 요리사의 모습이 그대로 남아있다는 점. 원형이 프랑스의 것을 그대로 답습했다는 것.오리지널을 복사했다는 냉정한 평가는 정말 명확하다. 요즘 가장 국내에서 최근에 성공한 서비스를 이야기한다면, 카카오톡과 애니팡을 예로 들 수 있겠다. 다른 사람들은 어떻게 평가할지 모르지만, 정말 대단한 성공을 가진 것은 사실이다. 하지만, 둘 다 원형을 그대로 복사했을 뿐, 새로운 것은 아무것도 없다는 점이다. 아니, 오히려. 기존의 원형을 대한민국의 안 좋은 통신사의 서비스와 결합한 케이스라고 평가를 해야 정확하지 않을까 한다. 원형을 오히려 퇴보시킨 서비스라고 평가하고 싶다.카카오톡은 WatsApp을 그대로 복제했다. 대표적으로 등록되어진 전화번호로 연계하는 원형의 아이디어를 그대로 받아들였다. 하지만, 카카오톡의 새로운 신규 비즈니스 모델인 게임센터는 자체적인 생태계를 만들어서 통제하려 하는 기존의 통신사의 방식과 그다지 차이가 없다고 보인다. 뭐, 돈을 벌어야 하는 기업의 입장을 반대하는 것이 아니다. 단지, 필자의 삐딱한 시선으로는 진보를 위한 선택이 아니라, 퇴보를 위한 선택이었다는 점이 불편할 뿐이다.애니팡도 마찬가지이다. 기존의 게임방식을 그대로 복제했다. 그리고, ‘하트’라는 이름으로 무분별한 ‘스팸’을 활성화해서, 기존 통신사들이 SMS에서 얻어들이는 대량 SMS 발송을 통한 이익을, 그대로 실현한 점이다.물론, 카카오톡이나 애니팡의 ‘이익 실현 구조’는 매우 성공적으로 국내에 론칭한 것은 사실이고, 이러한 구조로 ‘돈’을 벌어야 한다는 점이 매우 안타까울 뿐이다. 개인적으로는 ‘국내’에서는 어느 정도 ‘돈을 버는 성공은’할 수 있지만, 해외에서까지 성공적으로 론칭할 것인지는 조금 의심스럽다. ( 어차피, ‘돈’을 벌면 성공이라는 관점으로는 매우 대성공이다. )넥슨의 카트라이더와 마리오 카드와 같이 일일이 나열하기에는 너무도 많은 사례들이 있어서 굳이 더 나열하지 않겠다.다만. 정말 중요한 것은 복사보다는 진짜가 더 좋다는 점이다. 가령, 오리지널이 존재하는 영역이나 예술과 같은 고부가가치의 영역에서는 ‘화가나 작가가 다른 사람의 작품을 흉내내면  웃음거리밖에 되지 않는다’는 점을 이야기하고 싶다. 필자 개인적으로는 ‘그런 웃음거리를 통한 수익실현’을 그렇게 높게 평가하고 싶지 않기 때문이다.대표적으로 통신사는 ‘스팸’과 ‘보이스 피싱’을 해결하지 못하는가? 에 대해서 필자는 그렇게 생각한다. ‘대량 SMS수입’을 포기하지 못하고, ‘전화번호를 통한 대량 통화의 수익’을 포기하지 못하는 구조적인 문제 때문에 그렇다고 생각한다.과거에 문제가 된 iOS6로 업데이트가 되면서 SKT 아이폰4S에서 발생한 전화번호 호출의 문제, ‘112 신고가 안 되는 아이폰’이라는 기사와 사건에 대한 문제의 근본적인 원인은 SKT가 국제표준 방식을 따르지 않아서 발생한 문제라는 것을 모르는 사람들이 정말 많다. 이 문제를 더 파고들어가면, 부당한 SMS수입을 얻고 있는 국내 통신사들의 부도덕한 점도 드러난다. 2003년 이후 3G 서비스(WCDMA)가 도입되었지만, 문자 메시지 국제표준이 기존의 80 byte에서 140 byte로 늘어났지만, 정작 통신사들은 국제표준규격을 지키지 않으면서 연간 수백억의 이익을 부당하게 얻어냈다. 다만. 아이폰4s 출시 당시 KT는 140바이트를 맞추었지만, SKT는 아직도 80 byte였다는 점을 예로 들고 싶다.국제표준을 따르거나, 해외의 서비스가 ‘돈’이 되는 것에는 빠르지만, ‘돈’이 안 되는 기준에는 미온적이고, 대처가 느린 것에 대해서는 참으로 훌룡(?)한 성공적인 방법이라고 평가를 굳이 필자와 같은 주변 사람이 할 필요가 있을까 한다. 그런 훌륭한 평가는 비싼 컨설팅 비용을 지불한 뛰어난 전문가들이 할 것이기 때문에...내 주변에 성공한 개발자와 성공한 벤처 사업가...성공한 개발자. 고급 승용차를 몰고, 출근하는 개발자의 모습을 본다면, 성공한 개발자의 향기를 느낄 수 있을까? 물론, 일반적으로 그럴 수 있다고 생각한다.자본주의 사회에서 ‘돈’은 그 사람을 평가하는 가장 기본적인 ‘수단’이기 때문이다. 성공하지 못한 필자는 아니지만, 필자 주변에는 고급 승용차인 BMW나 벤츠를 직접 몰고 다니는 성공한 개발자들이 여럿 있다. 그리고, 상당히 많다. 사업을 하는 사람으로부터, 프리랜서인 사람까지 매우 다양하다.분명, 그들은, 자신만의 서비스와 제품을 실현하였고, 시장에서도 안정적인 자신만의 브랜드를 확립하였고, 후배들로 존경을 받고 있으며, 직원들에게 비전과 꿈을 주고 있으며, 새로운 기술과 시장에 대해서 언제나 도전하고 있는 사람들이 있다.그들은 충분히 ‘성공’한 사람들이다.‘복제’와 ‘아류작’이 아니더라도. 독특한 자신들만의 서비스와 제품을 구현하여 성공한 개발자들이 분명 존재한다.그들의 성공요인을 주변의 사람으로서 살펴본다면, 몇 가지의 요인이 있다고 정의할 수 있다. 그것들을 필자의 주관적인 생각으로 정리해보면, 크게 4가지 정도로 정리할 수 있다고 본다.하나. 그들은 뛰어난 개발자는 아니었다.그들은 아주 탁월한 능력을 소유한 개발자들은 아니었다는 점이다. 그리고, 아주 뛰어난 학벌을 가진 개발자들도 아니었다. 개발자 동호회에서 만난 친구도 있고, 직장생활이나 사회생활에서 만난 사람도 있었지만. 그들은 아주 탁월한 재능을 지녔거나, 엄청난 코딩능력, 뛰어난 직관을 지닌 사람만은 아니었다.순수한 개발 능력만 놓고 본다면, 오히려, 뒤처지는 개발자들이었는지도 모른다. 하지만, 뛰어난 개발자들이나 아이디어를 가진 사람들과 친하게 지냈으며, 그들의 도움을 자연스럽게 얻어내는 소통의 달인은 아니었지만, 개발자 커뮤니티에 매우 즐겁게 활동을 하던 사람들이었다.둘. 그들은 우직하지만, 묵묵하게 자신의 상품과 아이디어를 다듬었다.그들은 하나의 아이디어가 실현되는 것을 쉽게 포기하지 않았다. 사업을 하기 전에는 그 아이디어를 실현하기 위해서 애썼고, 속한 회사가 아이디어에 대해서 낮은 평가를 하는 것에 대해서도 크게 실망하지 않았다. 오히려, 반대를 해도 해당 서비스와 제품, 기술에 대한 애정이 정말 높았으며, 그것을 실현하려고 매우 애썼다.처음에는 언제나 소프트웨어는 단순한 것부터 시작한다.그 단순한 것을 꾸준하게 다듬고, 소프트웨어에서 제품으로 다듬어서 시장에서 가치를 인정받을 수 있도록 수년 이상을 투자하고 노력해야만 얻어진다. 그것은 스티브 잡스도 똑같았다. iOS는 하루 이틀 만에 나온 소프트웨어가 아니기 때문이다.심지어, 몇 년 동안 밥을 굶더라도, 자신이 생각하는 가치를 실현하기 위해서 포기하지 않고 도전했던 우직한 도전이 오히려 성공을 만들어 내었다. 분명, 훌륭한 소프트웨어는 뛰어난 기술로 만들어지는 것만은 아니다는 것을 요 근래에서야 필자도 느낀다.필요한 가치가 적정한 가격에 구현되어진 것이 정말 필요하다는 점이다. 뛰어난 기술이 뛰어난 제품을 만드는 것이 아니라, 뛰어난 제품이 뛰어난 기술을 만든다는 것이다. 그것이 사용자들로 하여금, 또 다른 가치를 얻을 수 있는 기능을 제공한다는 것에 대해서 굳이 설명하지 않더라도, 그들은 그 아이디어와 생각을 실현하기 위해서 자신만의 길을 걸었다.정말 우직할 정도로... 필자 주변의 그들은, 몇 년을 일 년에 몇백만 원을 벌더라도, 그 꿈을 포기하지 않았다.셋. 시장과 세상의 시선을 그렇게 두려워하지 않았다. 자신의 ‘가치’와 ‘비전’을 실현했다.자신의 아이디어와 자신의 서비스, 제품을 지키기 위해서 약간의 주변 사람들에게 욕을  얻어먹는 것을  두려워하지 않는다. 필자가 아는 어떤 기업은 시장에서는 냉혈안이라는 말도 듣고, 불법 복제된 제품에 대해서는 가차 없는 소송도 불사하는 어떤 기업을 알고 있다. 하지만, 그 회사와 그 사장에 대해서 필자는 비난하지 않는다. 왜냐하면, 그는 기업 내부의 직원들에게는 절대 급여를 밀리지 않고, 야근을 시키지 않는 최고의 사장이었기 때문이다.시장과 타인에게는 가차 없지만, 자신이 생각한 비전을 실현한 회사를 만들기 위해서 언제나 최선을 다하는 사람이었을 뿐이다. 그리고, 자기 것을 지키기 위해서 애를 썼고, 직원들과의 거리도 언제나 적절하게 유지했다. 냉정하게 기업과 사업이라는 것은 자선사업이 아니라는 것을 잘 알고 있었다. 충분하게 돈을 벌고, 외제 승용차를 사장은 타고 다니지만 ( 외제 승용차를 타는 것도, 대한민국은 간단하다. 법인세를 충분하게 낼 정도로 수익이 생기면, 그 수익으로 차를 리스해서 타면 간단하다는 대한민국의 세법 구조 때문이다. ), 모든 직원들에게 그 이익을 100% 나누어주지는 않는다. 직원은 직원일 뿐이니까.그들은 회사의 재정이 힘들어지면 소속된 직원을 힘들기 전에 내보낼 줄도 알고, 필요하다면... 해고도 그리 어렵지 않게 결정하는 사람도 있다, 영업기밀을  들고나간 직원과 소송도 불사했다. 차라리, 친구와 따로 술을  마실지언정, 직원들과의 ‘관계’는 냉정하고 쿨한 관계를 유지했다. (물론, 그렇지만. 인간관계가 깨어지는 것을 매우 괴로워하는 사람들이다. 다만, 아래 직원들에게 속시원히 이야기를 못할 뿐이다. )넷. 필요한 기술자나 기술은 기필코 얻으려 노력했다.그들은 자신이 부족한 점을 잘 이해하고 있었다. 부족한 것을 오히려, 더 널리, 많이 이야기를 하였다. 그리고, 그것을 커버하기 위해서 매우 많은 노력을 한다. 다 잘하고자 하는 팔방미인이 되는 것이 아니라, 자신이 부족한 점을, 자신이 가장 잘하는 것으로 커버하려 애쓴 것이다. 전문적인 기술을 소유한 사람에게 도움 요청하는 것을 부끄러워하지 않고, 도와준 사람에게 충분한 대우나 접대를 잊지 않았다. 그래서, 그들이 도와달라고 하면, 주변의 전문가들이 아낌없이 그를 도와준다.그 이외에서 그들은 그렇게 ‘성실’하게 일하는 친구들은 아니었다. 실제, 사장이었던 그들이 직원의 입장으로 회사를 다닐 때에는 근태 문제로 지적을 받은 친구들도 꽤 많다는 점이다. 아마도, 사업이나 자신이 좋아하는 일을 하는 것과, 어떤 일이 주어진 상태에서 일을 하는 것은 분명 다른 지도 모르겠다. 직원일 때에 불성실하지만, 자신의 일을 할 때에 성실한 것은 전혀 상관관계가 없어 보인다. 한편으로는 ‘사장’이나 ‘자신의 일’을 하는 사람의 경우에는 특별하게 ‘근무시간’이라는 것 자체는 큰 의미가 없다는 점이 더 정답일 것이다. 하여간, 그들은 성공한 개발자들이고, 성공한 기업인이 되어 있었다. 자신만의 제품이나 서비스를 만들면 자연스럽게 ‘사장’이 되어버리는 것이 소프트웨어 업계의 현실인 듯하다.그렇다면, 대한민국에서 ‘성공’이란 ‘돈’을 의미하는가?강남의 최고급 아파트와 외제 승용차가 성공을 의미할까?자신의 뛰어난 기술력으로 커뮤니티에서 인정받고, 유명해진 명예를 얻는 것이 성공을 의미할까? 다른 사회현상을 생각하면서 다시 한번 비교해보자.요즘 개발자들도 오디션 프로에 영향을 받은 듯하다. 요즘 연예계 지망자들이나 배우나, 가수를 꿈꾸는 친구들이 선배나 멘토들에게 묻는 것이 언제나 똑같다고 한다.그것은 ‘빠르게 성공’하고 ‘빠르게 명예’를 얻는 방법이 무엇이냐 묻는 것이다.어렵고 복잡하고, 길게 걸리는 방법은 무시하고, 오디션 프로에서 1등을 해서, 빠르게 성공하는 방법만을 생각한다고 한다.물론, 그 방법도 있을 것이다.소프트웨어의 세계에도 똑같은 방법이 있다. 대표적인 방법이 유명대학을 가서, S 멤버쉽이 되고, 대기업에 입사해서 경력을 쌓은 다음, 해외의 서비스를 적당하게 분석하다가, 성공적으로 론칭한 서비스를 재빠르게 국내에 도입해서 성공에 이르게 하는 방법이 아마도 가장 빠른 방법일 수 있겠다.물론, 이 방법으로 ‘성공’을 쟁취하려 하는 개발자라고 하더라도. 비난하지 않는다.분명, 그 길은 대다수 ‘성공’이라고 부른다. 하지만, 그 길을 선택하고 집중하는 것 또한 매우 어렵고 힘든 길이다. 선택한다고 얻을 수 있는 길도 아니다.가령, 이 글을 읽는 독자가 학생이라면. 가장 먼저 명문대학을 가는 것부터 시작해야 할 테니, 당장, 이 내용을 덮어버리고, 국영수를 공부하는 것에 몰두해야 하기 때문이다.사실, 가장 넓게 알려진 성공으로 가는 길은 가장 가기 어려운 길인지도 모른다. 경쟁이란 정말 어렵고 힘들 것이라는 것을 잊지 말자.본론으로 다시 돌아와 보자. 개발자로서 '성공'이란 무엇을 의미하는가? 아니, 개발자로서 비전을  갖는다는 것은 무엇을 의미하는가?  원천적으로 개발자의 삶이란 어떻게 살아야 하나요라고 묻는다면,이 문제는 정말 어렵고, 사람마다 다르기 때문에 최선을 다하는 것이 정답이라라는 교과서적인 답변만 늘어놔야 하는지도 모르겠다.이점에 대해서는 이제는 폐간했지만 오랫동안 개발자들의 벗이 되었던 마이크로소프트웨어 잡지에 대해서 원망을  슬쩍해보자.그것은, 나에게 ‘정말 대단히 큰 재미’를 선사했다는 것이 나에게 가장 처음 다가온 충격이었는지도 모른다. 처음에 가진 꿈은 그냥, ‘소프트웨어 개발’을 통해서 삶을 영유할 수 있는 것만으로 나는 행복했다는 점이다. 그래서, 이 소프트웨어의 세계로 진입하게 된 마이크로소프트웨어에 대해서 원망을 해야 하는지도 모르겠다.하지만 필자는 소프트웨어로써 ‘개발자로서 성공’을 하기 위해서, 이 직업과 삶을 선택한 것이 아니라, ‘개발자로 살기 위해서’이 삶을 선택한 것이었다. 나이를 먹고, 무언가를 목표로 살아온 경험을  되돌아본다면, ‘돈’과 ‘명예’를 선택하지 않았을 때에, 오히려, ‘돈’과 ‘명예’를 얻지 않았는가 하다. 오히려, ‘돈’을 선택하던 시기에 ‘돈’을 더 많이 잃어버린 경험도 가지게 되었다.이제는 주변을  되돌아보면, 필자는 꽤 넓은 스펙트럼을 가지게 되었다는 것을 느끼게 된다. 한때는 고인이 되셨지만 대통령이셨던 분부터, 수천억을 소유한 재벌 총수, 의료재단과 대학법인을 소유하신 분, 병원의 원장님들을 비롯한 분들을 비롯하여, 출판계, 영화계, 물론. 다수의 소프트웨어 개발자들까지. 매우 넓은 사람 관계를 만들어본 것 같다.그중에 소프트웨어 개발자들은 참 착하고 바보스러운 사람들이 많은 것 같지만, 한편으로는 너무도 욕심이 많은 사람들이 존재하는 참, 신기한 동네이다.그리고, 여러 계층을 경험해보니. 모든 계층은 똑같이 피라미드 구조를 가지고 있다는 점이다. 대부분 다 똑같았다. 하층의 사람들은 싼 가격에 노동력과 지식을 제공하고, 상위 레벨에서는 적절한 대우 이상과 재미있고 신기한 일들을 많이 한다는 점이다. 이 부분은 어느 계층이나 똑같다.대표적으로 출판일을 경험했을 때에 자신의 이름이 들어간 편집장이 되는 사람과, 그것을 목표로 기획자로 일하는 직원의 급여 수준이나 처우, 대우는 정말 최고급 아키텍트와 SI 개발자를 비교하는 것 이상으로 그 상대 감은 소프트웨어 개발세 상의 것 이상으로 매우 컸다.행복한 개발자라고 한다면, ‘개발이 정말 재미있고’, ‘개발도 잘하고’, ‘소프트웨어 개발 피라미드의 상층부의 일’을 하고 있다는 사람이 있다면. 그 사람은 정말 행복할 것이다. 뭐, 그런 사람은 이 글을 읽고 있지도 않을 것이다.그러나, 개발이 재미있지 않거나, 개발을 뛰어나게 잘하지도 못하고, 소프트웨어 개발 피라미드의 하층부에서 일하고 있다면, 어떻게 생존해야 하는 가에 대해서 정말 심각하게 고민해야 한다.이 글을 읽는 독자가 이제 개발자의 길을 시작한 사람이라면 고민해라, 소프트웨어 개발을 비롯한 모든 전문적인 직업들은 새로운 것을 배우고, 익히고, 소모하면서 계속 변화되는 것을 즐길 줄 알아야 재미있는 직업이다. 그런 것이 아니라면, 정말 힘들고, 피곤하고 어려운 것이 전문직과 같은 직업이다. 만일 그런 것이 힘들다면 다른 일을 알아보는 것이 현명하다.소프트웨어 개발자들과 가장 비슷하게 일하는 웹디자이너들의 푸념이 있다.‘낮은 급여에 야근은 허구한 날, 거기에. 불투명한 미래’에 대한 그들의 이야기를 들으면서, 흔히 소프트웨어 개발자들은 그 질문에 답변한다. ‘너희들은 모니터라도 크지’라고. 대부분의 프로젝트들은 ‘분석’에 의해서 ‘일정’을 만들지 않고, ‘일정’을 통해서, ‘품질’을 선택한다고 봐야 한다.‘정말 하고 싶은 것이 무엇인가?’개발자들에게 물어보면, 대부분 당황하는 경우가 많다. 이것은 개발자이기 때문에 답변을 못하는 것이 아니라, 자신의 비전이나 꿈에 대해서 명쾌하게 정의하지 못하고 있기 때문이다. 주변의 초보 개발자들에게 이야기하고 싶은 점은...가끔은 수필집이나 여행기, 그리고. 다른 사람의 생각과 꿈에 대한 글을 많이 읽어보라고 권하는 것이다. 그러면, 그 비전과 꿈에 대해서 이야기해달라는 사람들이 꽤나 있고는 하다.문제는 그 비전은 누가 정해주는 것이 아니라, 자신이 생각하거나, 자신이 발견하는 것이 옳지 않냐고 다시 이야기를 해준다. 물론, 이렇게 이야기하는 사람도 있다.‘저는 이번 프로젝트에서 인정을 받아서, 다음 프로젝트를 수행할 때에는 팀장이 되고 싶어요!’라고 이야기할 수 있다. 하지만, 이런 ‘단기적인 비전’을 말하는 것은 아니다. 이런 ‘단기적인 비전’만을 따라가다 보면, 냉정하게 수단만 중요시 여기게 되고, 목적 자체를 잃어버린 인생의 방랑자가 될 가능성이 매우 크다.내가 생각하는 ‘성공’이란 과연 무엇인가?또 하나는, 그 ‘성공’의 목표를 너무 작게 가져도 문제이고, 너무 커도 문제라는 점이지만, 그래도, ‘꿈’과 ‘목표’가 있다는 것 자체가 재미있고, 신기하지 아니한가?‘성공은 자신이 정한 것을 이루는 것’을 의미한다고.그럼 ‘꿈’을 어떻게 정의하나요?1. 10년, 20년, 30년 후의 자신의 모습을 상상해보고 정의해봐라.2. 현재 내가 좋아하는 모든 것들을 적어봐라.3. 내가 가장 잘하고 가장 인정받는 것을 적어봐라.보통은 이렇게 끄적거리다 보면, 무언가가 조금은 구체적인 비전이 나올 수도 있지만, 아무렇지도 않은 것이 나올 수 있다. 하지만, 일단, 끄적이기 시작했다면, 다음번에는 좀 더 잘할 수 있다는 것이 중요하다. 가장 중요한 것은 ‘내가 비전에 대해서 생각하기 시작했다’는 점이다. 일단 작심 3일이라도 중요한 결정이다. 그것은, ‘결정’을 하고 ‘결심’을 하기 시작했다는 것이기 때문이다.일단, ‘써야 한다’. ‘생각은 생각일 뿐이다’주변의 개발자들이 가장 잘 못쓰는 말 중의 하나가 ‘머릿속에 다 있다’라는 말이고, ‘글로 쓰기에 너무 어려운 이야기’이다라는 이야기가 가장 잘못된 것이라는 것을 잘 모르는 경우가 많다.‘머릿속에 다 있다’라는 이야기는 한번 생각은 해봤으나, 결론을 내리지 못하였다는 이야기로 들리고, ‘글로 쓰기 어렵다는 이야기’는 그만큼 정리가 안되고, 그 일에 대해서 잘 모른다는 이야기와 똑같다.10년 20년 특정 도메인에서 일한 베테랑이라고 하는 개발자와 일을 할 때에, 자신이 하는 일은 너무도 복잡하여, 설계도나 다이어그램, 순서도, 타이밍 차트 등을 그릴 수 없다는 사람들이 있다.그들과 이야기하고, 그 업무를 다이어그램과 설계도로 만들어 주어도, 그들은 그것 말고, 설명이 안 되는 그 무언가가 있다고 이야기를 한다. 물론, 필자는 그때에 이렇게  이야기해준다.‘만일 그러한 것이 존재한다면. 그것은 당신만이 생각하는 경험이나 당신이 소중하게 생각하는 가치인지 모른다. 하지만, 그것은 어떤 지식이 되기에 매우 부족한 것일 수 있다. 지식은 설명하기 쉽고, 이해하기 쉬운 것이 지식이다. 설명하기 어려운 경험은 정규화되거나 전달되어지기 매우 어렵다’더 쉽게 이야기하면. ‘쉽게 설명하거나 글자로 남기지 못한다면, 당신은 그것에 대해서 잘 알고 있지 못한 것입니다’비전이나 목표 잡기가 너무 어려워요?!그렇다면, 당장 휴일에 컴퓨터를 내버려두고, 아이폰이나 패드와 같은 스마트하다고 우기는 디지털기기를 집안에 던져두고 여행을 떠나는 것이 현명한 방법이겠다. 그리고, 다른 매체를 들여다보고, 개발자 이외의 사람들을 만나서 이야기해보라라고 권유해야 하는 것이 맞을  듯하다.생각 이상으로 소프트웨어 개발자의 세계는 정말 좁다. 그리고, 단편적인 지식들과 단편적인 경험들만이 존재하는 세상인지도 모른다. 그래서, 소프트웨어 개발자들은 ‘관심의 폭을 넓히고,’ ‘자신을 확장’하는 것이 결론적으로는 더 뛰어난 개발자가 된다는 것을 나중에야 깨달을 것이다. 마지막으로 이야기한 한다면, 소프트웨어 개발자에게 ‘성공’이란 일단... 전혀 해보지 않았던 것을 도전해보는 것, 그리고. 삶은 소프트웨어 개발처럼 버전을 나누어서 설명하기 어렵다는 것을 이해하고. 무언가 계속 새로운 것에 도전한다는 것이 진정한 ‘성공’ 아닌가 한다.#와탭랩스 #와탭 #개발자 #개발 #프로그래머 #성공 #성공한개발자
조회수 3816

[컬리에서의하루] 꿈의 주방에 사는 여자들 #스타일링팀 편(푸드스타일리스트의 하루)

 요리에 아무리 관심이 없는 사람이라도, ‘나도 요리하고 싶다’ 라는 마음을 들게 해주는 꿈의 주방이 있다. 바로 마켓컬리의 스튜디오! 북유럽 스타일의 넓은 아일랜드 식탁부터 오밀조밀한 식기, 근사한 냄비 세트가 골고루 갖춰진 선반, 상상하는 어떤 요리도 문제 없이 소화해줄 다양한 조리도구와 빈티지부터 모던풍의 커틀러리까지! 누구나 꿈꾸는 꿈의 주방, 그런 꿈의 주방에서 하루하루를 보내는 컬리의 푸드스타일리스트의 하루는 어떨까? 꿈의 주방에 사는 그녀들의 하루 이야기, 지금 만나 보자.market.kurly.com9AM안녕하세요!컬리의 푸드스타일리스트,지원&다인입니다꿈의 주방! 컬리 스튜디오 좀 소개해 주세요(다인) 이곳은 컬리의 상품 사진을 찍는 스튜디오이자 키친인 공간이랍니다. 꿈의 주방이 맞는지는 잘 모르겠지만 ^^ 요리하고 싶어 지는 주방이라고나 할까요?(다인) 주로 촬영 장소로 활용하다 보니 촬영소품으로 활용하기 위한 각종 조리도구부터 식기들이 모여 있어요. 식기 가짓수도 정말 다양하고, 출처 역시 다양하답니다. 컬리의 인스타그램 채널 통해서 식기를 물어 보시는 분들도 종종 있으세요!(지원) 그리고 MD님들께서 신제품을 오픈하기 전 직접 요리도 해보고 팀원들과 나눠 먹는 키친의 역할을 하기도 해요. 점심시간에는 도시락을 싸온 팀원들이 데우거나 새로 요리를 하면서 미식을 즐기는 공간이기도 하고요! 컬리스럽죠? ^^컬리의 푸드스타일리스트 분들의 촬영 당일 아침은 언제 시작되나요?(지원) 컬리의 출근 시간은 아침 10시지만, 촬영 날에는 누끼* 촬영이 오전 중에 진행되기 때문에 누끼 촬영을 담당하시는 분들은 아침 9시에 미리 출근해서 준비를 시작해요.누끼란? 제품을 자세히 보여주기 위한 정보성 사진(다인) 누끼 컷만 보면 간단해 보이지만 사실 쉽지 않은 촬영이거든요. 전날 밤부터 준비를 시작해도 오전에 시간이 부족해요.누끼 촬영이 왜 어렵나요?(다인) 눕혀서 찍어야 하는 상품과 세워서 찍어야 하는 상품을 분리하고, 크기도 고려하고 패키지부터 속까지 모두 상세하게 찍어야 하기 때문에 오전부터 누끼 촬영을 진행하다 보면 점심도 거르고 촬영을 진행할 때도 많아요, 흑흑.(지원) 그래도 간혹 촬영하느라 조리한 음식들을 촬영이 끝나면 먹기도 해요! 소소한 재미들? ^^컬리의 누끼 촬영 컷촬영을 준비하기 위해 어떤 과정들이 있나요?(다인) 촬영 품목이 정해지면 어떤 식으로 촬영할 지에 대한 시안작업을 진행하고, 관련 팀원들이 모여 함께 의견을 나눠요. ‘어떻게 찍을까, 어떤 컨셉으로 할까, 어떤 이야기로 풀어볼까’ 함께 논의하고 나면 정리된 내용들을 토대로 촬영 소품 준비와 식재료 준비를 시작하죠. (지원) 소품을 준비하는 부분이 가장 시간이 많이 걸리는데요. 컨셉과 가장 가까운 소품들을 준비하기 위해 주말에도 인터넷으로 주문하거나 오프라인을 찾아다녀요. 구체적으로 어떻게 스타일링을 할지 자세하게 구상도 해보고, 디테일 측면에 대해서 계속 머릿속에서 고민하는 것 같아요.  (다인) 맞아요. 서로 자기가 담당한 상품의 촬영 컷에 대해서 고민하면서 소품을 어디서 구할지, 어떻게 준비할지도 구상을 하죠.  (지원) 촬영 3일 전에는 준비가 오래 걸리는 소품을 사러 다녀요. 나무 상판을 사러 가거나, 소품을 대여하러 가거나 하면서 촬영 준비를 몇일 동안 하죠.  (다인) 간혹 톱질을 하기도 하고, 호호호호. 페인트칠도 하면서, 호호호호.톱질이나 페인트칠이요?(다인) 네. 촬영에서 배경이 참 중요한 역할을 맡고 있는데요. 딱 필요로 하는 컬러와 느낌을 연출하는 배경을 구하기는 쉽지가 않아서 자체적으로 상판을 구매해서 직접 만드는 경우도 있어요. 주문한 나무 상판이 너무 길면 톱질도 해서 크기를 맞추기도 해요. 푸드스타일리스트라고 요리만 하고 예쁘게 플레이팅만 할 줄 아셨죠? 하하하하직접 톱질을 할 만큼 배경이 중요한 이유는 무엇인가요?(지원) 저는 사진을 찍을 때 가장 중요한 게 두 가지가 있는데 그게 바로 ‘배경’과 ‘빛’이라고 생각해요. 물론 요리를 얼마나 완성도 있게 하느냐 도 중요하지만 ‘배경’과 ‘빛’의 요소에 따라 느낌과 아우라가 연출이 되기 때문에 전체 촬영에서 척추 같은 역할을 한다고 할까요? 그래서 조금 더 수고스럽고 손이 많이 가더라도 딱 맞는 배경을 찾기 힘들 때는 직접 만들면서까지 촬영을 해요. 또 다양한 컷을 연출하기 위해서는 배경이 다양해야 가능하기 때문에 직접 만드는 경우도 있어요.(다인) 저희가 찍는 상품들이 음식이다 보니 너무 똑같은 배경만 반복되거나 컨셉이 동일하다면 자칫 지겨워질 수도 있잖아요. 그리고 각 음식마다 담고 있는 식탁 위에서의 역할이나 목적, 분위기가 다르기 때문에 제대로 그 음식을 조명해주기 위해서는 톱질도 마다하는 거지요.컷 하나 하나에 대한 정성이 정말 남다른 것 같아요. 컬리의 사진들이 남다를 수 있는 이유는 무엇일까요?(다인) 아무래도 디테일인 것 같아요. 예를 들어 쭉 상품들을 늘어놓고 찍으면 심심하잖아요. 그럼 서로 다르게 높이를 둬서 입체감을 주는데, 높이를 다르게 하는 이유가 ‘허전해서’가 아닌 이 사진 자체에 스토리가 있기 때문에 그 스토리 상의 이유로 높이감을 자연스럽게 연출하려고 노력해요. 그러다보니 구성안 회의 때 그 스토리가 무엇이 될 수 있을까 서로 고민하면서 ‘왜’에 대한 이야기를 만들죠. 결론적으로는 촬영을 진행하기 전 엄청난 고민과, 논의, 그리고 준비가 있기 때문에 디테일이 살아난다는 점?스토리라고 하면 어떤 스토리인가요?(지원) 음, 사진 자체에서 납득이 되는 요소들? ‘사진을 보았을 때 왜 이걸 여기에 놓여져 있는건지’에 대한 이유를 만드는 거죠. (다인) 그냥 아무거나 갖다 놓고 찍을 수 있잖아요. 좀 허전하다 싶으면 대충 아무 국자를 갖다 놓거나 그릇을 갖다 놓고 채울 수도 있는데, 저희는 항상 ‘왜’에 대해서 고민하거든요. 소품 하나하나에 이유를 담기 위해서 스토리를 구상하는 거죠. (지원) 가령 케이크를 촬영하는데 옆이 심심하다고 유리잔을 갖다 놓지 않는 거죠. 케이크를 친구들과 나눠 먹는다고 상상을 했을 때 어떤 연령층의 친구들이 모여 있는 걸까? 누군가의 생일일까? 누군가의 브라이덜 샤워일까? 이들은 어떤 음료를 좋아하는 사람일까? 그럼 그 음료에 어울리는 잔은 무엇일까? 이렇게 고민을 거듭한 끝에 그 상황에 딱 맞는 음료를 결정하고 잔을 선택하고 그 컷에 소품으로 놓여지는 거에요. 그 상황과 이 화면에 맞는 온갖 계산들을 엄청나게 하는 거죠. (다인) 머리도 써야하고, 톱질도 해야하고. 쉽지 않은 직업이죠. 하하하하 (지원) 상황에 대한 이해가 필요하다 보니 촬영 전에 회의를 많이 하고, 대화도 많이 하고, 고민도 많이 하고, 이런 저런 계산들을 엄청나게 하고. 그러한 디테일에 대한 고민들이 컬리룩을 만들게 해주는 힘이죠. 배경 외, 소품 준비는 어떻게 진행되나요?(지원) 고속터미널 지하상가부터 이태원 앤틱거리, 소품샵이나 편집샵 등 다양하게 돌아다니면서 소품을 빌리기도 하고 구매하기도 해요. 얼마전에는 다인님이 영국으로 출장 가서 직접 소품을 구매해오기도 하셨어요.영국이요?(다인) 네, 얼마전에 영국으로 출장을 다녀왔어요. 두가지 이유가 있었는데, 첫번째는 ‘기물 구입’. 한국에서 대여 비용이 영국에서는 구매 비용이어서, 장기적으로 보았을 때는 기물을 구입하기 위해서 다녀왔고요. 두번째는 ‘패키지나 리빙 제품’ 조사차 다녀왔어요. 해외 시장에서의 패키지 디자인 등을 참고하기 위한 목적도 있었고요. 영국이 프랑스보다 작은 규모의 플리마켓 같은 시장이 다양하더라고요. 프랑스는 굵직굵직하게 있다면, 영국은 소소한 곳이 많은 편? 플리마켓부터 백화점까지 꿈의 주방을 채우기 위해 열심히 돌아다녔답니다.(지원) 아무래도 저희는 디테일을 신경쓰다 보니 소품 하나하나가 무척 소중하거든요. 영국에서 가져온 소품들을 보면 작은 커틀러리부터 기계 부품까지 다양해요. 아무래도 여러 상황들을 연출해야 하니까 최대한 다양하게! 그리고 스토리를 담을 수 있는 소품들을 구매했어요.컬리룩을 완성하게 하는 힘은 다름 아닌 ‘디테일’. 사진 하나 하나에 스토리를 담고 이 사진 속 음식을 즐기는 사람들을 상상하고 그들이 사용할 법한 소품을 구상하기까지. 하나의 사진이 완성되는 데에는 수많은 시간과 고민과 노력들이 숨어 있었다.3PM점심식사도 잊은 오후, 지금은 어떤 촬영이 진행되고 있나요?(다인) 곧 오픈 예정인 냉동 무화과 촬영하고 있어요. 급속 냉동 시켜서 맛과 영양이 그대로 살아있는 냉동 무화과를 어떻게 즐기실 수 있을지 소개 드리기 위한 컷을 촬영 준비 중이에요.촬영 직전에 어떤 준비들이 있나요?(다인) 먼저 촬영을 진행하기 전에 준비한 식재료를 1차적으로 플레이팅을 해요. 구성안 회의에서 잡았던 레시피나 맛있게 먹는 팁, 함께 즐기면 좋은 식재료 등을 중심으로 셋팅을 하죠. 그러고 나면 촬영 테이블로 옮겨서 거기서 최종적인 셋팅을 완성하죠. 키친크로스나 커틀러리 등도 사전에 모두 계산해 두었던 소품들이어서 촬영 직전에는 구상해둔 셋팅을 이리저리 놓아보며 최종적으로 자리를 잡아요.그러고 포토님이 촬영해주시면, 최종 결과물을 보며 수정할 부분을 수정하고, 소품을 바꿔야겠다 싶으면 대체하기도 하면서 OK컷을 뽑아내요.냉동 무화과 최종 완성컷식재료를 촬영하다 보면 어려운 부분이 있을 것 같아요.(다인) 음식 촬영은 전날 준비를 많이 하지 못해요. 조리 직전에 자르거나 볶거나 끓이거나 해야 되는 특성 상, 촬영 당일 동시에 많은 것을 진행해야 하는 것이 어렵죠.(지원) 그리고 직접 조리부터 플레이팅까지 해보지 않으면 그 완성이 어떤 그림이 될지 정말 모르잖아요. 최대한 머리속에서 꼼꼼히 상상하고 계산해서 식재료를 준비하고 색감이며 부피감이며 느낌이며 모두 사전에 계산을 완벽히 해야한다는 점?  (다인) 식재료다보니 어려운 점도 있지만 나름 재미난 에피소드도 생겨날 때가 많아요. 특히 생물을 촬영할 때? 생물이라고 하면 랍스터나 킹크랩처럼 컬리에서 소개 드리는 수산품들을 말하는데요. 그런 생물 촬영이 있는 날은 마치 사람 모델처럼 킹크랩이나 랍스터도 촬영을 대기하고 있어요. 살아있는 채로!! 그래서 저희가 재미삼아 이름을 지어 주기도 해요, 하하하하.이름이요??(지원) 크기가 어마어마했던 랍스터는 ‘안토니오’, 킹크랩은 크고 작은 형제가 왔었는데 큰 킹크랩은 ‘세바스찬’, 작은 킹크랩은 ‘산체스’. 문제는 이름을 붙여주니까 애틋해지는 거에요.촬영을 하다 보면 이제 삶기도 해야하고, 조리법을 설명해 드리기 위한 컷을 위해 칼로 찌르기도 해야하는데 차마 그럴 수가 없는 거에요. 그래서 사실 칼을 살짝 걸치기만 하고 촬영을 했답니다. 흑흑7PM퇴근 시간도 잊은 스튜디오 현장. 촬영된 컷은 어떻게 홈페이지로 실려지는 건가요?(다인) 촬영이 끝나면 사진들을 정리하고, 선택된 사진을 디자이너분들께 전달 드리면 디자이너분들과 에디터 분들이 컨텐츠로 만들어 상품 오픈에 맞춰 홈페이지로 올라가요. 정성스럽게 찍은 사진이 홈페이지를 통해 고객님들께 인사드리게 되면 참 뿌듯하고 톱질하던 수고도 잊게 된답니다 ^^촬영이라는 일이 어마어마하군요. 컬리 고객님들께서도 집에서 예쁜 스타일링부터 플레이팅까지 도전해보고 싶으신 분들이 많으실 것 같아요! 그런 분들을 위한 팁이 있다면?(지원) 집에서 할 수 있는 선 중심으로 팁을 드린다면, 우선 ‘밋밋하다’싶으면 천을 한번 깔아보셔도 좋아요. 은은하고 자연스러운 느낌을 연출할 수 있거든요. 그리고 무엇보다도 배경과 빛. 배경과 빛만 잘해도 정말 80% 보장되거든요.  (다인) 빛도 형광등보다는 자연광이 훨씬 느낌을 잘 연출해줘요. 그림자가 져도 자연광에서 그림자 진 것이 더 분위기 있거든요. 창가에 자리만 잘 잡고 음식을 촬영하시는 것만으로도 충분히 훌륭한 사진을 얻으실 수 있답니다. (지원) 디저트의 경우에는 한 입 먹은 듯한 느낌이 사진을 찍으면 예뻐요. 그냥 툭 두지 마시고 한 입 스푼으로 푹 퍼주거나 그릇에 한 조각 옮겨 담아도 좋을 것 같아요!푸드스타일리스트의 일상 사진도 궁금해요~ 일이 아닌 취미로 찍는 사진들은 어떤가요?(다인) 아무래도 제 멋대로..? 하하하하 쑥스럽지만 몇 컷 보여드릴게요!(지원) 자연스럽게 찍는 사진을 좋아하는 것 같아요. 부끄럽네요, 갑자기! 하하하하마지막으로 전하고 싶은 이야기(지원) 다른 상업적 사진들은 인위적으로 사진을 찍고는 하단에 ‘위 이미지는 연출된 이미지입니다.’이런 말을 쓰잖아요. 저희는 정말 거짓없이 고객님께서 받으시는 상품 그대로를 가지고 사진을 찍어요. 더 먹음직스럽게 색소를 타거나, 양을 늘리거나 하지 않아요. 거짓되지 않은 사진을 찍으려고 노력하고 있답니다. (다인) 맞아요. 정보를 그대로 담은 사진을 찍기 위해 열심히 노력하고 있답니다! 그러니 컬리 사진 많이 믿어 주시고 예쁘게 봐주세요 ^^어떤 의미에서 촬영 당일은 전쟁과도 같다. 조리와, 플레이팅과, 촬영이 동시에 진행되다 보니 땀 닦을 시간도, 밥 먹을 시간도, 힘들다는 생각을 할 틈도 없다는 그녀들. 몇 날 몇 일을 소품을 구하기 위해 발품을 팔고, 톱질을 하며 촬영을 준비하고 촬영 당일에는 시간을 잊은 블랙홀 같은 꿈의 주방에서 한 컷 한 컷 정성스레 촬영한다. 포크 하나 정도는 신경 쓰지 않아도 될 법 한데 컬리 사진은 ‘디테일이 생명’이라고 말하는 그녀들. 그런 그녀들이 있기에 컬리의 사진 하나 하나가 생명이 담긴 마냥 생생하고 남다를 수 있는 것이 아닐까? 더욱 노력해서 커머스 사진의 새로운 기준이 되고 싶다 말하는 그녀들. 그녀들의 행보가 더욱 기대된다.#마켓컬리 #팀원소개 #팀원인터뷰 #팀원자랑 #기업문화 #조직문화
조회수 1175

대화의 장벽을 허무는 UX

바크 (Bark) 앱은 개의 대화법을 적용하여 주변의 서로 모르는 사람들과 소소한 소통이 가능하게 만들어주는 위치기반 채팅 서비스 이다. (앱을 모르는 분들은 아래 프리뷰 동영상을 참고해 주세요). 이번 글에서는 아주 단순해 보이는 바크 앱의 인터페이스가 의도한 사용자 경험에 대한 이야기를 해 보려고 한다. 결론부터 얘기하자면, 바크 앱의 '서로 개처럼 짖는다'라는 매우 심플한 인터페이스 이면에는 나름 깊게 고민한 태스크 분석 및 목표가 존재하고 있다는 것이다.https://www.youtube.com/watch?v=blwic1sMpOo<iframe width="940.000000" height="529.000000" src="//www.youtube.com/embed/blwic1sMpOo" frameborder="0" allowfullscreen="">'서로 개처럼 짖는다'의 심플한 인터페이스에 숨겨진 이야기나는 왜 모르는 사람과 대화를 하고 싶은가미국 유학시절 나를 종종 당황하게 했던건 바로 모르는 사람들이 아무렇지도 않게 내게 말을 걸고 대화를 건내던 순간이었다. 한국에서는 심지어 동네 주민이라 할 지라도 엘레베이터에서 서로 눈도 안마주치고 애써 대화를 피하던 우리나라사람으로서는 매우 어색하지 않을 수 없다. 지나가다 우연히 눈이 마주친 사람이 내게 인사를 건네고, 수업시간에 옆에 앉은 사람이 갑자기 어제 풋볼 경기 봤냐고 말을 건네고, 지하철에서 옆자리에 앉은 사람이 내가 읽던 책을 슬쩍 보더니 본인도 이거 읽어봤다며 갑자기 토론모드로 들어가던 기억들을 떠올려 보면, 우리나라사람들은 서로 단절된 삶을 사는것 같아 보인다.물론 모르는 사람들과 대화를 한다는게 얼핏 생각해보면 그리 유쾌할것 같은 느낌은 아니다. 우선은 내가 굳이 왜 모르는 사람과 대화를 해야하는지 목적이 불분명하기도 하거니와, 애써 말을 걸었다가 무시받거나 이상한사람 취급받을지도 모른다는 두려움, 또는 왠지 내가 어떤 불순한(?) 목적을 지닌 사람처럼 비춰져 보일수 있다는 불안감들로 인해 우리나라에서는 그 누구도 먼저 모르는 사람과 대화를 나누려 하지 않는다.하지만, 한편으로는 이런 생각도 든다. 내가 아무리 친한 친구들이 많아도 그들과 항상 대화하면서 살지 않는다. 여자친구나 아내, 남편이 아니고서야 매일처럼 서로 대화를 나눌 수 있는 '아는사람'들은 손까락에 꼽을 정도이다. 실제로 내가 회사다닐때를 떠올려 보면, 하루에 3시간씩 소모되는 그 지루한 출퇴근 시간동안 나는 친구들과 대화를 나누기 보다는 페이스북에서 뉴스를 읽거나 다른사람의 인스타피드를 보면서 시간을 보냈었다. 회사에서의 9시간동안은 거의 일과 관련된 대화들이 오가고, 심지어 점심시간에도 주로 동료들과 식사를 하기 때문에 역시 회사의 바운더리를 벗어난 대화를 해본적이 별로 없었다. 우리는 위에 언급한 여자친구, 아내, 남편 등 가족이외에 뭔가 대화를 나눌 수 있는 사람들이 정말 거의 없는 세상에 살고 있는 것이다.우리가 만일 내 주변에 같이 숨쉬고 있는 저 수 많은 '모르는' 사람들과 아무 거리낌 없이 대화를 나누고 뭔가 소소한 교류를 할 수 있다면 어떨까? 내가 아침에 일어났는데 모르는 사람들이 '지금 밖에 엄청나게 덥다'고 알려주고, 내가 야근하고 있는데 '나도 야근중인데 힘내세요!' 라며 서로 격려해주고, 점심시간에 서로 밥은 잘 먹었냐고 챙겨주는, 이런 아주 소소한 대화들이 주변의 모르는 사람들과 오갈 수 있는 온라인 세상에 대해 꿈꾸기 시작한 것이다.이런 배경으로 인해 바크 앱 인터페이스 디자인 목표는 바로 주변의 모르는 사람들과 소소한 대화를 가로막는 모든 장벽이 제거된 위치기반 채팅 서비스를 구현하는 것이 되었다.바크 앱의 목표는 주변의 모르는 사람들과 장벽 없이 소통하는 작은 세상을 만들어 주는 것이다.대화의 장벽에 대한 정의(데이팅 니즈와 같은) 특정한 목적이 있지 않고서야 저런 소소한 대화들을 온라인상에서 모르는 사람들과 나눈다는것은 거의 불가능에 가까운 일이다. 모르는 사람들끼리의 대화를 가로막는 수많은 장벽들이 존재하기 때문이다.1) 성별, 나이, 직업, 외모 등의 아이덴티티 요소우리가 대화를 서로 건낼 때 상대방에 대해 자연스럽게 파악하게 되는 (또는 파악하고 싶은) 다양한 아이덴티티 요소이다. 이런 아이덴티티 요소는 사람의 선호나 기대를 형성하는데에 아주 중요한 정보가 되기 때문에 서로의 선호가 맞지 않게 되었을때 초기 대화 자체가 성사되지 않는 원인이 된다.2) 대화의 정보를 전달해주는 언어 및 대화의 코드 요소실제 대화에 정보를 심어서 전달하기 위해 우리는 '언어'라는 도구를 사용한다. 당연히 영어, 중국어, 일본어 처럼 서로 사용하는 언어가 다르면 대화가 어려워 지고, 10대들이 쓰는 말, 50대가 쓰는말 등 세대적인 언어형태의 차이 역시 대화를 가로막는 장애물이 된다. 하지만 언어보다 더 큰 장벽은 바로 '대화의 코드'인데, 이는 사람들이 건내는 말의 이면에 숨겨진 목적이나 정보를 의미한다. 예를들어 누가 "오늘 날씨 참 좋죠?"라고 물어본다면 이 말은 단순히 오늘 날씨에 대한 정보를 전달하는것이 아닌 상대방에 대한 관심 표현, 지루하기 때문에 대화상대가 필요하다는 어떤 목적에 대한 표현 등 수 많은 레이어가 존재하고 있음을 의미한다. 이런 대화의 코드가 서로 명확하게 교환되지 않으면 그 대화는 어색해지거나 제대로 이어지지 못하게 된다.3) 대화가 서로 자연스럽게 진행되는데 필요한 대화의 맥락 요소대화의 맥락은 위에서 설명한 대화의 코드가 모여서 형성된다. 예를들어 "오늘 날씨 참 좋죠?"라는 질문에 "네 그러네요."라고 상대방이 답변을 했다면 그 이면에는 말은 건넨사람은 상대방에게 관심이 있는데 그 상대방은 별 관심이 없는 상황이다 라는 하나의 맥락을 발견할 수 있다. 대화의 맥락이 잘 연결되지 못하면 보통 대화가 중간에 끊기거나 서로 의도했던 목적이나 정보가 제대로 전달되지 않는 문제가 생긴다.앞서 말했듯이, 바크 앱의 UX 목표가 '대화의 장벽'이 제거된 채팅 서비스 구현이기 때문에, 바크 앱의 모든 인터페이스는 철저하게 위의 3가지 장벽을 완벽하게 제거하거나 줄이는 방향으로 설계되었다. 첫째, 아이덴티티 요소를 제거하기 위해 개의 캐릭터와 번호 부여바크 앱에서는 모든 유저가 8마리의 강아지 캐릭터 중 하나를 선택해야 한다. 물론 내 프로필에서 이 개의 '주인'이라는 의미에서 내 프로필 사진을 올릴수는 있지만 기본적으로 모든 채팅의 주체는 본인이 선택한 이 강아지 캐릭터를 중심으로 이루어 진다.모든 유저가 8마리의 강아지 캐릭터 중 하나가 된다.또한 바크 앱은 가입한 순서대로 번호를 부여받게 된다. 예를들어 처음 가입한 사람은 #1, 그 다음은 #2, #3 ... 등 번호가 계속 올라가는 방식이다. 2016년 7월 29일 4시 현재 #9845번까지 들어와 있다. 이 부분이 매우 중요한데, 번호를 부여받는 방식으로 인해 유저는 본인의 이름, 성별, 나이 등 그 어떤 아이덴티티요소를 노출하지 않음과 동시에 서로 오랫동안 소통한 사람이 아닌 경우 상대방의 아이덴티티를 잘 식별 불가능하게 하기 위한 의도가 있다. 이는 익명성과 비익명성을 동시에 지니게 하기 위해 나름 의도된 설계인데, 예를들어 내 번호가 #245번이라고 한다면, 내가 자주 짖는 우리집 근처의 유저에게는 나름 '아 저 번호가 내 근처에 살고있는 사람'이라는 아이덴티티 식별이 가능하지만 내가 다른 지역에 가거나 새로운 사람이 우리 지역으로 와서 서로 짖을경우 #245번이라는 번호는 누구인지 전혀 식별 불가능한 익명성을 띄게 된다.이렇게 강아지 캐릭터와 식별번호를 통해 바크 앱의 모든 유저는 서로 철저하게 모르는 사람이 됨과 동시에 짖는 행위를 통해 아는사람이 되기도 하는 익명성과 비 익명성을 동시에 지니게 설계한 것이다.모든 유저는 이름이 아닌 식별번호를 부여받는다.둘째, 언어 및 대화의 코드 요소를 제거하기 위한 개의 대화법 적용개들이 서로 소통하는 방법은 여러가지가 있겠지만 우리가 주목한 방법은 '서로 짖는다' 이다. 물론, 개들끼리 서로 짖는 목소리 이면에 숨겨진 다양한 코드와 맥락을 이해하면서 대화를 나눌 것이다. 하지만 위에서 언급한바와 같이 대화의 코드와 맥락이 복잡할 수록 대화를 가로막는 장벽으로 작용한다. 따라서 바크 앱 에서는 서로 짖는 행위는 철저하게 '내가 익명의 주변 사람들에게 말을 걸다'의 의미로 사용된다. 다시말해서 내가 지하철에서 옆에 앉은 사람에게 "오늘 날씨 좋네요?"라고 물어보는 행위가 '나는 너에게 말을 걸고있다'라는 의미로 사용되듯이, 바크 앱에서는 내가 바크 버튼을 눌러서 반경 1마일 이내의 유저들에게 짖는 행위로써 말을 거는 것이다.또한 단순히 짖는 행위에 다양한 감정을 실어서 전달할 수 있도록 바크의 파형, 짖는 소리가 누르는 액션에 최대한 연속적으로 반응 가능하도록 설계되었다. 즉, 내가 뭔가 신이 나서 좀더 리드미컬하게 짖고 싶다면 바크 버튼을 보다 연속적으로 빠르게 누를 수 있고, 이 반응속도를 최소화 하여 리드미컬한 사운드와 바크의 파형이 퍼져나가도록 디자인 된 것이다. 이를 통해서 유저들은 이 '서로 짖는다'라는 개의 대화법 하나로 말을 거는 것 이상의 의미가 포함된 복잡한 대화를 연결해 나가곤 한다. 실제로 강남 지역에서 누가 한번 짖기 시작하면 많은 유저들이 습관적으로 반응하여 서로 짖게 되고, 마치 그룹 챗에서 카톡 메시지가 오가듯이 바크 사운드와 파형이 지도상에서 번쩍거리는 진풍경이 연출된다.셋째, 대화의 맥락요소를 제거하기 위한 메시지 바크위에서 언급한 3가지 대화의 장벽을 너무 최소화 할 경우 필연적으로 부딪치는 문제가 있다. 바로 '대화가 지속되지 않는다'라는 문제이다. 대화라는 것은 서로의 언어를 통해 정보를 교환함으로써 의미가 있다. 이 정보 교환에는 굳이 말 자체가 가진 의미 뿐만 아니라 대화의 코드 및 맥락요소도 같이 조합되어 이루어지기 때문에, 맥락요소를 아예 제거해 버리면 대화가 길게 진행되지 않는 문제가 생기는 것이다.이 부분을 해결하기 위해 디자인 된 것이 바로 메시지 바크이다. 메시지 바크 인터페이스의 목적은 대화의 맥락요소를 최소화하면서도 유저들간의 대화가 계속 이어지도록 정보교환이 가능하게 하기 위함이다. 아래 그림과 같이 유저는 바크 버튼을 3초간 누르고 있으면 영문 20자 이내, 한글 10자 이내의 짧은 단문 메시지를 전송할 수 있다. 이때, 메시지가 표현되는 방식에서 다른 채팅방식과 큰 차이가 있는 것인데, 일반적인 채팅에서는 말풍선 메시지가 순차적으로 올라가면서 대화가 연결되기 때문에 대화의 맥락이 형성된다. 따라서 누가 다른 말을 하게되면 그 대화의 맥락이 끊어지게 되서 대화가 종결되거나 어색해 지는 경우가 생긴다. 하지만 바크 앱에서는 메시지가 맵 상에서 캐릭터의 말풍선 메시지로 표현된다. 이 방식이 주는 장점은 유저가 능동적으로 저 맥락을 만들수도 있고, 맥락에 상관 없이 받아들일수도 있다는 것이다. 다시 말해서, 메시지를 보내는 사람은 지금까지의 맥락과 전혀 상관 없는 대화를 건네도 전혀 상관이 없다는 것이다.실제 사람들의 바크메시지 대화. 맥락요소가 최소화된 그룹챗 인터페이스 이다.또한, 좌측 사이드바를 통해 지금까지의 메시지 바크를 위도-경도 약 2km의 zoning으로 구역화하여 저장하고, 유저들은 해당 지역에 지금까지 건네진 메시지 바크를 읽어볼 수 있다. 마치 그룹 채팅방에서 이전 대화를 각 위치별로 열람해 보는것과 같은 기능이다. 이를 통해서 유저가 맥락을 능동적으로 찾게 되고, 맥락때문에 대화가 끊어지는 문제를 최소화 하면서 대화가 지속 가능하도록 설계된 것이 바로 메시지 바크인 것이다.지역별로 2km의 존이 있어서 해당 지역의 대화내용을 열람해 볼 수 있게 함으로써 맥락을 이어나갈 수 있도록 유도했다.위치기반 채팅의 새로운 실험바크 앱은 분명 기존의 소셜네트워크가 설정한 일반적인 소통방식의 컨벤션을 완전히 벗어나 있다. 소비자가 너무 새로운 방식을 접했을 때 그 가치를 이해하지 못하면 그 서비스는 정착하기 어렵다. 이 때문에 바크 앱은 아직도 베타테스트 중이다. 2016년 5월 18일 첫 버전을 iOS 버전으로만 런칭하였고, 아이폰에서 유입되는 유저만으로 다양한 기능들을 테스트하면서 지금까지 왔다. 이제 약 3개월간의 베타테스팅 기간 끝에 8월 중순경 안드로이드 버전을 런칭하면서 정식 서비스를 시작할 계획이다.이 실험이 성공할지 실패할지는 사실 아직도 잘 모르겠다. 현재까지 유저의 사용성을 분석해 보면 분명 강남역, 홍대, 신사등과 같은 유저 밀집지역에서는 Day 60 리텐션이 60%를 상회할 정도로 높게 나온다. 하지만, 지금처럼 서로 비슷한 목적의 카피캣만 난무하는 소셜미디어 영역에서 특정 목적을 가지고 새로운 방식을 시도해 보는것 하나로도 의미가 있다고 생각한다.글쓴이는 스팀헌트 (Steemhunt) 라는 스팀 블록체인 기반 제품 큐레이션 플랫폼의 Co-founder 및 디자이너 입니다. 비즈니스를 전공하고 대기업에서 기획자로 일하다가 스타트업을 창업하고 본업을 디자이너로 전향하게 되는 과정에서 경험한 다양한 고군분투기를 연재하고 있습니다.현재 운영중인 스팀헌트 (Steemhunt)는 전 세계 2,500개가 넘는 블록체인 기반 앱들 중에서 Top 10에 들어갈 정도로 전 세계 150개국 이상의 많은 유저들을 보유한 글로벌 디앱 (DApp - Decentralised Application) 입니다 (출처 - https://www.stateofthedapps.com/rankings).스팀헌트 웹사이트 바로가기
조회수 892

채식주의자가 되다

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

개발자, 디자이너, 기획자의 온도차

 아마 가장 많은 분들이 생각하시기에 가장 걱정되는 부분이라고 생각이 듭니다.그래서 저 역시도 이 이야기를 하는 것에 좀 조심스럽습니다. 이야기는 바로 "업무를 대하는 개발자, 기획자, 디자이너 간의   온도차."입니다. (다시 한번 말씀드려요! 제가 사용한 방법이 백프로 모두에게 맞는 말은 아닙니다!!) 스타트업은 큰 기업처럼 디자인팀, 개발팀, 기획팀이 갈려서 서로의 팀장에게 허가를 받고, 기획을 시작하고, 개발을 시작하고, 디자인하는 그런 상하관계의 구조가 아닙니다. 서로서로들 비슷한 경력들과 환경에서 서비스를 제작하는 사람들이 많죠. 특히, 젊은 스타트업 기업들은 대학생들이나 대학원생 등 아직 본격적인 사회생활을 해보지 않은 인원들이 더 많을 것으로 알고 있습니다. 아시다시피, 다들 맞춰진 직무를 기반으로 개발자는 개발자의 생각과 계산에 따라서 일을 진행하고 있고, 기획자는 기한에 맞춰 예상했던 진행대로 일을 진행하고 싶어 하고, 디자이너들은 보다 다은 디자인으로 서비스를 보이려 다양한 자료들을 모으고 분석하여 제작자의 아이디어를 입혀 새로운 콘텐츠를 제작하려 노력합니다.문제는 서로가 서로의 일에 대하여 모른다는 것입니다. 스타트업의 팀원들 간의 커뮤니케이션은 마치 연애와 같아서 서로 이야기해주지 않으면 모를 수밖에 없고, 서로 어떻게 일을 하는지, 얼마나 시간이 걸릴 것이다 등 일정에 대한 공유나, 업무를 하는 절차를 이야기 해주짖 않으면, 원치 않는 감정의 골이 생기기 마련입니다. 이런 문제를 해결하기 위해, 기업은 매일매일 아침시간에 진행하는 Scrum이라든지, Jira, Taskworld, Trello 등 다양한 프로젝트 매니지먼트 툴을 사용하고, 스크럼 마스터나, 다양한 서비스를 제작해 보신 PM(Project Manager), 또는 PO(Product Owner)님들이 각부서의 현황들을 파악하고, 다양한 부서를 총괄하고 관리합니다.그러나, 기본적으로 국내 스타트업 상황은업무자들의 수가 절대적으로 부족하고,젊은 개발자나 디자이너 같은 경우는 생업(또는 학업)과 스타트업을 동시에 하는 인원이 많고,젊은 창업자들과 직원들의 경우, 프로젝트 경험이 없어 이러한 분업구조를  낯설어하고,개발자와 디자이너 역시 자신이 작업하는 프로젝트가 언제쯤 끝날지 가늠할 수 없는 상황이 생기고,적은 인원들이 많은 프로젝트를  진행하느라 예민한 구조가 되어 남을 이해하기 힘든 상황등의 다양한 이유들 때문에 각 직군 간의 갈등 상황이 큰 기업에 대비하여 많이 생기고 있습니다(물론 큰 기업도 문제가 없진 않다고 합니다.).이 전설의 짤을 보신적이 있으신 분들도 많으실듯... (출처: http://9gag.com/) 이러한 갈등 해결 방안은 다음에 더  디테일하게 설명드리도록 하고, 이번 글에서는 간단히 저가 생각하는 발전방향에 대하여  이야기해보도록 하겠습니다. 앞서 말씀드린 것과 같이, 스타트업 팀원들의 관계는 마치 연예와 비슷하다고 생각합니다. 말하지 않으면 모를 수밖에 없는 노릇이고, 말을 해줘도 이해할 수 없는 일들이 수두룩 합니다(그런 이유로 저는, 스타트업에서 근무하시는 분들은 서로의 업무에 대하여 어느 정도의 배경지식을 배우는 게 필요하다고 생각합니다.). 그럼에도 불구하고 우리는 항상 이야기를 해야 해요. 연애를 할 때도 말이 안 통해도 될 때까지 이야기하듯이. 스타트업에서의 업무는 끊임없이 피보팅을 진행하고, 하루하루 떠오르는 처리해야 할 일들이 생깁니다. 그리고, 그러한 변경사항들에 관하여  이야기할 때, 서로가 서로의 말을 이해해 주지 못한다면, 더 큰 갈등 상황들을 야기하기 마련이지요. 그러나, 만약 각 직군의 전문가들이 서로의 업무에 대한 배경이나, 아주 기본적이더라도 기초사항을 알고 있다면, 서로의 업무량에 대한 불만이 아무래도 적을  수밖에 없다고 생각합니다. 제가 스타트업을 진행할 당시를 말씀드리자면, 저는 창업 당시 기획자로서 서비스를 기획하고, 프로젝트를 관리하고, 투자 또는 공모전 등에 쓰일 기획서 등을 제작하는 업무를 주로 하였습니다. 디자인에 관하여는 무엇을 논할 수 있는 실력도 아니고, 개발에 관하여는 더더욱 그렇습니다. 그러므로 기획서를 작성할 때나, 어떤 계획을 할 때 “원하는 시간”을 개발자나 디자이너에게 요청하고, 그러한 요청 사안과 당사자들과의 이야기를 통해 조정하고 계획을 진행하는 것이 주  업무였습니다. 그리고 나름 생각하기에는 "개발이나 디자인을 하나도 모르는 사람이 일의 진행 정도를 스스로 보고 판단하고, 기한을 준다는 것은 올바르지 않다."라고 생각하여 아주 기초적일 수 있지만 웹 공부와 포토샵 일러스트 디자인 등의 디자인과 개발 툴 공부를 꾸준히 하면서 개발과 기획에서 어느 정도  서포트할 수 있는 실력을 기르기 위해 많은 시간을 투자했었습니다. 그리고 이러한 노력 덕분에 서로의 직군과 업무에 대한 고충을 이해할 수 있어서 많은 이점을 가질 수 있었지만, 그럼에도 불구하고, 자주자주 일이 딜레이 되는 상황이 발생하였고, 그러함에 따라서 개발자와 디자이너와 기획자들이 조금씩 소원해지고  섭섭해지는 상황이 발생하였던 것 같습니다. 그래서 하나 더 생각했던 것이, "일을 처음 시작하는 초보들에게도 바로 적용해서 업무에 도입할 수 없는 어려운 프로젝트 매니지먼트 툴이 아닌 서로의 작업현황이나, 상태 정도를 가늠할 수 있는 PM 툴을 만들어 보자." 하는 것이었습니다. 그래서 창업 당시 사용한 아주 간단한 툴이 있는데, 이 프로젝트 메니지 방법은 내일 이미지로 보여드리면서 설명드릴게요. :) 그리고 지금은 Taskworld나 Jira 같은 더 전문적인 툴을 사용하고 있지만, 해당 툴에 대한 전문전 지식이 아직 없는 분들은 엑셀 등으로 서로의 일을 정리해서 공유하는 것도 좋을 것 같네요! 기회가 되면, 요즘은 제가 어떤 식으로 툴을 사용하는지 설명하는 글도 적도록 하겠습니다! 마지막으로 긴 글을 세줄 정리하자면, 1. 개발자, 기획자, 디자이너는 달라요. x나 달라요.... 2. 다르면 잘 들어보고 뭘 하는지 아는 것이 중요하다고 생각합니다. 3. 그리고 서로가 어떤 일을 하고 있는지 현황을 파악할 수 있다면 더 좋겠죠?오늘도 읽어주셔서 감사합니다! 좋은 하루들 되세요:)#코인원 #블록체인 #기술기업 #암호화폐 #스타트업인사이트
조회수 5054

Bluetooth Low Energy(BLE) 파헤치기

1. What is BLE?스마트폰이 출시되어 대중화가 될 무렵, ‘스마트’한 개념의 밴드, 워치, 글래스 등이 출시되면서 웨어러블 디바이스 시장이 태동하기 시작했다. 그리고, 2015년 상반기, 애플워치의 등장으로 작은 생태계를 이루고 있던 웨어러블 디바이스들이 다시 한번 각광을 받게 되었다. 각기 생긴 모습은 다르지만 이들의 공통점은 스마트폰과 연동되어 작동한다는 것이었다. 과거부터 기기들간의 단거리 무선통신은 Bluetooth라는 기술이 이용되었다. Bluetooth가 공식적으로 등장한지 약 16년이라는 세월이 흘렀지만, 여전히 기기간의 무선통신에는 Bluetooth가 사용된다. 하지만, 지금 사용되는 Bluetooth는 기존과는 다른 방식이다. 바로 BLE라는 특징을 가진 Bluetooth인데, 바로 이것이 오늘날 다양한 종류의 웨어러블 디바이스들이 태어날 수 있었던 원동력이 되었다. 그렇다면 BLE라는 것이 도대체 무엇일까?그림1. BLE가 뭐지? 먹는건가?과거부터 기기들간의 무선 연결은 주로 Bluetooth라는 기술을 이용했는데, 이들은 기기간에 마스터, 슬레이브 관계를 형성하여 통신하는 Bluetooth Classic이라는 방식을 이용했다. 사람들이 이러한 기기들을 이용하면서 많이 염려했던 것은 ‘Bluetooth를 연결하면 베터리가 빨리 소모된다’, ‘사용하지 않을 때는 Bluetooth 꺼놓아야지’ 등과 같은 베터리 관련된 문제들이었다. 사실이었다. Bluetooth Classic은 다른 디바이스를 무선으로 연결을 하여 사용할 수 있는 편리함을 주었지만, 연결이 되는 동안에는 베터리를 빠르게 소모시켰기 때문에 사용하는 데에 많은 불편함이 있었다.2010년, 새로운 Bluetooth 표준으로 Bluetooth 4.0 이 채택이 된다. 기존의 Bluetooth Classic과의 가장 큰 차이는 훨씩 적은 전력을 사용하여 Classic과 비슷한 수준의 무선 통신을 할 수 있다는 점이었다. 이는 당시 Bluetooth의 최대 단점이었던 과도한 베터리를 소모 문제를 해결하는 기술이었기 때문에, Bluetooth 관련 업계에 큰 반향을 일으켰다. 이렇게 저전력을 이용하여 무선통신을 하는 특징을 Bluetooth Low Energy (이하 BLE) 라고 부르는데, Bluetooth 4.0 이후의 버전들은 이 용어로 대체되서 불리기도 한다. 최근 출시되고 있는 스마트 밴드, 워치, 글래스 등의 웨어러블 무선통신 기기들의 대부분은 이 BLE 방식을 이용하여 무선 통신을 한다.Bluetooth Smart Ready, Smart, ClassicBLE 기술이 등장하면서 Bluetooth 디바이스들은 아래와 같이 3가지로 분류 되었다.그림2. BLE 3가지 분류Bluetooth 4.0과 함께 새롭게 등장한 Bluetooth Smart Ready, Bluetooth Smart에 대해서 살펴보면,Bluetooth Smart Ready 디바이스는 Bluetooth Classic 및 저에너지 Bluetooth 무선통신 (BLE)을 지원하기 때문에 “듀얼 모드” 라디오라고 불린다. 따라서, 이들은 현재 시장에 나와 있는 수억 종의 Bluetooth 디바이스들에 대한 역방향 호환성을 가진다. 종류에는 스마트폰, 태블릿, PC, TV 그리고 셋탑박스 및 게임 콘솔 등이 있다. 이런 디바이스들은 클래식 Bluetooth 디바이스 및 Bluetooth Smart 디바이스들로부터 데이터를 받아, 이들을 유용한 정보로 변환시키는 Bluetooth 시스템의 허브라고 할 수 있다.Bluetooth Smart 디바이스 내에 있는 라디오는 “싱글모드” 라디오라 불리는데, BLE 연결만을 지원한다는 의미이다. 이들은 기존의 Bluetooth Classic 디바이스들과 호환이 되지 않고 듀얼모드 라디오를 가진 Bluetooth Smart Ready 디바이스 혹은 제조업체에 의해 호환성이 명시된 특정 Bluetooth 디바이스에만 연결이 가능하다. Bluetooth Smart 디바이스들은 ‘우리 집의 창문은 모두 잠겨 있는지’, ‘내 인슐린 농도는 얼마인지’, ‘오늘 내 몸무게는 몇 킬로그램인지’ 등과 같이 특정한 형태의 정보를 수집해, Bluetooth Smart Ready 디바이스로 보내기 위해 만들어진 디바이스이다. 종류에는 심박 모니터, 스마트 손목시계, 창문 및 현관 보안 센서, 자동차 키 체인, 그리고 혈압 팔찌 등이 있다.이 글에서는 BLE를 사용하는 디바이스들이 어떤 과정으로 서로 연결되어 통신을 하는지 그리고 이 과정들을 tracking 할 수 있는 장비인 Ubertooth 에 대해 내용을 정리해서 공유해보고자 한다.2. How they communicate?BLE를 지원하는 디바이스들은 기본적으로 Advertise(Broadcast) 과 Connection 이라는 방법으로 외부와 통신한다.Advertise Mode ( = Broadcast Mode)특정 디바이스를 지정하지 않고 주변의 모든 디바이스에게 Signal을 보낸다. 다시 말해, 주변에 디바이스가 있건 없건, 다른 디바이스가 Signal을 듣는 상태이건 아니건, 자신의 Signal을 일방적으로 보내는 것이라고 생각하면 된다. 이 때, Advertising type의 Signal을 일정 주기로 보내게 된다.Advertise 관점에서, 디바이스의 역할은 다음과 같이 구분된다.Advertiser ( = Broadcaster) : Non-Connectable Advertising Packet을 주기적으로 보내는 디바이스.Observer : Advertiser가 Advertise를 Non-Connectable Advertising Packet을 듣기 위해 주기적으로 Scanning하는 디바이스.그림3. Advertiser and ObserverAdvertise 방식은 한 번에 한 개 이상의 디바이스와 통신할 수 있는 유일한 방법이다. 주로 디바이스가 자신의 존재를 알리거나 적은 양(31Bytes 이하)의 User 데이터를 보낼 때도 사용된다. 한 번에 보내야 하는 데이터 크기가 작다면, 굳이 오버헤드가 큰 Connection 과정을 거쳐서 데이터롤 보내기 보다는, Advertise를 이용하는 것이 더 효율적이기 때문이다. 게다가 전송할 수 있는 데이터 크기 제한을 보완하기 위해 Scan Request, Scan Response을 이용해서 추가적인 데이터를 주고 받을 수 있다 (이에 대해서는 뒤에 자세히 설명한다). Advertise 방식은 말 그대로 Signal을 일방적으로 뿌리는 것이기 때문에, 보안에 취약하다.Connection Mode양방향으로 데이터를 주고받거나, Advertising Packet으로만 전달하기에는 많은 양의 데이터를 주고 받아야 하는 경우에는, Connection Mode로 통신을 한다. Advertise처럼 ‘일대다’ 방식이 아닌, ‘일대일’ 방식으로 디바이스 간에 데이터 교환이 일어난다. 디바이스간에 Channel hopping 규칙을 정해놓고 통신하기 때문에 Advertise보다 안전하다.Connection 관점에서 디바이스들의 역할은 다음과 같이 구분된다.Central (Master) : Central 디바이스는 다른 디바이스와 Connection을 맺기 위해, Connectable Advertising Signal을 주기적으로 스캔하다가, 적절한 디바이스에 연결을 요청한다. 연결이 되고 나면, Central 디바이스는 timing을 설정하고 주기적인 데이터 교환을 주도한다. 여기서 timing이란, 두 디바이스가 매번 같은 Channel에서 데이터를 주고 받기 위해 정하는 hopping 규칙이라고 생각하면 된다.Peripheral (Slave) : Peripheral 디바이스는 다른 디바이스와 Connection을 맺기 위해, Connectable Advertising Signal을 주기적으로 보낸다. 이를 수신한 Central 디바이스가 Connection Request를 보내면, 이를 수락하여 Connecion을 맺는다. Connection을 맺고 나면 Central 디바이스가 지정한 timing에 맞추어 Channel을 같이 hopping을 하면서 주기적으로 데이터를 교환한다.그림4. Central and Peripheral3. Protocol Stack디바이스들은 Bluetooth로 통신을 하기 위한 Protocol Stack을 가지고 있다. 일반적으로 네트워크 통신을 하기 위해서는, 통신을 위한 규약인 Protocol을 정의해야 되는데, 이렇게 정의된 Protocol들을 층층이 쌓아놓은 그룹이 Protocol Stack이다. Bluetooth Signal Packet을 수신하거나 송신할 때, 이 Protocol Stack을 거치면서 Packet들이 분석되거나 생성된다.그림5. Protocol Stack위 그림에서 볼 수 있듯이 Protocol Stack은 가장 아랫단부터 크게 Controller, Host, Application 로 나뉜다. 여기서는 Connection 과정에서 필요한 부분인 Physical Layer, Link Layer, Generic Access Profile(GAP), Generic Attribute Profile(GATT)에 대해서 알아볼 것이다.3.1 Physical LayerPhysical Layer에는 실제 Bluetooth Analog Signal과 통신할 수 있는 회로가 구성되어 있어서, Analog 신호를 Digital 신호로 바꾸어 주거나 Digital 신호를 Analog 신호로 바꾼다. 또한 Bluetooth에서는 2.4 GHz 밴드를 총 40개의 Channel로 나누어 통신을 한다. 40개 Channel 중 3개 Channel은 Advertising Channel 로써 각종 Advertising Packet을 비롯하여 Connection을 맺기 위해 주고 받는 Packet들의 교환에 이용된다. 나머지 37개의 Channel은 Data Channel 로써 Connection 이후의 Data Packet 교환에 이용된다.그림6. Channels3.2 Link LayerPhysical Layer의 바로 윗단에는 Link Layer이 있다. Link Layer은 하드웨어와 소프트웨어의 조합으로 구성되어 있다. 하드웨어 단에서는 높은 컴퓨팅 능력이 요구되는 작업들 (Preamble, Access Address, and Air Protocol framing, CRC generation and verification, Data whitening, Random number generation, AES encryption 등)이 처리되고, 소프트웨어 단에서는 디바이스의 연결 상태를 관리한다. 또한 통신하는데 있어서 디바이스의 Role을 정의하고 이에 따라 변경되는 State를 가지고 있다.RoleMaster : 연결을 시도하고, 연결 후에 전체 connection을 관리하는 역할.Slave : Master의 연결 요청을 받고, Master의 timing 규약을 따르는 역할.Advertiser : Advertising Packet을 보내는 역할.Scanner : Advertising Packet을 Scanning하는 역할. Scanner는 아래와 같은 2가지 Scanning 모드가 있다.Passive Scanning : Scanner는 Advertising Packet을 받고 이에 대해 따로 응답을 보내지 않는다. 따라서 해당 Packet을 보낸 Advertiser는 Scanner가 Packet을 수신했는지에 대해서 알지 못한다.Active Scanning : Advertising Packet을 받은 Scanner는 Advertiser에게 추가적인 데이터를 요구하기 위해 *Scan Request라는 것을 보낸다. 이를 받은 Advertiser는 *Scan Response로 응답한다.Scan Request, Scan Response : Advertising Packet type의 한 종류이다. 앞서, 31bytes 이하의 User data에 대해서는 Advertising Signal Packet에 넣어서 보낼 수 있다고 하였다. 하지만 31bytes보다는 크지만, Commection까지 맺어서 보내기는 오버헤드가 큰 데이터가 있을 때, Scan Request, Scan Response를 이용하면 두 번에 걸쳐서 데이터를 나눠 보낼 수 있게 된다. Advertising Packet을 받은 Scanner는 추가적인 User Data(예를 들어, Peripheral 디바이스의 이름)를 얻기 위해 Scan Request를 보내게 된다. Scan Request를 받은 Advertiser는 나머지 데이터를 Scan Response Signal에 담아서 보낸다.이들은 크게 Connection 전의 역할(Advertiser, Scanner), 후의 역할(Master, Slave)로 분류된다.StateLink Layer는 5가지 State를 가지고 있는데, 각 디바이스는 서로 연결이 되는 과정에서 이 State를 변화시킨다. 다음과 같은 5개의 State가 존재한다.Standby State : Signal Packet을 보내지도, 받지도 않는 상태.Advertising State : Advertising Packet을 보내고, 해당 Advertising Packet에 대한 상대 디바이스의 Response를 받을 수 있고 이에 응답할 수 있는 상태.Scanning State : Advertising Channel에서 Scaning하고 있는 상태.Initiating State : Advertiser의 Connectable Advertising Packet을 받고난 후 Connetion Request를 보내는 상태.Connection State : Connection 이후의 상태.아래 그림은 각각의 State를 Diagram으로 나타낸 것이다.그림7. Link Layer State3.3 Generic Access Profile (GAP)Generic Access Profile (GAP)는 서로 다른 제조사가 만든 BLE 디바이스들끼리 서로 호환되어 통신할 수 있도록 해주는 주춧돌 역할을 한다. 즉, 어떻게 디바이스간에 서로를 인지하고, Data를 Advertising하고, Connection을 맺을지에 대한 프레임워크를 제공한다. 그래서 GAP는 최상위 Control Layer라고도 불린다. Advertising Mode일 때, GAP에서 Advertising Data Payload와 Scan Response Payload를 포함할 수 있다.또한 GAP에서는 BLE 통신을 위해 Role, Mode, Procedure, Security, Additional GAP Data Format 등을 정의한다. 이들은 실제 API와 직접적으로 많은 연관이 있기 때문에 그 내용이 상당히 많지만, 여기서는 BLE Connection과 관련이 있는 Role에 대해서만 알아보겠다.RoleBroadcaster : Link Layer에서 Advertiser 역할에 상응한다. 주기적으로 Advertising Packet을 보낸다. 예를 들면, 온도센서는 온도데이터를 자신과 연결된 디바이스에게 일정주기로 보낸다.Observer : Link Layer에서 Scanner 역할에 상응한다. Broadcaster가 뿌리는 Advertising Packet에서 data를 얻는다. 온도센서로부터 온도데이터를 받아서 디스플레이에 나타내는 테블릿 컴퓨터의 역할이다.Central : Link Layer에서 Master 역할과 상응한다. Central 역할은 다른 디바이스의 Advertising Packet을 듣고 Connection을 시작할 때 시작된다. 좋은 성능의 CPU를 가지고 있는 스마트폰이나, 테블릿 컴퓨터들의 역할이다.Peripheral : Link Layer에서 Slave 역할과 상응한다. Advertising Packet을 보내서 Central 역할의 디바이스가 Connection을 시작할 수 있도록 하게끔 유도한다. 센서기능이 달린 디바이스들의 역할이다.3.4 Generic Attribute Profile (GATT)BLE Data 교환을 관리하는 GATT는 디바이스들이 Data를 발견하고, 읽고, 쓰는 것을 가능하게 하는 기초적인 Data Model과 Procedure를 정의한다. 그래서 GATT는 최상위 Data Layer라고도 불린다. 디바이스간에 low-level에서의 모든 인터렉션을 정의하는 GAP와는 달리, GATT는 오직 Data의 Format 및 전달에 대해서만 처리한다. Connection Mode일 때, GATT Service와 Characteristic을 이용하여 양방향 통신을 하게 된다. Service와 Characteristic에 대한 내용은 여기를 참고하길 바란다.GATT도 Data 처리와 관련해서 다음과 같은 역할을 정의한다.RoleClient : Server에 Data를 요청한다. 하지만 처음에는 Server에 대해서 아는 것이 없기 때문에, Service Discovery라는 것을 수행한다. 이 후, Server에서 전송된 Response, Indication, Notification을 수신할 수 있다.Server : Client에게 Request를 받으면 Response를 보낸다. 또한 Client가 사용할 수 있는 User Data를 생성하고 저장해놓는 역할을 한다.4. Packet TypeBLE 통신에서는 두 가지 종류의 패킷인 Advertising Packet, Data Packet만이 존재한다. Connection을 맺기 전에는 Advertising Packet type, 맺은 후에는 Data Packet type으로 Signal을 생성한다. Data Packet은 하나로 통일되지만, Advertising Packet은 특정 기준에 따라서 다음과 같은 성질들을 갖는다.ConnectabilityConnectable : Scanner가 Connectable Advertising Packet을 받으면, Scanner는 이를 Advertiser가 Connection을 맺고 싶어한다는 신호로 받아들인다. 그러면 Scanner는 Connection Request (이하 CONNECTREQ)를 보낼 수 있다. 해당 Connectable Signal을 보낸 Advertiser는 Scanner가 CONNECTREQ가 아닌 다른 타입의 Signal을 보내면 해당 Packet을 무시하고 다음 Channel로 이동하여 계속 Advertising을 진행한다.Non-Connectable : Non-Connectable Packet을 받은 Scanner는 CONNECT_REQ를 보낼 수 없다. 주로 Connection 목적이 아닌, Data 전달이 목적일 때 쓰인다.ScannabilityScannable : Scanner가 Scannable Advertising Packet을 받으면, Scan Request (이하 SCANREQ)를 보낼수 있다. Scannable Signal을 보낸 디바이스는 Scanner가 SCANREQ가 아닌 다른 타입의 Signal을 보내면 해당 Packet을 무시하고 버린다.Non-Scannable : Non-Scannable Signal을 받은 Scanner는 SCAN_REQ를 보낼 수 없다.DirectabilityDirected : Packet안에 해당 Signal을 보내는 디바이스의 MAC Address와 받는 디바이스의 MAC Address가 들어있다. MAC Address 이외의 데이터는 넣을 수 없다. 모든 Directed Advertising Packet은 Connectable 성질을 갖는다.Undirected : 해당 Signal을 받는 대상이 지정되어 있지 않다. Directed Advertising Packet과는 다르게, 사용자가 원하는 데이터를 넣을 수 있다.위의 내용을 종합하면, Advertising pakcet을 아래와 같이 4가지 type으로 나눌 수 있다.그림6. Advertising Packet Type5. How they really communicate?BLE 통신의 핵심은 ‘timing’이다.Before ConnectionConnection 전, 디바이스는 3개의 Advertising Channel을 이용해서 데이터를 주고 받는다고 했다. 이들은 이 3개의 Channel을 자신만의 time interval로 hopping한다. 서로의 hopping 규칙이 일치하지 않기 때문에 Channel이 서로 엇갈리는 경우가 많을 것이다. 예를 들어, Advertiser는 1번 Channel에 Advertising Packet을 보냈는데, 같은 시간에 Scanner는 3번 Channel에 대해서 Scanning을 하게 되면 데이터 전달이 되지 않는 것이다. 하지만 이러한 hopping이 빠르게 자주 일어나기 때문에, 두 디바이스가 같은 Channel에 대해 Advertising와 Scanning이 발생하는 경우도 많이 생긴다. 이 경우에 서로 데이터를 주고 받을 수 있다.After ConnectionConnection이 되면, Advertising은 종료되고 기기들은 Central, Peripheral 중 하나의 역할을 하게된다. Connection을 개시한 기기가 Central이며, Advertiser가 Peripheral이 된다. 그리고 두 디바이스는 엇갈렸던 hopping 규칙을 통일시킨다. 그렇게 함으로써, 매번 같은 채널로 동시에 hopping하면서 Signal을 주고 받을 수 있게 된다. 이는 둘 간의 Connection이 끊어질 때까지 지속된다.6. How they connect each other?디바이스간의 BLE 연결을 iPhone과 Zikto Walk와의 연결과정으로 설명하면 다음과 같다.1) Zikto Walk가 Advertising Channel을 hopping하면서 Advertising Packet을 보낸다.(Zikto Walk의 Advertising Packet 유형은 ADV_IND이다)2) iPhone Bluetooth를 켠 후, Zikto 앱에 Zikto Walk를 등록한다. iPhone은 Advertising Channel을 hopping하면서 Scan을 하다가 연결하려는 Zikto의 디바이스 이름 등의 추가적인 정보를 얻기위해 SCAN_REQ를 보낸다.3) SCANREQ를 받은 Zikto Walk는 SCANRSP를 보낸다.4) Pairing이 완료되고, Zikto Walk는 다시 Advertising Packet을 다시 일정 주기마다 보낸다.5) iPhone에서 Zikto Walk로부터 걸음 수 등의 Data를 받기 위해 Sync 버튼을 누른다. 이 버튼을 누르면 iPhone은 CONNECT_REQ를 보낸다.6) Zikto와 iPhone은 서로 Acknowledging을 시작하고, timing 정보 등을 동기화 한다.7) Connection이 완료된다.8) Connection이 완료된 후, Service Data, Characteristic Data 등에 대한 Data 교환이 일어난다.9) iPhone과 Zikto Walk간에 Data Sync가 완료되면, Connection이 해제되고, 다시 Advertising Packet을 보낸다. 이를 그림으로 표현하면 아래와 같다.그림6. Advertising Packet Type7. Ubertooth디바이스간 BLE를 이용한 통신 과정에 대해 알고나니, Bluetooth Signal Packet도 Capturing 할 수 있을 거라는 생각이 들었다. 검색을 해 본 결과, 오픈소스 Bluetooth Test tool인 Ubertooth라는 장치로 디바이스간의 BLE 통신을 tracking 할 수 있다는 사실을 알게 되었다. 가격은 100달러로 생각보다 저렴했지만 국내에서는 구매할 수가 없었다. 그렇다고 궁금한 것을 해보지도 않고 포기하는 것은 엔지니어의 마인드가 아니지 않겠는가. 직접 아마존 (www.amazon.com)에서 해외구매를 하였다. 이렇게 바다 건너 멀리서 날아온 Ubertooth를 사용했던 경험을 바탕으로, Ubertooth의 원리와 BLE 통신에 대해서 조금 더 자세히 설명을 해보고자 한다.Ubertooth는 10cm정도의 몸체와 그와 비슷한 길이의 안테나를 가지고 있는 매우 작고 귀여운 모양이다. 이것이 이름하여 Ubertooth!그림8. Ubertooth오픈소스이기 때문에 모든 소스가 공개되어 있고, 소스를 빌드하고 사용하는 방법도 Ubertooth Github 및 Ubertooth Blog에 잘 나와 있어서 사용하기가 수월했다.How it works?Ubertooth는 크게 Bluetooth Classic을 tracking하는 기능과 BLE를 tracking하는 기능으로 나뉘는데, 여기서는 BLE 통신을 tracking 하는 원리에 대해서 다루겠다.BLE는 앞에서 언급했다시피, Connection 전, 후로 통신하는 방법이 다르다. 그리고 위의 내용들을 꼼꼼히 읽은 독자라면 BLE 통신에서 가장 중요하다고 언급했던 timing 이라는 것을 기억할 것이다. timing 은 BLE 통신에서 굉장히 중요한 요소이기 때문에, 보다 더 자세하고 쉽게 설명을 해보겠다.종이컵 전화기를 사용하여 대화를 해야하는 두 사람이 있다. 종이컵 전화기는 총 40개가 놓여져 있다. 이 두 사람은 40개 전화기 중 하나를 사용해서 대화를 주고 받고, 일정시간 뒤에 다음번 전화기를 이용해야 한다. 이러한 커뮤니케이션 방식에서 소통을 하기 위해서는 한 전화기로 얼마만큼의 시간동안 통화를 할 것인지, 다음 전화기는 어떤 전화기를 사용할 것인지, 그리고 어떤 방식으로 자신들의 대화를 다른 사람들의 대화들로부터 구분할 것인지 등에 대해 알아야 할 것이다. 이것들이 위에서 말했던 timing 관련 정보이다.실제 BLE 통신에서 timing 과 관련된 정보들은 다음과 같다 : Access Adress, CRC Info, Hop Interval, Hop Increment (해당 내용들에 대한 자세한 설명은 여기를 참고하기 바란다). BLE 통신을 하는 디바이스들은 이 timing 관련 정보를 동기화하여, Connection이 맺어진 이후에 해당 규칙에 따라 Channel을 hopping하면서 데이터를 주고 받는다. Ubertooth는 바로 이 정보를 알아내어, Master, Slave와 같은 패턴으로 Channel을 hopping하면서 대화를 엿듣는다. 아까 말한 종이컵 전화기에 빗대어 말하면, 제 3자(Ubertooth)가 두 사람이 정한 대화 규칙을 알아내서, 매번 이들이 전화기를 바꿔가며 대화를 할 때 마다 해당 전화기의 대화 내용을 엿듣는 것이다. 굉장히 흥미로운 방법이 아닐 수 없다. 그렇다면 Ubertooth는 어떻게 이 정보를 알아낼까?Before Connection두 디바이스가 연결되기 전, Ubertooth가 timing 관련 정보를 알아내는 방법은 매우 간단하다. Scanner가 Advertiser에게 Connection을 맺기위해 보냈던 CONNECT_REQ을 기억하는가? 공교롭게도 해당 패킷에는 이 네 가지 정보가 전부 들어있다. Ubertooth는 그 정보를 추출해내어 저장해 두고, 그 규칙에 맞게 Channel을 hopping하면서 Signal Data를 전부 엿듣는다.그림9. Ubertooth로 Capture한 CONNECT_REQ packetAfter Connection이미 연결된 디바이스들은 CONNECT_REQ를 보낼 일이 없다. 그러면 Ubertooth는 Connection 이후의 상황에 대해서는 Signal Data를 엿듣지 못하는 것일까? 아니다. Connection 이후의 상황에 대해서 Ubertooth는 다음과 같은 방법을 이용한다.BLE Signal Packet은 Advertise Mode이든 Connection Mode이든간에 무조건 하나의 Signal Packet format만 존재하기 때문에, Packet마다 특정 정보가 존재하는 부분은 어느 Packet에서나 똑같다. 4가지 정보 중 Access Address라는 것은 모든 Signal Packet마다 존재한다. Access Address라는 것은 두 디바이스간의 Unique한 Connection을 나타내는 4bytes 크기의 Identifier로써, CONNECT_REQ를 보내는 디바이스에 의해 랜덤하게 생성된다. Ubertooth는 37개의 Data Channel을 hopping하면서 모든 Data Packet의 Access Address를 추출해내어 Look Up Table 형태로 저장해 놓는다. 그리고는 각각의 Access Address가 등장한 횟수를 세게 되는데, 가장 먼저 특정 횟수만큼 등장한 Access Address를 target으로 잡는다. 나머지 3가지 정보는 각각 추출해내는 방법 및 알고리즘이 따로 존재하는데 해당 내용도 위에 언급한 사이트에 잘 나와있다. 이렇게 해서 네 가지 정보를 알아낸 Ubertooth는 두 디바이스와 같은 패턴으로 Channel을 hopping하면서 Signal Data를 엿듣는다.그림10. Ubertooth로 Capture한 Aceess Address과 나머지 3가지 정보들이렇게 보면, Ubertooth로 모든 것을 할 수 있을 것처럼 보이지만, 몇 가지 한계점이 있기도 하다. Ubertooth가 timing 관련 정보를 얻어내는 과정에 대해 다시 한 번 생각해보길 바란다. 잘 모르겠다면, 직접 Ubertooth 구매하여 테스트를 해보는 것도 엔지니어로써 굉장히 좋은 경험이 될 것이다.8. ConclusionBLE 통신과 이를 tracking하는 Ubertooth에 대해서 알아보았다. 매우 장황한 내용처럼 보이지만 이것도 매우 압축해서 설명한 것이다. 하나하나 디테일하게 쓰기 보다는 BLE를 처음 접하는 사람이 최대한 이해하기 쉽도록 작성하는 것에 초점을 맞추었다. 위의 내용들을 바탕으로, 독자들이 BLE에 더 넒고 깊은 지식을 얻게 되었으면 하는 바램이다. 글을 읽으면서 Bluetooth Classic은 어떻게 통신하는지에 대해 궁금하신 분들도 있을거라 생각한다. 이에 대해서 간단히 언급하자면, Bluetooth Classic 통신 방식은 BLE보다 훨씬 더 복잡하다. BLE에 대해서 어느 정도 알게 되었다면, Bluetooth Classic에 도전해보는 것도 괜찮을 것이다. BLE내용과 관련해서 보충이 필요한 내용이나, 관련 경험 혹은 궁금한 점 등에 대해서 아낌없이 조이와 공유해주길 바란다.9. ReferenceAkiba, “Getting Started with Bluetooth Low Energy: Tools and Techniques for Low-Power Networking”, O’Reilly Media(2015)http://www.slideshare.net/steveyoon77/bluetooth-le-controllerhttp://www.hardcopyworld.com/ngine/aduino/index.php/archives/1132https://www.bluetooth.org/ko-kr/bluetooth-brand/smart-marks-faqshttp://trvoid.blogspot.kr/2013/05/ble.htmlhttp://blog.lacklustre.net/posts/BLEFunWithUbertooth:SniffingBluetoothSmartandCrackingItsCrypto/#조이코퍼레이션 #개발팀 #개발자 #개발환경 #업무환경 #인사이트 #경험공유
조회수 1432

플랫폼 기획에 대한 생각들

5월부터 크고작은 프로젝을 하면서 생각해본 것들을 쭉 정리해 봤다. 답을 찾은 문제도 있고 확인되지 않은 가설도 있다.헤게모니 싸움- 서비스 이용자가 서비스 제공자를 고를 수 있게 하는 게 맞을까? 아니면 그냥 결제만 하면 우리가 알아서 알맞은 사람을 보내는 게 나을까?- 서비스 제공자를 고를 수 있게 할지 말지는 서비스 요금 표준화와 연결되는군. 서비스 제공자 간 차이를 인정하지 않고 요금을 표준화해볼까? 구매전환율은 높아질 거 같다.- 아니야! 서비스 제공자들이 같은 서비스를 제공하는 건 말이 안 되지. 객관적인 기준을 정하고 이에 따라 분류해서 서비스 요금을 차별화해보자. 근데 이렇게 하면 잘 팔리는 서비스 제공자만 팔리고 좀 떨어지는 사람은 안 팔릴 텐데?- 서비스 공급자를 고를 수 있다면 서비스 공급자의 객관적인 등급과 퀄리티에 따라 요금 차별화를 두는 것이 맞지 않을까?- 서비스 공급자는 넘쳐나고, 서비스 수요자가 소수라면.. 수요자가 갑이고 공급자는 을이 되겠군.- 이렇게 갑과 을이 명확하고 서비스 공급자가 넘쳐난다면, 서비스 공급자에 따른 요금 차별화를 통해서 고객에게 선택할 권리를 줘야 하지 않을까? 갑인 서비스 수요자를 잡아야 하니깐 당연히 그래 보인다.- 서비스 공급자의 차이를 인정하고 수요자가 공급자를 고를 수 있게 한다면 , 서비스 공급자들은 적극적으로 플랫폼에서 경력을 쌓고, 소비자에게 어필하기 위해 노력할 것임. 이는 플랫폼에서의 신뢰도를 쌓기 위한 공급자의 노력에 의해 평균 서비스 퀄리티가 높아지는 선순환의 고리가 시작된다.- 서비스 공급자의 퀄리티, 프로세스를 완벽히 통제하고 표준화할 수 없다면, 수요자는 공급자를 고를 수 있게 하는 것이 맞다.- 서비스 공급자의 서비스 가 표준화되지 않은 상태에서 일괄적인 배정을 하게 되면 엄청난 operation cost가 발생하는 것이 불 보듯 뻔함.- 홈클은 매니저간 서비스 퀄리티 차이가 분명 있었지만, 매니저의 절대적인 숫자가 부족해서 어쩔 수 없이매니저를 선택할 수 없는 방법을 택함. 서비스 퀄리티를 운에 맡길 수밖에 없었음. 지금 생각해 보면 Taskrabbit 모델이 우리나라에선 더 맞을지도 모른다.- 서비스 공급자가 넘쳐나고 , 서비스 수요자가 소수인 경우 수요자가 공급자를 고를 수 있게 하고 공급자의 등급이나 실력에 따라 요금에 차별화를 두는 게 효율적으로 작동할 거 같다. 검증이 필요하다.- 공급자에게는 플랫폼 상의 매칭 횟수, 리뷰, 평점 등 명확하고 신뢰할 수 있는 객관적 기준이 필요하다.- 등급에 따른 공급자의 임금 상한액과 혜택을 차별화하는 것도 좋은 방법이군.- 객관적이고 신뢰가 가는 공급자의 등급 설정은 수요자에게는 플랫폼에 대한 신뢰감을 주고, 공급자의 서비스 퀄리티를 컨트롤할 수 있는 강력한 방법이 된다. 이건 가설 검증.- 공급자에게 오랜 기간 동안 플랫폼을 통해 쌓인 리뷰와 reputation은 선생님에게 매우 귀중한 자산이 된다. (에어비앤비 참고) 자산이 생기면 플랫폼에서의 이탈이 힘들어짐.비즈니스 모델- 플랫폼의 '핵심 operation'을 통해서 수익을 낼 수 있어야 단단한 플랫폼으로 성장 가능. 적어도 플랫폼 수수료는 25%는 넘어야 한다. 엑셀 몇번 돌려보면 이는 명확함.- 플랫폼의 성장을 위해서는 당연히 공급자들이 돈을 벌어야 한다. 이건 여러 차례 증명되어온 사실.  - 과금은 ‘을 사이드’ 에게 하는 것이 수월함. 을 사이드가 돈을 버는 사이드라면 더욱더 수월하다.- 수요자와 공급자가 업의 특성상 가까워지기 쉽다면, 매 건당 수수료 부과는 플랫폼 이탈을 부추길 수 있다.- 공급자가 플랫폼을 통해 자신의 서비스에 대한 객관적인 사실 (매칭 횟수, 리뷰수, 긍정적 리뷰%)과 수요자의 주관적인 평가를 쌓아나갈 수 있고, 이를 통해 자신의 reputation을 쌓아서 안정적으로 돈을 벌게 된다면 거리낌 없이 플랫폼에 돈을 낼 것이다.- 수요자의 진짜 리뷰, 자신의 등급 등 자신을 어필할 수 있는 내용을 블로그 형식의 팝업창을 잠재적 수요자에게 노출하면서 공급자 자신이 ‘일감 구인중’이라는 사실을 알릴 수 있는 권한을 얻으려면 돈을 내야 하는 과금 체계가 합리적으로 작동할 듯. (월 단위 과금)3달간 경험을 통해서 느낌.'내'일을 하고 싶다.#삼분의일 #기획 #기획자 #인사이트 #경험공유 #조언 #BM #비즈니스모델
조회수 1328

대만에서 한국으로 온 비투링크 '슈퍼맨' 양제가님을 소개합니다 :)

안녕하세요, 미나 입니다 :)비투링크에서는 매 달 1명의 '이달의 비투링커' 를 선정합니다!6월의 비투링커는 누규? 그 누구보다도 한국을 사랑하고,그 누구보다도 성실하고,그 누구보다도 긍정적인 6월의 비투링커는 바로!!▼▼ 먼저, 아리따운 4명의 비투링커들의 추천영상을 보시죠! ▼▼갈수록 발전하는 추천영상의 퀄리티 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 엄지척!!! b b b6월의 비투링커는 바로,참 좋은 인상을 가진 양제가 님입니다 ♥제가님은 대만에서 오셨어요:)한국어가 아직은 서툴지만,한국을 너무 사랑하고, 또 항상 '노력' 하는 제가님!! !*~*그런 제가님을 제가 직접 만나봤습니다*~*! 안녕하세요, 저는 Brand Sales Division 내 중국 온라인채널팀에서'VIP.com' 이라는 채널을 담당하는 양제가 입니다!제가 하는 업무는 채널 내 재고와 매출모니터링, 분석 및 상품측정과 제안, 채널이벤트 기획과 협의, 매출결산 등 전반적인 채널 매니지먼트 업무를 하고 있습니다 ^_^소감... 기분 정말로 좋습니다!!!!영상을 봤을 때, 첫느낌은 '마징가 Z' 만화가 생각났어요 ㅋㅋ근데 제 얼굴이 딱 보이길래 깜짝 놀랬어요. 왜냐면, 진짜로 1도 상상을 못했거든요!팀원들이 없었으면, 제가 이런 상을 받을 수도 없었을거에요. 그리고 제가 한국말이 서툴어서, 미리 알았다면 ㅋㅋ 앞에나가서 소감멘트를 준비했을텐데..너무 놀래서 제대로 말을 못한거 같아서 아쉬워요 :(제가님이 속해있는 BSD ♥인터뷰 전에도 미리 질문을 전달해주면, 어떻게 말할지 준비하겠다고 하셨던 제가님!! 인터뷰 당일 날, 프린트까지 해서 오셨다죠 :)팀원들은 제가님을 '부지런한 새' 로 표현해요! 비투링커들 중에 가장 먼저 출근하고, 가장 늦게 퇴근하고, 또 매일 점심시간을 쪼개 업무를 하시느라 김밥을 드시는 제가님 ㅠㅠ 여기에 대한 제가님의 생각은 어떠신지 궁금했어요!저는 원래 아주 일찍 일어나는 아침형 인간이에요 :)심지어 출근을 안하는 주말에도 늦잠을 자는 일이 별로 없어요!우선은 일어나면 일찍 회사에 와서 하루를 시작하기전에 오늘 해야할 일을 정리하고,또 제 자신에게 조용히 저만의 시간을 주는 걸 즐겨요!그리고, 제가 점심 때 김밥을 먹는 건 다 이유가 있어요~~시간이 없지만, 그 틈을 타 '건강' 을 챙기기 위해서인데요. 김밥은 여러가지 야채를 선택해서한번에 먹을 수 있잖아요. 참치, 야채, 우엉이 같이 들어간 걸 젤 좋아해요 :) 저 같은경우에는 매일 커뮤니케이션 해야하는 유관부서가 정말로 많아요.중국 채널, 온라인, BM, 물류 등 실시간 소통이 필요하고,또 그걸 빠르게 대처해야하기 때문에 시간이 여유롭지 않아요.그래서 점심시간을 틈타 생각을 정리하는 시간을 가져요.밥을 먹고나면 '소화' 할 시간이 필요한 거 처럼,저에게는 '한국어' 를 사용할 때, 충분히 '소화' 할 수 있는 시간이 필요한거죠. 제가 한국에 온지 아직 1년이 안됬어요!그래서 지금은 주말에 한국에 대한 공부를 합니다 :)'한국어 능력시험' 공부 뿐만 아니라, 글쓰기연습을 합니다!또, 한국에 대한 '외국인을 위한' 책을 읽기도해요.(한국의 지리, 간단한 현대사 등)제가님이 공부하는 책들 :)와! 그런책이 있는지 전혀 몰랐는데요. 제가님이 저보다 더 잘 아시는거 아닌가요? ㅋㅋㅋ그 외에는 저 농구하는 거 좋아요 !!제가 캐나다에서 대학을 나왔는데, 그때 만났던 한국친구랑일주일에 한번 씩 한강공원에서 농구합니다 :) 매주 같이 농구하는 친구와 제가님 :)제 컵별명은 "곧! 한국인" 입니다 :)이거만 보면, "이 사람은 외국인이구나." 라고 알 수 있겠죠? ㅎㅎ예전에 캐나다에서 유학을 했는데, 학교와 기숙사에서 한국친구들의 도움을 정말 많이 받았어요! 그리고 한국인들의 애국심과 단결심이 인상적이었다고 할까요?그때부터였던거 같아요. 대학을 졸업하고, 꼭 한국에서 취업해야지를 느꼈어요 :)지금은 한국에 취직해서, 한국문화를 즐기면서 열심히 살고 있습니다 :)저는 작년 8월 16일에 입사했어요!제가 정확하게 이 날을 기억하고 있는 이유는, 제 인생의 마일스톤 (milestone) 이기 때문이에요.처음으로 혼자 외국으로 와서 취직도하고, 제가 꾸는 꿈의 첫번째 단계로 들어온 날이니그 날은 정말로 잊을 수가 없네요 :)제가 제일 좋아하는 브랜드는 '파파레서피'예요 :)신기하게 대만에 있을 때부터 파파레서피를 정말 좋아했어요!근데 비투링크에 입사하고, 또 제가 'VIP' 라는 채널을 담당하면서브랜드에 대한 애정이 더욱 더 커졌습니다. *~*~!![이미지출처: 네이버 블로그] 파파레서피 봄비 꿀보습 클렌저봄비 꿀 보습 클렌저가 좋은 이유 3가지!(1) 풍성하고 쫀쫀한 거품! (거품이 많아서 젤 좋아요)(2) 세수하고나서고 당기지않고 촉촉!(3) 저 같은 지성피부에 딱 좋은 딥클렌징 + 노폐물제거 가능!이전에 파파레서피 행사에 갔을 때 찍은 사진!제가 올해 10월에 한국어 능력시험을 봐요 :) 한국어 능력시험은 가장낮은 1급부터 6급까지 있어요!작년에 5급을 땄는데, 올해는 가장 높은 6급을 따는 게 목표입니다 !!!더해서, 계속해서 '한국' 이라는 나라에 대해 공부할거에요! ♥제 꿈은 '한국으로 귀화' 하는 것입니다 :)저는 남들보다 대학을 좀 늦게 졸업했어요.대학을 다니면서 졸업 후에 꼭 '한국' 으로 가서 일하는 꿈을 가지고 열심히 노력했어요!그리고, 지금 현재 저는 그 꿈을 이뤘고, 더 나아가기위해서 매일 노력하고 있어요 :)그래서 전 요즘 매일매일이 행복하고 감사하다는 생각을 가져요.아참. 기쁘다는 말보다 더 기쁘다는 표현이 뭐가있죠?"기쁘다" 그 이상의 기분이에요! :) 꿈을 이루기 위해서 하루하루 열심히 노력하는 제가님의 이야기를 들으면서, 제 자신에 대해서도 큰 동기부여가 되는 시간이었습니다 :) 제가님 감사해요 ♥#비투링크 #팀원 #팀원소개 #팀원인터뷰 #팀원자랑 #기업문화 #사내문화
조회수 370

금요일의 해커톤

안녕하세요. 엘리스입니다!지난 8월 말, 엘리스의 야심 찬 첫 해커톤이 있었습니다. 이번 해커톤은 매주 금요일 찾아가는 문제 ‘금요일에 코딩하는 토끼’에 대한 수강생 여러분의 성원에 힘입어 개최되었습니다.주제는 ‘코딩 문제의 A에서부터 Z까지 직접 설계하고 제작한다.’ 해커톤에서는 아이데이션 단계에서부터 문제 기획과 코딩, 채점을 위한 그레이더 제작까지 코딩 문제의 모든 것을 다루었습니다. 물론 실제 문제 동작을 위해 실행과 채점을 반복하며 디버깅하여 완벽한 실습 문제를 만드는 것 역시 이번 경연의 핵심이었는데요.이를 통해 모든 참가자 여러분들은 일일 엘리스 아카데미 실습 문제의 출제자가 되었습니다. 어떤 과정을 거친 어떤 결과물들이 있었을까요?해커톤 현장 스케치해커톤의 소개를 경청 중이신 참가자 여러분.지금까지 프로그래밍 문제를 많이 풀어보셨을 여러분이, 반대로 문제의 출제자가 되어 문제를 구성하는 관점에서 생각해보고 채점 방식까지 고민해본다면 프로그래밍에 대한 이해도를 더 높일 수 있을 것이라는 기대로 이와 같은 해커톤이 기획되었습니다. 교육자로서 엘리스 플랫폼의 다양한 기능을 직접 이용해볼 수 있는 것은 일석이조의 이점이었죠!경직된 분위기를 깨고 뇌를 말랑말랑하게 만들기 위한 아이스 브레이킹 시간은 팀 대항전으로 진행되었습니다.간단한 코딩 문제를 가장 먼저 맞히는 팀이 점수를 얻는 스피드 코딩 게임을 통해서 순발력을 높이고, 잠시 후 해커톤에서 본격적으로 사용하게 될 엘리스 플랫폼과 친해질 시간도 가질 수 있었습니다.'그림 그리기 게임'에서는 각 팀 디자이너들의 창의력이 폭발! 개발과 관련된 온갖 단어들을 1초 만에 그림으로 표현해야 하는 설명자의 재치와 크로키 실력(?)이 강조되었던 순간이었는데요. 승자는 '오즈'팀! 모두 오즈 팀 디자이너의 그림 실력에 입을 다물지 못했다고 합니다.게임을 하는 동안 어느새 어색했던 처음의 분위기가 파괴되었습니다. ^^ 1시간 동안 문제의 초안을 기획하는 시간이 주어지고, 이어 각 팀의 아이디어 발표 시간이 있었습니다.해커톤의 룰은 아래와 같았는데요.실행 가능한 프로그래밍 문제 1개 출제.동화를 모티브로 한 문제 스토리를 기획.채점 가능한 그레이더 제작.모든 팀들이 알고리즘 문제를 기획해주셨습니다. 동화의 서사구조를 논리적으로 단순화하거나 변형하여 알고리즘 문제에 녹여낸 과정이 인상적이었습니다.아이데이션 단계에서는 문제의 완성된 모습이 전부 그려지지는 않았지만 많은 고민의 흔적과 창의적인 생각들을 엿볼 수 있어 이로부터 탄생될 프로그래밍 실습을 기대할 수 있었습니다.밤샘 코딩 중...우승 문제 소개기획하고 코딩하고 디자인을 하다 보니(!) 어느새 날이 밝아왔습니다. 이제 남은 것은 팀별 결과물 발표와 우승팀 시상 뿐!'금코토'를 패러디하여 팀 명을 지어주신 어린 왕자 팀. /* prince */로고까지 깨알 섬세!모든 팀이 각기 다방면에서 강점을 부각하는 문제를 출제해주셨기 때문에 우열을 가리기 어려웠는데요. ‘금코토’배 해커톤이라는 이름에 걸맞게 금코토 과목의 취지와 가장 부합하는 문제를 출제한 팀에게 가산점을 주어 우승팀을 선발하였습니다. 그 결과 대망의 우승 문제는...거울나라의 앨리스팀의 ‘케이크와 병’ 단순한 명료한 문제 구성과 초등학생도 이해할 수 있는 쉽고 친절한 프레젠테이션으로 인상 깊었던 문제였습니다. 완성도, 문제 활용도 면에서 금코토 문제를 능가하며 단순하면서도 재미있게 풀 수 있는 문제라는 심사위원들의 평가가 있었습니다. 우승팀인 거울나라의 앨리스 팀 전원에게는 엘리스 굿즈를 선물로 보내드립니다. :)이밖에 겁쟁이 사자를 동물의 왕으로 만들기 위해 용기의 성을 짓는 알고리즘 문제를 낸 오즈의 마법사 팀의 문제는 스토리에 착안하여 자칫 복잡해질 수 있는 내용을 세세한 문제 설계로 극복하려 했던 점이 우수하게 평가받았습니다. 술주정뱅이 별에 사는 만취한 아저씨를 옮기는 알고리즘 문제를 낸 ‘목요일에 코딩하는 어린 왕자’ 팀은 참신성과 '넓이 우선 탐색', '깊이 우선 탐색', '다익스트라 알고리즘'을 모두 공부해볼 수 있도록 한 문제 구성 면에서 높은 평을 받았습니다.큰 상품도 내걸지 않았던 첫 해커톤이었는데도 참가자분들 모두가 열과 성을 다해 밤을 새워 문제를 만들어 주셨습니다. 모든 참가자 여러분들께 감사의 말씀 전합니다. :) 해커톤 이후 진행한 설문 조사에서 100%의 확률로 모든 분들이 다음 해커톤에 재참가 의사를 밝히셨는데요. 모두 첫 해커톤을 즐겨주셨던 것 같네요. 엘리스에서는 앞으로도 해커톤을 지속적으로 개최할 예정입니다. 코끝 시려질 때쯤 더욱 풍성하고 유익한 기획의 해커톤으로 찾아뵐 예정이니 많은 관심 가져주세요!*금코토 — ‘금요일에 코딩하는 토끼’라는 엘리스 아카데미 과목의 줄임말. 매주 금요일 저녁때쯤 업로드되는 문제로, 특정 루트로 토끼가 움직이도록 코딩해야 하는 콘셉트와 귀여운 휴보 래빗이 특징입니다. >>문제 풀어보기(무료)
조회수 1742

연애의 과학의 미션

연애의 과학의 미션"우리는 사람들이 더 나은 연애를 하도록 돕는다"#1 연애: 왜 연애인가?연애는 정말 중요하니까요! 연인은 우리에게 가장 가까운 존재이자 내 행동과 감정을 결정하고, 나의 성장의 기폭제가 되기도 해요. 그래서 우리는 연애에 많은 시간과 관심을 들이고, 그만큼 연애가 우리 삶에서 물리적으로나 심리적으로나 큰 비중을 차지하게 되죠.무엇보다 '사랑하는 사람과의 관계'는 우리의 행복에 큰 영향을 미쳐요. 심지어 우리의 건강과도 관련이 있죠. 하버드 대학에서 75년에 걸쳐 사람들의 일생을 추적한 결과, 행복은 부나 명예, 혹은 열심히 노력하는 것에 달려있지 않았다고 해요. 우리를 건강하고 행복하게 만드는 것은 다름 아닌 '좋은 관계를 맺고 있는지' 여부였죠. 주변 사람들과 건강한 관계를 맺고 있는 사람들은 행복지수가 높았을 뿐 아니라, 노년기에 훨씬 더 건강했다고 합니다.“Good relationships keep us happier and healthier.” - Robert Waldinger#2 돕는다: 왜 도움이 필요한가?연애는 정말 복잡하고 어렵거든요! 하지만 대부분의 사람들은 그렇게 생각하지 않아요. 아래의 세 가지 사례들은, 연애를 너무 쉽고 단순하게 생각해서 발생하는 대표적인 문제들이에요.문제 사례 1: Naive RomanticismNaive Romanticism이란, 괜찮은 사람을 만나 사랑하기만 하면 관계에 아무 문제가 생기지 않을 거라는 믿음이에요. 그래서 관계에 문제가 생기는 원인은 그 사람이 이상해서, 아니면 그 사람은 괜찮지만 그 사람이 날 사랑하지 않아서, 혹은 둘 다라고 생각하곤 하죠. 혹시 연인하고 싸웠을 때 주변에서 이런 말 들어본 적, 많지 않나요?“그 사람 좀 이상한 사람이네!”“그 사람은 너를 별로 안 사랑하는 것 같은데?”그러나 아무리 괜찮은 사람을 만나도, 아무리 서로 사랑해도 연인 관계에서 문제는 생기기 마련이에요. 연애는 생각보다 훨씬 복잡하고 문제의 원인도 그리 단순하지 않은 경우가 많거든요. 한번도 싸우지 않아야만 좋은 관계인 것이 아니라, 싸웠을 때 그 상황을 현명하게 극복할 수 있는 것이 중요한 거죠!문제 사례 2: Naive RationalismNaive Rationalism이란, 친밀한 관계는 늘 합리적으로 작동한다는 믿음이에요. 예를 들어 누군가를 사랑하는 이유는 반드시 명확해야 한다거나, 연인 관계에서 누군가 손해를 보는 건 잘못됐다는 류의 생각들이죠. 즉 연인과 같은 친밀한 사이를 마치 합리적이고 공평한 거래 관계처럼 생각해서 발생하는 잘못된 믿음인 거예요.“내가 연애를 못하는 이유는 외모 때문이야.”“왜 내가 더 희생해야 돼?”하지만 사람과 사람의 관계는 항상 합리적으로 작동하지 않아요! 특히 친밀한 관계일수록 말이죠. 누군가와 사랑에 빠지고 그 관계를 이어나가는 과정은 매우 비합리적이기 쉬워요. 예컨대 외모가 별로거나 내 이상형과 어긋나는 사람인데도, 아주 사소한 순간을 계기로 호감을 느끼기도 하죠. 또 내가 연인에게 좀 져주거나 손해를 봤다고 해서 상대방도 날 위해 똑같이 희생해줘야 하는 것도 아니고요. 그렇게 계산적이고 합리적으로 작동하는 건 연인이 아니라 거래 관계일 뿐이에요.문제 사례 3: Naive Confidence마지막으로 Naive Confidence란 연애는 '하다보면 그냥 저절로 잘 되는 것'이라는 믿음이에요. 굳이 연애를 위해 뭔가를 배우거나 노력하지 않아도, 운명처럼 나와 정말 잘 맞는 사람이 나타난다면, 내가 진심으로 사랑하기만 하면 저절로 행복한 연애를 하게 될 거라고 믿는 거죠. 그래서 내 연애에 도움을 받을 수 있는 글 같은 건 따로 없다고 생각해요.“그냥 진심으로 대하면 되는 거지.”“언젠가 나랑 진짜 잘 맞는 좋은 사람이 나타날 거야!”“연애를 글로 배운다고?”그렇지만, 정말 중요하고 어려운 문제가 저절로 풀리는 걸 본 적 있나요? 끊임없이 고민하고 좋은 해결책을 찾기 위해 노력해야 될까 말까 하죠. 그 과정에서 당연히 조언이나 도움이 필요하구요. 그래서 우리는 연애의 과학을 통해 많은 사람들이 행복한 연애를 오래오래 할 수 있도록 돕고 싶고, 무엇보다 그게 정말 가치 있는 일이라고 생각해요!#3 우리: 왜 우리인가?정리하자면 연애는 정말 중요하고, 또 복잡하고 어렵기 때문에 도움이 필요해요. 그래서 연애의 과학 컨텐츠팀은 어떻게 하면 사람들의 연애를 더 잘 도와줄 수 있을지 고민 또 고민했어요. 그 결과 우리는 다음 세 가지 요소를 모두 갖춰야 한다는 것을 깨달았어요. 우리는 사람들의 행복한 연애를 돕기 위해, 신뢰와 인사이트, 그리고 실용성을 갖춘 컨텐츠를 만들고 그에 대한 탄탄한 지식과 노하우를 가지고 있죠!💪신뢰 : 글의 내용을 믿을 수 있는 컨텐츠아무리 인사이트가 깊고, 아무리 실용적인 내용이라도 신뢰할 수 없다면 결국 쓸모가 없겠죠. 우리의 미션은 사람들의 연애를 돕는 것인데, 만약 우리의 컨텐츠가 아무런 근거가 없는 내용이라면 과연 도움이 된다고 할 수 있을까요? 그러므로 ‘신뢰’는 연애의 과학 컨텐츠의 기본적인 조건이에요. 우리는 컨텐츠의 신뢰성을 확보하기 위해 심리학 논문을 바탕으로 최대한 객관적이고 논리적인, 그리고 충분한 근거가 있는 내용을 전달하려 노력하고 있어요.💡인사이트 : 연애와 관계에 대한 깊은 깨달음을 주며, 근본적인 관점을 변화시키는 컨텐츠생각이나 관점을 바꾼다는 건 단순히 새로운 정보를 하나 전달하는 걸로는 부족해요. 현상의 근본적인 원리와 매커니즘을 건드려야 하죠. 인사이트가 없는 컨텐츠는 그냥 사실을 전달하는 뉴스일 뿐이에요. 당연하고 뻔한 말이라고 느껴질 수 있고, “나는 아닌데?”라는 반응이 나오기 쉽죠. 그래서 우리는 누구나 말할 수 있는 당연한 이야기를 하고 싶지 않아요. 쉽진 않지만 피상적인 현상이 아닌 근본 원인을 알아내서, 사람들이 연애를 새로운 관점으로 바라볼 수 있게끔 하는 컨텐츠를 만들려고 하죠!👍실용성 : 내가 무엇을 해야할 지 명확히 알려주고, 관계에 실질적인 변화를 일으키는 컨텐츠신뢰와 인사이트가 좋은 글을 위한 기본 요소라면, 실용성은 그 좋은 내용을 내 삶에 실제로 적용할 수 있게 만드는 요소에요. 실용성이 없다면 “내용은 좋은데, 그래서 난 이제 어떻게 해야 하지? 뭘 하면 되지?”라는 생각이 들고 마치 딴 세상 얘기처럼 느껴질 수 있거든요. 그래서 우리는 논문에서 발견한 유용한 인사이트를 전달하는 것을 넘어서, 독자들이 직접 실천할 수 있는 구체적인 조언이나 팁도 함께 제시하고자 해요.그래서 연애의 과학 팀의 미션은"우리는 사람들이 더 나은 연애를 하도록 돕는다"에요.사람들이 연애의 과학을 통해 자신의 매력을 잘 발견하고 이해한다면, 두려움을 떨치고 솔직한 마음을 고백할 수 있게 된다면, 연애 초반의 롤러코스터를 잘 극복한다면, 서로가 어떤 사람인지 충분히 이해하고 결혼하게 된다면, 만족스러운 섹스를 오래오래 즐기게 된다면, 자기 자신을 더 깊게 이해할 수 있다면... 정말 의미있고 가치 있는 일 아닐까요?
조회수 1260

Humans of TODAIT : CTO 유병한을 만나다

어느 화창했던 3월, ‘Humans of TODAIT’ 의 첫 주인공인 투데잇 CTO 유병한을 만나봤습니다. 투데잇 핵심엔진인 그의 이야길 함께 들어볼까요?Q. 자기소개 부탁드려요.안녕하세요! 투데잇에서 CTO를 맡고 있는 유병한입니다. ‘SW 마에스트로’라는 과정에서 대표님과 좋은 인연이 되어 투데잇의 전신인 투데잇브레이커부터 지금까지 열심히 개발중입니다. 안드로이드분야에 관심이 많아서 시작하게 되었는데, 차츰 기술 스펙을 확장해 나가면서 서버개발부터 최근엔 iOS 개발까지 맡고 있습니다.Q. ‘꿈을 향한 오늘, 투데잇’ 이라는 슬로건처럼 CTO님의 꿈에 대해 들을 수 있을까요?제겐 두가지 꿈이 있는데요, 먼저 투데잇이라는 서비스 자체에 대해선 전국민 앱으로 거듭나고 싶어요. 기존 교육관련 산업에서 우뚝 솟을 수 있는 서비스가 되고 싶은데요, 공부하는 사람의 입장에서 처음부터 끝까지 도움을 줄 수 있는 서비스를 제공하고 싶어요. 그래서 ‘저 사람이 일하는 투데잇은 일하기 좋은 회사다!’ 라던가 ‘성장하기 좋은 회사!’라는 인식을 주고 싶어요! 여러사람들을 심쿵!하게 만들고 싶습니다(웃음)음.. 그리고 제 개인적인 꿈으론 진짜 언젠간 해보고 싶은건데, 다큐멘터리 내셔널 지오그래픽급의 사진작가가 되고 싶어요.이래저래 심쿵하는 사람이 되고, 심쿵하게 만드는 서비스를 제공하고 싶습니다.Q. ‘개발자’로서의 시작은 어땠나요?음 제가 처음부터 개발자가 되고 싶단 생각은 안했어요. ‘개발’과 인연의 끈이라고 되짚어본다면, 아마 어릴 적에 접했던 나모웹에디터로 홈페이지 만들기?였던 것 같아요.그리고 수시를 과감하게 버리고 제가 즐겁게 할 수 있었던 컴공이나 관련 학과로 찾다보니 지금의 과에 입학하게 되었어요. 대학교와서도 다양한 학교 수업 중 개발 관련 수업을 맛보면서 ‘아 이게 나한테 맞겠구나!’ 싶어서 본격적으로 공부했어요.(Q. 앗, 그럼 ‘개발자’라는건 갑작스러운 전환이었나요? )그렇다고 해서 아주 갑작스럽진 않았어요. 학생때 사진찍는걸 즐겨서 색감에 대한 거라던가 화면에서의 구도에 대한 이해같은게 높았거든요. 학과에서 배웠던 다양한 편집툴들이 지금의 UI 센스에 발판이 되지않았나 생각해요.어느 순간 하나가 쓸데없던 적은 없었던 것 같아요. 자그마한 순간순간들이 지금의 저로 만든 것 같아요.Q. 본인이 맡은 업무에 대해 어떻게 접근하나요?일단 맡은 분야에 대해서도 그렇고 제가 욕심이 좀 많아요(웃음) 내가 잘하고 싶은 욕심, 가지고 싶은 욕심이 여러 힘든 과정을 이겨낸 원동력이 아닐까 생각해요.Q. 예를 들면 어떤 경험이 있나요? 조금 더 자세하게 듣고 싶어요!음.. 아 이건 좀 비밀인데 중학교때 사진을 찍게 되었는데 보통 그냥 똑딱이카메라쓰던 시절이었거든요. 그런데 DSLR이 너무 가지고 싶어서 조르기도하고 한푼두푼 모으기도해서 결국엔 DSLR을 손에 넣었어요. 되게 사소한것 같지만 나름 원하는걸 얻어낸 뜻깊은 추억이죠. 뭐든 전문가처럼 해야겠단 욕심이 강한 것 같아요.(Q. 오.. 그런데 책상에 책이 되게 많이 쌓여있네요? )책을 쌓아두는게 사실 좀 최근 관심이 가진 프로그래밍 언어라던지 관심이 가는거 위주로 가져다 놓긴 했어요. 아이폰 관련 서적이 몇개 있는데, (이제 세달 정도) 레퍼런스로 많이 찾아보기 위해서 책들이 상시대기하고 있어요. 2–3권. 스위프트라는 언어를 배우면서 기존의 코틀린 자바 스크립트 등 다양한 관심이 생겨서 , 언어들에 대한 욕구가 좀 큰 요즘입니다~(웃음)Q. 일을 하다보면 힘든 순간도 많았을 것 같아요.힘든 순간은 매순간인것 같아요(하하) 그래도 진짜 엄청 힘든 순간이 있었는데 제겐 ‘아버지’가 되게 큰 힘이 되주셨어요. 아버지께서 목사님이시거든요. 평생 부산에서만 사셨던 분이 산골 깊숙히 들어와서 농촌교회를 준비하시면서 힘든 부분이 분명 클텐데도, 지금은 사회복지기관까지 운영하시는 걸 보면 정말 대단하신 것같아요. 홀로 타지에서 모든걸 감내하셨던 부분이, 그리고 하고자 하는 일에 대한 끊임없는 열정을 많이 배워요.그런 아버지를 보고 감명받아서인지 저도 모르는 사이에 창업가 마인드가 생겼던 것 같아요. “ ‘내’가 능동적으로, ‘내’회사를, ‘내’회사에서, ‘내’회사를 위해 일하는, ‘내’일을 한다. ”라는 생각 자체가 아버지의 영향을 많이 받지 않았나싶네요.음 그리고 역시나 빼놓을 수 없는! 우리 투데잇을 사랑해주시는 유저분들이 정말 큰 힘이되요. 실은 투데잇브레이커 당시에 제가 이일을 시작하게 된 이유자체가 ‘이 서비스를 사용하는 유저들이 있다’란 거였거든요. 제겐 그분들이 제 모든 이유인것 같아요. 제 스스로가 성장할 수 있는 이유, 투데잇이 인정받을 수 있는 이유, 그 모든 이유의 근간이라고 생각해요.Q. 항상 좋은 리뷰만 있진 않았을 것 같아요. 혹시 가장 기억에 남는 리뷰 있나요?되게 오래전 리뷰인데, 많이 부족했던 투데잇을 보고 ‘대체 언제쯤 기능 업데이트 되냐, 3D게임 만드냐’라고 하셨던 리뷰가 가장 기억에 남아요. 순간은 되게 기분이 상하면서도 점점 더 잘해내고 싶단 의지가 생기더라구요. ‘내가 3D게임 개발하는 것도 아닌데, 이정도라니. 더 개발 좀 열심히 해야겠다.’하구요. 지금은 그분께 감사하죠.그때 당시만해도 투데잇이란 서비스가 되게 부족했을텐데도 끊임없이 애정해주시면서 기다려주신 유저분 중 한 분이니까요.좋았던 리뷰들은 정말로 셀 수 없이 많아요. 저희가 매주 리뷰를 함께 공유하는 자리가 있는데, ‘성적이 올랐다는 리뷰’부터, ‘투데잇 덕분에 공부 스타일이 또는 생활 습관이 바뀌었어요’, ‘지금 수험생활을 하고 있는데 힘을 얻고 있어요.’ 그리고 ‘합격소식’까지. 진짜 큰 힘이 되죠. 제가 어떤 무형의 무언가를 하고 있단게 현실에서 드러난다는게. 그게 정말 큰 힘이 되요.Q. 나에게 ‘기술’ 이란?저는 아까 말씀드렸던 것처럼 욕심이 좀 많은 편인데, 그 중 제일 욕심 많은게 바로 ‘기술’이예요. 이 분야에서 전문가가 되기 위해서 하나하나 하면 하나를 깊게 파는 스타일이예요.그래서 다양한 분야의 기술을 심도있게 잘하고 싶은 욕심이 있었는데, 투데잇을 개발하면서 그런 욕심을 부릴 수 있는 기회가 주어졌어요. 당시만 해도 당장 없는 개발팀원 자릴 메우기 위해 열심히 욕심부렸던게 지금의 이 자리에 앉게되지 않았나 생각됩니다.제게 기술이란건, 기술 자체가 가지고 싶은 그 무언가예요. 끊임없이 욕심을 내서 계속해서 닿고싶은 그런 존재?(웃음)Q. 오픈소스활동에서 핫하다는 이야기가 있는데요~오픈소스 활동이 아주 거창하진 않아요. 아직은 걸음마단계 수준이죠. 음 처음엔 제가 필요한 오픈 소스를 사용하면서 발견한 에러나 버그 부분에 대해 피드백을 드렸어요. 되게 간단한 부분이었는데 그쪽에서 긍정적으로 받아들여주셨어요. 그런 상호 피드백이 오가면서 관심을 갖게되었습니다.제트브레인스라는 회사에서 근무하시는 분의 피드백을 받는 과정이 오픈 소스활동을 통해 서로 교류할 수 있단 점이 매력적이었어요.활동을 하게된 결정적인 계기는, 다른 회사에 다니는 친구와 함께 깃허브에 올리고 IOS 개발 커뮤니티에 올렸더니 반응이 핫하더라구요. 큰 이슈는 아니지만, 사람들이 긍정적인 피드백을 해줘서 즐거운 순간이었죠.앞으로도 작은것부터 하나씩 해나갈 예정이에요. 큰 규모의 기술은 아니더라도, 투데잇의 ANDROID/IOS에 필요한, 하지만 불편함을 해소해줄 수 있는 라이브러리나 툴들을 만들어나가려고 생각을 하고 있구요. 기존에 투데잇 안에서만 쓰던 걸, 조금씩 정리해서 공유해나갈 생각입니다.Q. 안드로이드 앱 개발을 하면서 소프트웨어 아키텍쳐에 관한 고민이 있다던데, 어떤 고민을 하고계신지 들어볼 수 있을까요?지금 저희 나름대로, 기존에 있던 MVVM, VIPER라든지 그런 아키텍쳐들을 많이 보고 차용을 해서, 투데잇에도 적용을 해나가고 있는 중이에요. 직접 해보니 학교에서 책으로 배운 “프로그래밍 구조가~” 나 “아키텍쳐 구조가~” 에 대해 필요성을 뼈저리게! 몸소 부딪혀가면서 느끼는 중입니다.개발을 하다보면, 사소한 버그나 문제점을 많이 발견하게 되는데, 이를 어떻게 미리 테스트할지 또 어떻게 검증할지에 대해 고민을 하고 있어요. 그런데 기존 소스코드는 각각 다른 기능을 하는 코드가 한데 뭉쳐있어서, 이걸 분리해서 테스트하기에 용이한 아키텍쳐에 대해 개선 및 적용해나가고 있습니다.또 안드로이드와 아이폰 버전을 개발 중인데, 각각 플랫폼에 종속적인 부분을 빼놓고 두 버전 모두 동일한 구조를 가지고 갈 수없을까에 대한 고민 중인데요, 이러한 고민을 함께 하실 분들이 오셨으면 좋겠어요. 이상적인 구조를 향해서 말이죠. (웃음)Q. 현재 일하고 있는 팀원이 7명이나 된다고!네! 대표님과 단둘이 끌어왔던게 엊그제같은데, 벌써 7명의 투데잇팀으로 구성되었네요. (웃음) 사실 제게 투데잇팀은 그냥 공기같은 존재예요. 같이 있을 땐 중요성을 모르다가도, 누구하나 자릴 비우게 되면 그 느낌이 진짜 오묘해요. 서로가 서로를 너무 당연하게 자리하고 있다고 느끼고 있어서요.언젠가 한번 기호형님(COO)이 자릴 비운적이 있었어요. 아직 일한지 1년도 채 안되는데도, 옛날 옛적부터 알고 있던 사람처럼 그때 그 공허감이 되게 크더라구요.사실 좋을 땐 다 좋죠. 중요한건 일하면서 분명 좋지 않은 순간이 올텐데, 이때 서로 어떻게 커뮤니케이션을 하느냐 인것 같아요. 부정적 피드백에 대해 받아들이는 자세가 우리 팀의 가장 메리트라고 생각해요.지금 팀원들은 일에 있어서 피드백이 오갈 땐, 감정적인 건 잠깐 내려놓고, 객관적으로 앞으로 더 발전 방향에 있어서 뭘 어떻게 해야할지를 생각하는 태도를 보이거든요. 이 부분에 대해 ‘서로 핏이 잘 맞는다’라는 문장이 딱 맞는 표현 같아요.그래서 전 “같이 있으면서 어색하지 않은 그런 사이”가 좋아요. 물론 시간이 지나면서 서로 맞춰가는거겠지만, 왜 그런거 있잖아요. 함께 일을 해도 계속해서 어색한 사람이 있고 조금 풀리는 사람이 있는거. 그런 점이 저희 팀의 메리트라고 생각합니다.Q. CTO의 입장에서, 같이 일하고 싶은 개발자는 어떤 사람인가요?당연한 거겠지만, 일단 서로 존중해줄 수 있는 사람이면 좋겠어요. 아무리 비즈니스라지만 서로가 서로에게 예의와 매너가 갖춰진 사람을 원합니다.업무적으론, 뭔가 새롭게 배우는거에 대해 두려움이 없는게 좋은 개발자의 기본 자세라고 생각해요. 그래서 바로바로 과감한 도전 정신이 있는 사람! 그리고 제게 없는 재능을 가져서 서로가 상호 보완해나갈 수 있는 파트너면 좋겠어요.Q. 지원하고 싶은, 지원을 생각하는, 이 글을 보고있는 사람에게 한마디 부탁드려요!“만약에 지원을 하신다면, 마음을 단단히 먹어야할겁니다.”초반만 하더라도, 스타트업에 대한 환상이 있었어요. 이상적인 모습, 장밋빛 회사생활만을 꿈꿨거든요. 언론에서 소위 말하는 ‘젊은 창업가!’의 그 이면엔, 장밋빛을 현실화 하기위해 매일매일이 고난의 길이란걸 잊지 않으셨음 해요. 스타트업이란게 자신의 한계를 확인하는 과정이기 때문에, 같은 출발선에서 함께 발전하기 위해 달릴 준비가 되신 분을 환영합니다.또 자기 나름의 미션이 있고, 그걸 회사의 가치 성장에 일치시켜 나가면서 함께 실현해나가실 분을 모십니다!우리의 이상을 위해 함께 이 현실을 헤쳐나가실 분을 찾습니다!#투데잇 #팀원소개 #팀원인터뷰 #팀원자랑 #기업문화 #조직문화 #개발자 #개발팀 #CTO

기업문화 엿볼 때, 더팀스

로그인

/