스토리 홈

인터뷰

피드

뉴스

조회수 1746

츠타야를 다녀오다

일본 출장길에 츠타야를 다녀왔다. 사실 그 이전에도 츠타야를 구경할 기회가 있긴 하였지만, 그래도 제대로 한번 살펴보고 싶다는 생각에 "츠타야, 그 수수께끼 (마스다 무네아키, 가와시마 요코 대담)"라는 책을 사서 일본으로 가는 비행기에서부터 읽기 시작했다. 대담 형식으로 작성되어 이해하기 쉽고 창업자의 생각을 직접 듣는 것 같아서 편하게 읽을 수 있었다.우선 대표적인 지점인 다이칸야마의 츠타야를 방문! 시부야에서 가까우며 동네가 고급 주택가이고, 대표적인 매장이라서 그런지 한눈에 보기에도 훌륭해 보였다. 그냥 서점이라고 보기에는 너무나도 좋은 분위기에 안에는 스타벅스까지 있기 때문에 커피 한잔 하면서 책을 볼 수 있는 공간으로 이 보다 더 좋은 곳이 있을까?라는 생각이 들게 한다. (여기 방문 전까지 책을 다 읽지 못해서 그 책을 츠타야에 가서 읽는 상황이 ^^;) 방문해서 느낀 점과 책을 읽으면서 느낀 점들을 책(BOOK)과 나의 대담 형태로 몇가지로 나눠 이야기해보는 것도 재미있겠다는 생각이 들었다. (책의 구성이 마스다 대표와 가와시마 요코의 대담 형태로 되어 있음) 이렇게 구성해놓으니, 쉽게 쉽게 잘 읽히는 장점이 있엇기에!! 이 책에서 가장 기억에 남았던 점으로Book : 기획은 프로덕트 아웃이지, 마켓인이 아님(프로덕트 아웃 : 시장의 니즈가 아니라 생산자, 즉 만드는 사람의 형편과 생각에 따라 상품과 서비스를 제공하는 것 / 마켓인 : 시장의 니즈, 즉 손님이 필요로 하는 상품과 서비스가 무엇인지 조사해서 그 상품과 서비스를 제공하는 방법)기획은 고객이 원하니까 한다기보다는 '멋진 것', '매력적인 것'을 고객에게 전달하고 싶고, 고객을 가게로 초대하고 싶다는 감각에 더 가깝습니다. 나 : 사실 startup을 시작하기 전에는 새로운 제품이나 서비스를 출시하는 것에 대해서 "프로덕트 아웃"의 접근 이어야 새로운 기업으로써의 의미가 있지 않을까?라는 생각을 했었다면, 몇 년간의 스타트업 운영 경험을 통해서 "마켓인" 이 절대적으로 기반이 되어야 한다는 생각을 하게 되었다. 사업은 아티스트(artist) 가 만들어내는 '멋진 & 매력적인' 작품이 아니라, 고객이 원하는 가치를 전달하고 키워나가야 하는 business 이기 때문이라는 생각인데, 파펨이라는 브랜드를 처음 설계할 때도 "프로덕트 아웃"의 접근이었지만, 운영하면서부터는 절대적으로 "마켓인" 이 중요하다고 느꼈기 때문이다. 이에 대한 가장 최근의 생각을 추가하자면, (좀 진부하지만) 두 가지가 모두 양립해야 한다는 것이다. 단, 그 시기별로 중요도가 다르다는 생각인데... 처음 startup을 출시하는 시점에는 "마켓인"에 중심을 두어 생존을 위한 기반을 마련해야 한다면, 성장하면서 그 브랜드가 가지고 있는 "프로덕트 아웃"을 통해 만든 이의 고민과 철학을 반영하고 전달해야 브랜드 & 기업이 영속성을 가질 수 있겠다는 생각을 하게 되었다. 그래서 츠타야의 마스다가 말하는 '기획은 프로덕트 아웃!이다'라는 주장에 대해서 약간의 반기를 들었지만, 그 정도의 수준이기에 할 수 있는 도발적인 발언이 아닐까?라는 생각으로 결론을 내리게 되었는데, 헨리 포드가 말한 "만약 고객에게 무엇을 원하는지를 물었다면 그들은 조금 더 빠른 말과 마차라고 대답했을 것"이라는 짧은 문장의 의미와도 연결이 되는 듯하다. 두 번째로, Book : 업계의 상식에 고객은 등 돌린다. 한정된 업계 내에만 빠져 있다 보면, 그 업계에서 통용되는 상식에 갇혀 벗어날 생각을 하지 못한다는 예기죠. 별것 아닐 것 같이 들를 수도 있겠지만, 업계의 관습이나 상식을 바꾸는 시도에는 부단한 노력이 필요한 법이니까요. 새로운 기획을 세상에 제안한다는 일이 다 그렇겠지만 말입니다. 나 : 너무나도 동의하는 부분이다. 사실 어떤 일들을 조금 진행하다 보면 겪게 되는 것들 중에 "원래 그렇게 해왔다." 혹은 심지어 그런 생각 조차 하지 않는 경우들이 많다. 그렇기 때문에 이러한 벽들을 깨 나가는 것이 스타트업의 역할이고 그러한 당연한 것들을 바꾼 스타트업들이 유니콘이 되어간다. 문제는 나나 우리 회사 또는 조직도 이러한 것들에 계속 물들어갈 수밖에 없다는 것인데, 기본적으로 인간이 계속해서 다른 각도에서 생각하고 변화를 주는 것이 귀찮기 때문인데, 나는 이런 것들을 하루 생활에서라도 바꿔보려고 노력하는데.. 조금씩 다른 길로 출근해본다던가, 혹은 안 써본 새로운 앱들을 다운로드해서 써본다던가, 안 먹어보던 음식을 시도해본다던가 등등.. 개인적으로는 나이가 들 수록 혹은 기업이 시간이 흐를수록 이런 생각하지 않음을 피하기 위해 노력해야겠다는 생각을 한다.  자, 이제 매장을 둘러보면서 느꼈던 점들에 대해서 조금 더 살펴보면.. 분류와 진열에 대한 이야기!Book : "생활 제안별 분류"를 시도한 것이지요. 여행, 음식, 요리, 인문, 자동차 같이 장르별로 구역을 나누고 단행본이나 문고본 같은 범주에서 벗어나 책을 나열했지요. 즉 진열되어 있는 책 자체가 '그 나라를 여행하기 전에 이러한 문화를 먼저 체험해 보는 게 어떨까요? 식으로 제안을 하는 것입니다. 츠타야는 내부를 편집 작업을 하는데.. 가령 여행 코너에서는 예술을 통해 환상의 도시 프라하를 소개하는 등 고객의 마음에 와 닿는 제안을 계속해서 떠올리고 테마에 맞는 서적과 잡지를 모아갔지요.. 이 편집 작업이 생각보다 상당히 어렵더군요.. 나 : 츠타야에 가서 구석에서 경기용 오토바이가 한대 진열되고 있어서 '이건 뭐지?" 라고 생각하는 중에, 그 옆에는 오토바이 잡지들과 화보들이 전시되어 있었고, 바로 옆 책장에는 오토바이와 관련된 만화들이 진열되어 있었다. (아래 사진 참조)말 그대로의 생활 제안을 하는 방식으로 진열을 하였는데.. 이렇게 하는 것이 상당히 재미있었던 것이, 츠타야 서점은 우리가 어떤 정보를 찾는 체계적인 도서관의 접근이 아니라, 고객의 관심사에 따라 재미있는 정리가 되어 있었던 것이다. 나름 상큼했다. 마음에 드는 섹션을 발견하였을 때는, 여러가지 책들과 다양한 제품들로 인해 확실히 이것저것 관심이 더 가서 많은 시간을 쓸 수밖에 없었고, 이것이 나를 여기에 묶어둘 수 있는 힘이구나! 라는 생각이 들었다.뜬금없는 오토바이 전시에서 시작된 오토바이 관련 서적, 잡지, 그리고 만화!!상품이 무진장 진열되어 있어도 팔리지 않는다? Book : 다이칸야마 츠타야 서점에서 시도한 것은 책뿐만이 아닙니다. 그와 관련되는 물건과 행동의 제안도 시도하였지요. 예를 들어 여행에 관련된 코너와 가까운 곳에다 여행 대리점 카운터를 설치한 겁니다. 책을 한 장 한 장 넘기면서 여행하고 싶다는 기분을 느꼈을 때, 어떤 투어가 있는지 그곳에서 문의도 하고 신청도 할 수 있는 것이지요. 그 연장선으로 요리책 코너 옆에 요리 교실을 만들 수 도 있고요...나 : 사실이었다. (아래 사진 참조) 츠타야 서점 곳곳에는 이렇게 여행사 카운터도 있었고, 와인도 있었고, 심지어는 간장이나, 우메보시(장아찌 종류)를 팔고도 있었다. 살짝 당황!! 정말 궁금한 것은 이러한 장치들이 실제로 작동하고 있느냐? 가 궁금하였다. 실제로 고객들이 저러한 장치에서 어떤 행동을 만들어 낼 수 있을까? 구매로 이어질 수 있을까? 저렇게 만들어둔 것에서 가치를 느낄까? 나는 사실 NO라는 대답을 하였다. 우선 제품을 하나하나 살펴보지는 못했지만 저러한 진열에는 구색의 깊이를 갖추기 어렵다. 와인만 하더라도 몇 종류 되지 않고, 대표적인 몇 가지 제품들만 진열되어 있다. 책을 보다가 뭔가를 떠올리고 다음 행동으로 이어지기에는 좀 부족하다는 느낌이다. 내가 아무리 집 반찬 관련 책을 사러 간다고 해도 저곳에서 장아찌를 사지는 않을 것 같다. 차라리 먼저 책을 한 권 사고, 백화점 지하 식품점에 가서 다양한 반찬들을 맛보며 구경하지 않을까? 저런 구조를 더 잘 설계하기 위해서는 나는 on-line이 더 추가되어야 할 것으로 보이는데.. 마스다 씨는 저러한 점이 인터넷보다 실제 매장이 우위를 점할 수 있는 하나의 방법이라고 주장하고 있다. 진짜 맞음?? 츠타야 서점안의 여행사, 와인코너, 반찬코너.. 츠타야 오모테산도와 더부어 츠타야 일렉트로닉스까지 가보기로 마음먹었다. 지하철로 20~30분 정도 가면, 살짝 외곽의 bed town의 큰 mall에 입점하여 있었다. 후타코 타마가와 역에 내려서 바로 연결됨. 츠타야 일렉트로닉스에서 재미있었던 것은 이제는 책과 일상생활에서 사용되는 가전제품, 그리고 일상생활용품들까지 모두 잘 버무려 놓은 매장이었다는 점이다. 일본어를 몰라도 구경하는 재미가 있다. 흠.. 이래서 이곳의 키워드를 "생활"이라고 잡은 것인가? 일단 입구에 들어가면 전자 제품 매장이 있다. 예전에 영국, 미국 시장 등의 베스트바이 같은 매장들하고는 시작부터 다르다. 베스트바이와 같은 곳이 큰 매장의 일반적인 마트 느낌이라면, 이곳은 큰 서점을 중심으로 여러 가지 가게들이 만들어진 골목과 같은 느낌이다. 이것저것 행동의 제안이라는 기본 철학을 잘 구현해 놓은 듯하다. 하지만! 또 다른 측면에서의 느낌은.. 이곳에서 구매가 잘 이루어질까? 라는 생각도 들었다. (외국인 관광객의 관점일 수도 있겠지만) 구매보다는 재미있게 구경하기 좋은 곳이 아닐까?라는 생각이 들었는데.. 이곳을 다녀온 다른 분들의 의견도 들어보고 싶다. 츠타야 일렉트로닉스에서 찍은 사진들.. 스포츠 용품, 화원, 서점과, 전자제품들이 재미있는 골목처럼 연결되어 있다. 츠타야 일렉트로닉스 매장재미있었던 것은 책에서 말했던 것과 같이 실제로 커뮤니티 활동들이 일어나고 있었다. 아래 왼쪽 사진에서는 일본 프리미엄 맥주 브랜드 에비스(EBYSU) 에서 주최하는 것으로 보이는 행사가 진행 중이었는데, 아마도 맥주와 잘 어울리는 음식을 만드는 클래스로 보였다. 진행하는 분이 꽤나 재미있게 리드하는 듯이 보였는데, 참가자들이 모여서 웃고 떠들면서 진행하는 행사로 보였음.아래 오른쪽 사진은 커피 머신을 판매하는 코너에서 한 노부부와 판매원이 커피 이야기를 하면서 실제로 이런저런 머신에 커피를 갈아 넣고, 커피를 내려보는 것을 하고 있었다. 오호! 이런 점은 참 신박했다. 그냥 이런 머신 입니다가 아니라.. 실제로 두 노부부가 커피를 갈아보고 내려 마셔보는 것까지 (꽤나 오래!) 체험을 해보고 있었는데.. 이런 것이 판매와 체험이 실제로 공존하는 매장으로서의 츠타야 일렉트로닉스! 이군이라는 느낌을 주기에 충분해 보였다. 왼쪽은 에비수 맥주에서 그룹 모임을 하고 있었고, 오른쪽은 고객이 실제로 커피를 내려보면서 점원과 이야기하는 모습 주차장의 하늘이 넓을수록 고객은 다시 찾아오고 싶다. 도쿄에서도 비싼 동네인지라 이렇게 주차장을 만들어 놓는 것이 정말 "철학" 적인 도움 외에 실제로 도움이 될 것인가?라는 생각이 들 정도로 주차장은 좋았다. 일본에서 큰 주차장 구경하기가 쉽지 않았는데 (주차 비용은 얼마인지 확인 못함), 정말 잘해두었구나 라는 생각과.. 이런 기획을 해서 위로 올리기가 쉽지 않은 조직 구조를 고려할 때, 창업자가 이런 생각을 가지지 않는 한, 이런 실행은 절대 불가능할 것이라는 생각이 또한 들었다. 주차장 쪽을 돌아서 나오는데, CCC의 사무실이 옆에 있었다. 일본어를 조금이라도 할 줄 알았다면 한번 들어가서 이런저런 이야기 해보고 싶은 느낌이 들었다. 또한 밖에서 본 사무실에는 Magazine B의 츠타야 편이 있어서 또한 반가웠다는!!츠타야 뒤의 주차장의 하늘과.. CCC 오피스마지막으로 책에서 이야기했던 것들 중에 몇몇 가지 재미있는 포인트 들을 뽑아보자면하나,Book : 생활 제안은 우선 콘셉트에서 시작하지 않습니까? 하지만 곰곰이 듣다 보면 고객을 기쁘게 하는 일이 아니라, 결국 자기 자신을 기쁘게 하는 일에 그치는 경우가 꽤 있어요.. 기획이 이타적인 것이 아니라, 무리하게 이유를 만들어 내어 결국 자기만족에 불과한 이기적인 것이 되는 경우가 많아요. 나 : 아 뜨끔.. 둘, Book : 직원들에게 바라는 것은 항상 자유롭다는 것이고, 이것은 자유란 하기 싫은 일을 하지 않아도 되는 것이 아닙니다. 해야만 하는 일을 할 수 있는 것이 바로 자유입니다. 그래서 자유란 어려운 것이고 누군가의 관리를 받는 편이 한결 편하지요. 나 : 요즘 고민이 많은 부분! 조직문화라는 것과 구성원들이 그 조직 안에서 어떻게 일을 할 것인가의 문제인데, 자유라는 의미를 잘 해석해 준 듯하다. 구성원들에게 자유를 주는 것도 때로는 위험하다는 생각을 하는데, 스스로 움직이지 못하는 구성원에게는 자유를 제공해 주는 방식이 더 큰 어려움을 줄 수 있다는 것을 경험해 보았기 때문이다. 마지막으로는,Book : 도전하지 않는 직원에게는 화가 난다. 나 : 네 저두요.. 가끔 저 자신한테도 ㅜㅜ PS. 츠타야 바로 맞은편에 있던 ASO cafe(책에도 나오는 카페) 에서 여유있게 커피한잔 하지 못한 것이 아쉽!
조회수 1641

스마트 컨트랙트 개발과정에서의 실수 — TransferFrom

Hexlant는 Blockchain 전문 개발 팀으로, 다양한 기관들의 스마트 컨트랙트 코드를 검수하는 업무도 진행하고 있습니다.지금까지 다양한 컨트랙트 코드들을 리뷰하면서 나왔던 문제점들을 공유하고, 더 나은 방법으로 개발 할 수 있는 방법들에 대해 이야기 해보고자 합니다.transferFrom에 대한 이해ERC-20 표준에 보면, transferFrom 이라는 함수가 있습니다. 일반적으로 많이 쓰이는 기능이 아니다 보니 잘 모르고 넘어가는 경우가 많습니다.function transferFrom(address _from, address _to, uint256 _value) public returns(bool)transferFrom은 남이 가지고 있는 토큰을 누군가에게 보내는 기능입니다.그 누군가는 내가 될 수도 있습니다.이 설명만 보면, 아래와 같은 의문이 생기실 겁니다.어? 남의 토큰을 내 마음대로 옮길 수 있다고??당연히 마음대로 옮기면 안되겠죠.그래서 approve 함수를 통해, 내 토큰을 사용할 수 있는 사람을 지정할 수 있습니다function approve(address spender, uint256 _value) public returns(bool)토큰의 holder는 approve함수를 호출하여 spender에게 일정량 만큼을 사용할 수 있게 허용을 해 줍니다. 그럼 spender는 허용된 범위 안에서 토큰을 마음대로 옮길 수 있습니다.허가되지 않은 토큰의 이동많이 쓰지 않는 기능이다 보니, 이 부분에 대해 고려하지 않고 개발 하는 경우가 있을 수 있습니다.아래는 저희가 리뷰했던 코드 중 일부입니다function approve(address _spender, uint256 _value) public returns (bool success) { require(_spender > address(0)); allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; }function transferFrom(address _from, address _to, uint256 _value) public { require(_from > address(0)); require(_to > address(0)); require(balances[_from] >= _value); require(balances[_to] + _value > balances[_to]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(_from, _to, _value); }approve 함수를 우선적으로 보면, allowed 테이블에, msg.sender가 _spender에게 얼마만큼 토큰사용을 허용해 주었는지 저장하는것 말고는 특별한 기능은 없습니다.allowed[msg.sender][_spender] = _value;이제 transferFrom 함수를 확인해 보겠습니다.transferFrom은 실제 토큰이 전송되는 부분이니 예가 필요할 것같습니다.Alice에게 10000개의 토큰이 있을 때, Bob이 transferFrom을 다음과 같이 호출했다고 합시다.transferFrom(Alice, Bob, 10000)자 이제 transferFrom코드를 따라가며 토큰이 어떻게 전송이 되는지 확인해 봅시다.require는 안에 들어간 조건이 만족해야만 다음 라인을 실행 할 수 있다는 명령어 입니다. require를 만족하지 못하면, 해당 트랙잭션은 수행되지 않고 실패로 처리됩니다.require(_from > address(0)); require(_to > address(0));위의 두 줄의 조건은 입력된 주소_from, _to는 각각 Alice와 Bob의 지갑 주소이기 때문에 0x*****형태로 0x0000…0000이 아니기에 해당 조건들을 모두 만족합니다.require(balances[_from] >= _value); require(balances[_to] + _value > balances[_to]);Alice의 지갑에는 10000개의 토큰이 있고 _value는 10000개이니까 저 require를 실제 숫자로 대입하면require(10000 >= 100000); require(0+10000 > 0);조건을 충분히 만족합니다.그 다음부분들을 실제로 Alice의 주소에서 Bob의주소로 10000개의 토큰을 옮기는 작업입니다.balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(_from, _to, _value);Alice의 잔액에서 10000개만큼이 빠지고,Bob의 잔액에 10000개가 추가됩니다.balances[Alice] = balances[Alice].sub(10000); balances[Bob] = balances[Bob].add(10000); Transfer(Alice, Bob, 10000);이로서 Bob은 Alice의 토큰 10000개를 자신의 지갑으로 이동시켰습니다.일련의 과정을 요약하면1. 주소 오류 검증 2. 보내려는 토큰이 Alice가 가진 잔액보다 작은지 검증 3. 받았을때 Overflow가 발생하는지 체크 4. Alice의 잔액에서 보내는 만큼의 토큰 수량을 뺀다 5. Bob의 잔액에 보내는 만큼의 토큰 수량을 더한다과정을 보면 Bob이 Alice로 부터 토큰 사용을 허락받았는지 체크하는 부분이 없습니다.따라서 누군가가 보유한 토큰을 다른 사람이 제멋대로 쓸수 있게됩니다.오류수정transferFrom이 정상적으로 동작하려면 어떻게 수정되어야 할까요?function transferFrom(address _from, address _to, uint256 _value) public { require(_from > address(0)); require(_to > address(0)); require(balances[_from] >= _value); require(balances[_to] + _value > balances[_to]); require(allowed[_from][msg.sender] >= _value); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value) Transfer(_from, _to, _value); }첫 번째로는 당연히 transferFrom을 호출한 사람이 권한이 있는지 확인해야 합니다.require(allowed[_from][msg.sender] >= _value);이 조건을 통해 허용된 수량안에서만 토큰을 옮길 수 있게 만들 수 있습니다.두번째는, 토큰을 옮긴 후 허용량을 줄여주어야 합니다.allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value)만일 Alice가 Bob에게 10000개의 토큰을 허용해 주고, Bob이 그중 100개를 사용했다면, 그 다음번에 Bob은 9900개 안에서만 사용할 수 있어야 합니다.#헥슬란트 #HEXLANT #블록체인 #개발자 #개발팀 #기술기업 #기술중심 #실수담
조회수 1038

곤약은 테라피(Therapy)다?

#1곤약은? 구약나물의 *알줄기에서 비롯된다.구약을 건조하고 분쇄하고 도정해서 만든 만난(mannan)은 물과 만나서 점성이 있는 콜로이드액이 되는데, 여기에 알칼리성 응고제를 첨가하여 가열한 후 식혀 반투명의 묵이나 국수의 형태로 만든 것이 식용곤약이다.  *알줄기는 녹말 등의 양분을 많이 저장하는 둥근모양의 구경으로, 토란, 구약나물, 소귀나물, 글라디올러스 등 땅속에 있는 감자 모양의 기관을 말한다.  #2곤약은 다양한 성질이 있다. 수분과 식이섬유로 이루어져 배변활동을 지원한다. 콜레스테롤 수치의 경감 효과도 있다. 또 탱탱한 식감에 포만감이 우수하다. 긴 유통기한으로 조리 및 섭취의 편의성도 갖췄다.#3무엇보다 곤약의 특장점은 저칼로리에 있다. 많은 양을 섭취해도 열량이 거의 없다.게다가 탱탱말랑한 식감은 미각을 자극한다. 그래서 곤약을 주재료로 한 다양한 제품들이 시중에 안착하고 있다. 냉면, 판모밀보다 맛있는 간편식도 있고, 쫄깃한 젤리, 마시는 젤리부터, 심지어 곤약쌀도 나오면서 밥으로 대두되는 밥상을 곤약상으로 대체할 수도 있을 것 같다.끊임없는 다이어트 연구의 솔루션으로 등장한다.대용식, 간식의 모습으로 먹으면서도 살을 뺄 수 있다고 속삭인다.    소소한밤은 곤약과 메밀의 적량혼합 면요리 간편식으로, 야식러들의 편안한 마음가짐을 도모하고 입맛을 사로잡는다.#4하지만 곤약에는 영양소가 없다. 수분과 소량의 식이섬유가 전부다.과한 의존은 영양결핍을 불러온다.#5즉, 곤약은 이 시대를 살아가는 이들의 걱정을 덜어주는 매개체다.걱정 거리가 너무 많다. 다양한 구성원들과 사회에서 경쟁한다.급속도로 변화하는 트렌드를 쫓는다.날씬한 허리, 날렵한 턱 선 등 자기 관리에도 명확한 기준이 생긴 듯 보인다.개인과 타인, 사회의 모든 시각을 수용하느라 먹는 것도 편히 먹지 못한다.야식은 건강을 해치고, 살을 찌우며, 성인병을 불러오고 신체에 모호한 핏을 선사해 매력도를 떨어뜨리기 때문이다.#6곤약은 식품일까? 아니다 곤약은 테라피다.현재의 각박한 삶의 솔루션이자 빛이다.곤약이 들어가는 식품으로 위안을 얻는다. 곤약을 먹으면서 안도한다.맛있게 가공까지 마친 곤약 간편식은 맛과 살에 대한 걱정을 해소한다.영양소가 없는데 효능과 기능이 있다고 말할 수 있을까?곤약은 섭취하기까지의 심리, 섭취 후 몸에서 발현되는 편안한 기분과 감정 등곤약 섭취는 심리적 테라피에 가깝다.#7지금 이 사회에도 곤약이 필요하다.확실한 지식과 정보로 사람들을 돕고 구원하는 의약품같은 사람보다완벽한 방법으로 문제를 바라보고, 해결하는 GMO곡물같은 사람보다(영양소가 없지만)완벽이 아닐지라도, 먼저 의견을 내면서 다가오는 김대리.(영양소가 없지만)누가 봐도 부족한 역량이지만 자기가 가진 능력은 모두 발휘하면서 바닥을 보여주는 이과장.(저칼로리)심심하게나마 이야기 거리를 던지며, 편안한 대화를 나누고 이내 위안을 주는 최사원.(영양소도 없고 칼로리도 없는)그저 바라봐 주고, 옆에 있어주면서 걱정거리를 덜어주는 박팀장.나는 이 모든 사람들을 곤약같은 인간이라 부르고 싶다. 극찬이다.  “으이그 곤약 같은 인간아"곤약 테라피가 필요한 요즘이다.Jason KH커뮤니케이션    기획자
조회수 932

환상 속 브랜딩: 소비자들의 마음속엔 무엇이 있을까

비트코인캐쉬로 한 5만원 벌어서 기분이 겁내 좋았습니다. 자고 일어나보니 5만원이 시뻘겋게 깜박이고 있는 거죠. 이제 제가 어떻게 했을까요? 그 5만원을 뽑아서 카카오 적금에 차곡히 넣어놓았을까요? 음, 아마 누구도 그러지 않을 겁니다. 인생의 즐거움은 돈을 모으는 게 아니라 써버리는 탕진잼에서 비롯된다는 진리를 몸소 실천코자 냉큼 신발을 사버렸죠. 왜냐! 코인은 계속 오를 것 같았으니까! 기영이가 등장했으니까. (미친..) 일단 카드로 신발을 샀으니 지출한 건 코인이 메꿔주겠지~~ 라며 룰루랄라 하고 있었습니다. 기영이가 나타나면 오른!!!....(미친)다음 날 어떻게 되었을까요? 네 그렇습니다. 거래소 폐쇄! 중국발 악재! 선물옵션 종료! 큰손들 빠져나가기! 개미무덤! 그렇습니다. 나이아가라 폭포의 시원함을 맛보게 되었죠. 이렇게 모지리즘을 실현하고 나니, 문득 궁금해졌습니다. 도대체 소비자의 마음 속엔 무엇이 있는걸까.(응?...) 아니..정확힌 도대체 난 무슨 생각을 살고 있는걸까...난 왜 살지..하아.한강가즈아.... 여튼 오늘은 소비자들의 알 수 없는 마음에 대해 한 번 알아보고 싶어졌습니다. 저만 알아보면 재미가 없으니 여러분도 함께 알아보도록 합시다. 사람은 기똥찬 신상 조던이나 발색이 아름다운 틴트를 발견했을 때 두 가지 경로를 거쳐 판단을 합니다. 틴트를 보고 '저 틴트의 발색은 효과가 2시간밖엔 안갈거야. 난 또 알게 모르게 츄릅츄릅 틴트를 갈비탕과 함께 삼키고 말겠지.... 굳이 내 뱃속으로 들어갈 틴트를 32,000원이나 주고 살 필욘 없을거야. 차라리 그 돈이면 고기를 먹는 게 낫지 않을까?'라며 심사숙고하며 결정을 내리는 "중심경로 프로세스(central route processing)" 와 보자마자 어머 이건 사야돼! 라며 틴트 이름을 외우기도 전에 '저거 뭐지, 저거 주세요.' 라고 냉큼 사버리는 "주변 경로 프로세싱(peripheral route processing)"이 있습니다. 인간은 하루에 약 70번 정도의 결정을 하게 됩니다. 그런데 모든 선택에 심사숙고를 하게 되면 엄청 피곤해지고 배가 고파지겠죠? 그러니 효율적인 선택을 하기 위해 주변경로를 활용하려는 경향이 있습니다. 지인의 추천, 화려한 광고문구, 점원의 말발 등 환경적 요소와 필요하진 않지만 왠지 갑자기 필요한 이유를 만들어내는 알 수 없는 그 존재(=지름신)의 강림 등 말입니다.이러한 주변경로 활용은 두 가지의 장점이 있습니다. 일단 소비자입장에선 정신적 에너지를 아끼고 구매에 대한 책임 등에서 자유로워 질 수 있습니다. 사고 나서의 합리화나 편향기제가 작용하는 것도 훨씬 용이해지죠. 지름신이 시킨 일이니 나의 잘못은 별로 없다고 여겨지거든요. 예쁜 쓰레기는 예쁨으로서 역할을 다했다....는 식의 현명(?)한 사고가 사람을 지배하게 됩니다.나머지 하나는 빠른 결정입니다. 이건 기업 입장에서도 즐겁고 행복한 일이죠. 4일 밤낮을 공부하고 연구하며 저걸 살지말지 고민하는 것보다 보자마자 이거 주세요! 를 외치는 극단적 시원함(COOL) 속성 고객을 만나면 매우 즐겁지 않겠습니까. 제가 아디다스에서 신발팔때는 이런 고객님이 오면 왠지 양말이라도 하나 더 챙겨드리고 싶었.....하지만 이러한 주변경로 프로세싱이 항상 좋은 측면만 있는 것은 아닙니다. 인간의 선택을 너무 다각화시키고 충동/감정적으로 만들어서 예상치 못한 행동들을 만들어내는데 이 때문에 브랜딩이나 마케팅전략을 세우는 데 있어 꽤나 골치를 썩게 되죠.예를 하나 들어보죠. House-money effect 라는 이론이 있습니다. '꽁돈 효과' 라고도 하죠. 코인으로 5만원을 벌면 저축을 하지 않고 더 큰 돈을 써버리는 겁니다. 이스라엘의 경제학자인 랜즈버그(Michael Landsberger)가 진행한 '랜즈버그 조사'에선 한발 더 나아가 꽁돈이 소액일수록 그 이상의 지출을 쓰게 된다고 했습니다. 로또 정도의 거액에 당첨되면 오히려 그걸 저축하고 관리하려고들 하죠. 하지만 한 번에 구매할 수 있을 정도의 금액이라면 오히려 거기에 얼마를 더 얹어서 큰 지출을 하는 겁니다.  예를 들어볼께요. 오늘 길가다가 78만원을 주웠습니다. 근데 마침사고싶던 미러리스 카메라가 90만원인거예요. 그럼 12만원 얹어서 카메라를 사고 생각하겠죠. 우와 12만원에 카메라를 샀어!! 라고. 사실 그 돈이 없었다면 카메라가 필요없다고 느꼈을 지도 모릅니다. 몇 달 지나면 머릿속에서 지워질 충동이었을지도 모를 일이죠. 이는 '심적회계(mental accounting)'의 작동 때문입니다. 우리 마음 속엔 전혀 논리적이지도 정확하지도 않지만 꽤나 놀라운 성능의 계산기가 하나씩있죠. 말도 안되는 계산을 척척해내는 물건입니다. 1. 기프티콘은 현금지출에 비해 돈을 아끼는 듯한 기분이다.2. 다음 달에 낼 돈은 미래의 내가 알아서 하겠지.3. 오늘은 고생했으니 써도 된다.4. 나를 위한 선물이다.5. 왠지 다음달엔 돈이 들어올 것 같아.6. (당연한 돈을 받았는데) 내 계획에 없었으니 꽁돈이다.7. 오늘 기분이 개똥이므로 질러버리자!8. 다 먹고살자고 하는 건데 먹는 데 쓰는 건 괜찮아9. 할부로 내면 충분히 가능할 듯10. 비트코인골드 호재가 있으니 다음주엔 오를거야등등의.... 초자연적인 계산을 가능케하는 계산기죠.  하지만 놀라운 건 이 심적회계엔 하나의 스위치가 있습니다. '감정회계'라는 모드죠.우연히 구스다운 주머니를 뒤지다가 1만원 짜릴 발견하면 냉큼 치킨을 시켜버립니다.그러나 돌아가신 어머님의 유품을 정리하다  어머니 바지에 있던 1만원을 우연히 발견했다면 고이고이 평생 간직할지도 모릅니다.같은 돈이라도 감정에 따라 그 가치가 엄청나게 달라지게 되는 것이죠. 이러한 긍정적 공돈효과를 극단적으로 활용하는 곳이 바로 휴대폰 정책입니다. 18개월간 쓰고 중고폰을 반납하면 나머지 6개월분의 할부금은 없애줄께! 하는 등의 조금만 알고보면 호갱트랩인 정책들이죠. 왠지 지금 이것저것 할인을 붙여 왠지 싸게 사는 듯한 기분이 드는 겁니다. 백화점이나 뷰티브랜드의 '통합포인트 제도' 도 이와 비슷하죠. 잠자고 있던 포인트를 깨우라는 건 당신을 위한 배려가 아니라 올리브영에서만 쓸 수 있는 포인트가 꽁돈으로 생겼으니 어서 달려가서 질러라!! 는 얘깁니다.이러한 체제를 휴리스틱이라고 하며, 다양한 마케팅이나 인지편향을 활용한 브랜딩전략으로 자주 활용되고 있습니다. 인간이 기본적으로 지니고 있는 인지편향심리는 소비와 브랜드인지에 아주 크나큰 영향을 미칩니다. 몇 가지를 좀 알아보도록 할까요1. 가용 휴리스틱 (availability heuristic)사람들은 먼저 배운 정보를 과도하게 신뢰합니다. 특히 부정적인 정보를 제압할 때 많이 사용하죠. 우리 아부지는 술 매일 마셔도 건강하게 잘 지내시는데?? 하면서 과음의 폐해를 축소시켜 인지하는 등의 심리입니다.에베베베베베2. 선택 지원 편향 (choice-supportive bias)흔히 단레몬기제라고도 하는데, 일단 무언가를 지르고 나면 그 선택에 대해 잘했다고 생각합니다. 맥북을 질러버렸으면 고장나지 않을 거야! 설사 고장이 나더라도 오히려 비싼 돈을 주고 AS를 받는 것을 기꺼이 납득하는 경우입니다. 내 선택이 틀리지 않았다는 것을 강화시키고 싶으니까요.3. 클러스터 착각 (clustering illusion)그냥 운으로 이루어진 경우인데 뭔가 그 속에서 패턴을 찾아내려고 하는 겁니다. 이는 도박사의 심리와도 연관이 되어 있는데 동전의 앞면이 9번 나왔으니 10번째는 뒷면이 나올 것이다! 라거나, 고양이 3마리가 차트에 등장했으니 반드시 내일 고점 돌파한다!! 는 식의 말도 안되는 논리이죠.4. 최신 편향 (recency)사람들은 최신정보를 더 신뢰합니다. 항상 최신이라고 해서 옳은 정보가 있는 것은 아니죠. 마케팅에서 흔히 '지금까지 알던 것은 잊어라!!' 또는 '우리는 잘못 알고 있었습니다...' 는 등 심각하게 정보의 오류를 찝어내는 식의 문구를 쓰는 것은 이러한 최신편향에 기대는 전략입니다.5. 특징 효과 (salience)브랜딩에 특징효과는 매우 중요합니다. 사람들은 '행복한 것' 을 떠올릴 때 단순히 삼시세끼 잘먹고 잘 곳있으면 되지~는 식을 떠올리지 않습니다. '행복한 것 = 로또당첨' 등의 극단적인 이미지를 먼저 떠오리려고 합니다. 가끔 담백하고 솔직한 마케팅이 실패하는 이유 중 하나라고 할까요. 큰 특징을 잡기 힘든 평범한 이미지로 브랜딩을 하려고 해도 소비자들은 극단적인 정보로 인식하려고 합니다. 특히 보고들은 정보를 누군가에게 전달할 때 이는 아주 심해지죠.6. 제로 리스크 편향 (zero-risk bias)확실한 것! 을 추구하길 좋아합니다. 때문에 두 번 세 번 확인하는 절차도 기꺼이 감당하죠. 그리고 놀라운 건 이렇게 확실한 절차를 거치고 나면 그것은 변하지 않을 것이다! 라는 믿음을 가집니다. 흔히 금융/법률 서비스등이 여러가지 복잡하고 완고한 절차를 요구함에도 그러한 번거로움이 신뢰로 변환되는 경우가 이러한 제로리스크 편향의 좋은 예라고 할 수 있습니다.7. 현상유지 편향(status quo bias)몇몇의 요지부동 소비자들의 심리입니다. '이불밖은 위험해' 라는 생각이죠. 비슷한 개념으로 부작위 편향(omission bias), 손실 회피 편향(loss aversion bias)이 있는데, 이는 소비자보단 경영측면에서 더욱 많이 활용됩니다. '새로운 건 젊은 애들이나 하는 거야!' 는 식의 의견을 합리화하는 데 유용한 마인드입니다.8. 사후확증편향(hindsight bias)오....이것은 매우 흥미진진한 편향입니다. 어떤 일이 일어나고 나서 평가할 때 "내가 그렇게 될 줄 알고 있었어!" 라고 무릎을 탁 치는 거죠. 정말 알고 있었을까요? 노놉. 이는 누군가가 좋은 아이디어를 냈을 때도 마찬가지입니다. "그 정돈 나도 할 수 있겠다!" 는 식의 심리죠. 그럼 미리 하지 그랬어요. 누군가의 성공이 쉽게 이해되고 그 원인을 마구 분석할 수 있는 것도 이러한 사후확증 편향에서 비롯됩니다. 그러니 성공사례에 대한 분석을 너무 믿진 마세요.9. 내집단 편애(ingroup favoritism)코란도를 구매한 사람들은 구매한 사람들끼리의 커뮤니티가 있습니다. OO을 사랑하는 모임 등도 비슷한 원리죠. 팬클럽을 조직하거나, 간담회, 베타테스터를 만들려는 이유는 이러한 내집단 편애현상을 활용해서 소비자계층을 끈끈하게 만들려는 심리입니다. 내가 산 제품을 너도 샀다는 데에서 동질감을 형성하고 그것은 이 제품을 비난하는 사람들을 적으로 간주하여 대신 공격하는 경우도 있습니다.10. 임의적 추론이건 매우 .....이상한 심리입니다. 흔히 원인과 결과가 동일시 되는 경우가 이에 해당합니다. - 나는 이걸 사고싶다- 그러니 이걸 사겠다.....이해가 확 되시나요? 근거가 곧 결과가 되버리는 이상한 추론인데, 심적회계 못지않게 초월적인 논리력을 구사할 수 있습니다. 이런 임의적 추론은 브랜딩전략을 구축할 때 엄청난 노력으로 고객 타겟팅을 해서, 고민고민한 슬로건과 워딩, 소개콘텐츠등을 순식간에 바보로 만들어버릴 수 있습니다.- 이건 뭔가 맘에 안들어(뭔진 모름)- 그러니까 싫어(응????)흔히 이러한 편향과 오류들은 정보를 분석해야하는 경우에 많이 발생합니다. 내가 에너지를 쏟아서 뭔가를 판단해야 할 때 두뇌는 귀찮아져버리죠. 그래서 주변정보에 기대버리려고 합니다. 또는 지난 경험이나 습관에 의존하려는 성향이 있죠. 그렇다면 브랜드는 고객에게 어떤 워딩으로 어떤 정보를 줘야 할까요?ㅎㅎㅎ 이건 숙제입니다. 저는 스압이 강력해서 여러분들의 눈이 피곤해질 걱정으로 이만 글을 줄이도록 하겠습니다. 숙제검사는 17화에서 하도록 하겠습니다 :) 모두 감기조심하세요!
조회수 718

실리콘밸리의 ‘새 숨은 병기', 디자이너의 창업

이제는 국내에서도 많이 알려진 실리콘밸리 회사 에어비앤비(Airbnb)와 핀터레스트(Pinterest)에는 공통점이 하나 있다. 바로 창업자가 디자이너 출신이라는 것. 에어비앤비는 RISD에서 산업디자인을 전공한 브라이언 체스키(Brian Chesky)가 2008년에 시작했다. 핀터레스트의 창업자 중 한 명인 에반 샤프(Evan Sharp)는 2010년 핀터레스트 창업 전, 콜럼비아 대학에서 건축을 전공하고 페이스북에서 제품 디자이너로 일했다. 이 밖에도 실리콘밸리의 많은 B2C(Business to Consumer) 회사에서 디자이너 출신의 창업 멤버들을 발견하는 건 어려운 일이 아니다. 국내에서는 배달의 민족을 서비스하는 우아한 형제들의 김봉진 대표가 가장 대표적인 디자이너 출신의 창업자이다. 필자 역시 2011년 스탠포드 대학원에서 제품 디자인을 공부하던 중 두번째 창업 회사인 스타일세즈(StyleSays)를 창업했었다.실리콘밸리에서 디자이너 출신 창업자들이 본격적으로 기지개를 켜기 시작한 건 2010년 무렵이다. 실리콘밸리의 새로운 무기, 디자이너의 창업에는 과연 어떤 비결이 숨어 있을까? 디자이너 출신의 창업가로서 다음과 같이 2가지 관점으로 해석해 보았다. 첫째, 디자이너는 사람들의 니즈(needs)를 발견하고 이를 위한 해결책을 고안해내는 것에 익숙한 사람들이다. 본래 산업 디자인이란 단순히 무언가를 시각적으로 아름답게 만드는 것이 아니라 사용자(user)를 위한 제품과 서비스를 개발하는 작업이다. 디자이너의 창업 역시 같은 선상에서 해석할 수 있다. 스마트폰이 대중화되면서 인터넷 접속이 일상화 되었고, 이는 다양한 B2C 서비스의 시작점이 되었다. 사용자들이 새로운 환경에 노출되면서 점점 더 많은 니즈를 갖게 되었고, 이러한 사용자의 니즈를 발견하고 새로운 해결책을 고안하는데 있어서 디자이너들의 능력이 십분 발휘되고 있는 것이다.둘째, 디자이너는 기획자, 개발자, 마케터 등 다양한 직군의 사람들과 의사소통하는 것에 익숙한 사람들이다. 창의적 사고는 다양한 분야의 사람들이 모여 만드는 고도화된 협업에 의해 이루어 진다. 문제는 서로 다른 직군의 사람들이 사용하는 언어가 마치 남자와 여자의 사고 방식과 언어가 다른 것 만큼이나 미묘하면서도 확연하게 다르다는 점이다. 이 때 디자이너들의 커뮤니케이션 능력이 촉매제로 작용하게 된다. 디자인 과정 자체가 다양한 사람들의 의견을 수렴해 무에서 유를 창조해 나가는 것이다 보니, 다수의 디자인 프로젝트를 경험한 디자이너들은 훌륭한 커뮤니케이터(communicator)인 경우가 많다.몇년 전부터 국내에서 프로그래밍(programming) 교육이 열풍이다. 초등학교 교과 과정에도 일부 포함되고 있다고 들었다. 프로그래밍 역시 단순히 코드를 짜는 것을 배우는 것이 아니라 논리적 사고 방식을 배우는 것이기 때문에 바람직한 변화의 방향이다. 디자인 교육 역시 마찬가지 영역에 포함되어야 한다고 믿는다. 디자인이 단순히 무언가를 보기 좋게 꾸미는 것이 아니라, 사람 중심적(human-centered)인 사고 방식과 다양한 커뮤니케이션 기술이 근간이 되는 복합적 사고 방식이라는 것을 이해해야 한다.
조회수 970

검은 머리 외국인으로서 스푼 라디오에 입사하기까지

스푼을 만드는 사람들 여섯 번째 이야기서비스 플랫폼 팀 막내이자 분위기를 담당을 맡고 있는, 6개월 차 개발자 Kyu를 소개하고자 한다.영어가 편해요? 아니면 한국어가 편해요?"일반적인 의사소통에 있어선 한국어가 편하고, 업무를 볼 땐 영어가 편해요."Q. 원래 되게 개구쟁이(?)의 이미지를 가지고 계신 줄 알았는데.."저 원래 진지한 거 진짜 싫어해요. 제가 겉보기엔 늘 장난꾸러기 같아 보이실 수도 있지만, 사실 이렇게 단 둘이 이야기를 하면 또 다른 진지하고 진정성 있는 저의 모습이 보이실 거예요. 저 지금 많이 진지해요?"(인터뷰 전에는 큐가 그저 재미있는 사람이라고 생각했는데, 인터뷰를 하고 나서 그를 다시 보았습니다..)'Kyu'라는 사람을 알고 싶습니다.Q. 본인은 어떤 사람이라고 생각하세요?Me, Myself, and I - "저는 제가 느끼는 것 그리고 원하는 것에 굉장히 집중을 하는 편이에요.제 본인 스스로에게 집중하는 양도 기준치도 꽤나 높은 편이에요. 무엇보다 스스로 혼자만의 시간을 굉장히 중요시합니다."Q. 국적이 Canadian이라 들었습니다. "네, 저는 8살 때 부모님과 함께 교육을 위해서 캐나다로 이민을 갔었어요. 그리고 캐나다에서 고등학교까지 있었고 그 후엔 미국에서 대학을 졸업했어요. 졸업 후에 한국에 취업을 하게 되어서 어느덧 한국 생활이 1년 3개월 차가 되어가고 있네요."Q. 한국에서 취업을 하게 된 계기가 있다면?"사실 처음에 제가 스타트업에 취업을 한다고 했었을 때, 주변에서 안정적인 곳이 아닌 스타트업을 선택하느냐라고 많이들 물어보셨어요. 그것도 한국에서요. 근데 저는 제가 정말 무슨 일을 하고 싶은지 잘 몰랐었어요. 목표의식과 노력 없이 공부를 하다 보니, 어느덧 졸업이 다가왔고 좌절하게 됐었어요. 정말 오랜 시간 아무것도 못했었어요. 길을 잃었다고 할까요? 그러다가, 용기를 내서 현실적으로 내가 할 수 있는 일이 무엇일까 고민 끝에 한국을 선택했어요. 한국엔 유능한 사람들이 정말 많고, 실력 있는 사람들이 열심히도 하는 곳이에요. 정말 무언가를 최선을 다해서 해본 다는 게 무엇인지 겪기 위해선 한국에서 배워보는 게 좋다고 생각했고, 실제로도 그렇다는 걸 느끼고 있어요."당신의 회사생활이 궁금합니다Q. 서비스 플랫폼 팀(서버팀)에서 하고 계신 업무는?"저는 현재 하고 있는 업무는, 정확히 말하자면 로그 데이터 수집 및 스푼 앱 내에서 발생하는 유저들의 행동 그리고 현상에 대한 데이터를 실시간으로 수집하고 조회합니다. 그리고 시간에 흐름에 따른 서비스 상태를 나타내 주는 작업을 하고 있습니다."Q. 현재 업무의 만족도는 어느 정도인가요?"업무에 대한 만족도는 높습니다. 저는 신입이고, 기본 역량이 팀원들에 비해서는 낮지만 제가 입사한 후 처음 시도한 것이 '로그 데이터 수집'인데요. 처음부터 끝까지 독립 시스템을 맡고 있다는 점이 굉장히 뿌듯합니다. 저를 그만큼 믿어주시기에 가능한 일이라고 생각합니다. 그렇다 보니 주인의식을 가지게 되고요. 앞으로 조금 더 만족도를 높이고자 한다면, 팀원들과 프로젝트를 도 함께 진행해보고 싶습니다."Q. 스푼 라디오가 큐의 첫 직장인 가요?"네, 정사원으로는 첫 직장이지만 그 전에는 인턴을 잠시 했었어요. 이건 제가 한국에서 겪은 좋지 않은 기억이지만, 인턴 생활 때, 타 스타트업에서 3개월 정도를 일을 했었는데, 임금 체불 문제가 있었어요. 당연한 부분이자 저의 권리가 지켜지지 않는 것을 보고, 다시 캐나다에 가고 싶단 생각을 했었어요. 그때 자존감도 많이 낮아지고 참 암울했던 시기였어요."Q. 한국 회사에서 느끼는 문화 차이가 있나요?"사실 제가 생각했던 것보다 워라벨이 잘 지켜지고 있어서 그 부분은 의외라고 생각이 들었어요.다만, 사람들과 함께 편하게 이야기를 하는 과정에서 문화적 차이를 느끼곤 해요. 예를 들면 Gender 부분 이라던지 등등. 의식이 조금 다르다고 느낄 때가 있어요. 하지만 한국 문화라던지, 의식의 차이를 저도 받아들이고 많이 노력하고 있어요. 누구나 의견과 관점은 다를 수 있으니까요. 잘 못되었다기 보단, 다른 사람들이구나 하고 받아들이려고 합니다."Q. 회사에서 가깝게 지내는 동료는 누구인가요?"업무를 가장 많이 함께 해서 가까운 분은 찰스, 개인적으로 제일 친하다고 느끼는 분은 샘입니다. 왜 친하다고 느끼는지는 모르겠지만 저도 모르게 자꾸 관심이 가요. 빨리 더 친해지고 싶은 생각도 들고, 그저 좋은 분이라고 느껴서입니다." (하지만 그분의 마음은 저도 몰라요.. 저만 친하다고 느낄 수도?)커피를 좋아하는 Kyu 당신의 사생활이 궁금합니다Q. 언제 가장 캐나다가 그립다거나 가고 싶어요?"일단, 미세먼지 많은 날이요.  그리고, 가끔씩 이런 마음이 들 때가 있어요. 한국에서는 쳇바퀴도는 매일 똑같은 삶을 사는 것 같다는 느낌(?) 한국에서는 아무것도 하지 않아도, 뭔가 늘 바쁜 그런 느낌이 들어요. 안정감이 없다고 해야 할까요? 한국은 소비를 통해서 스트레스를 해소하는 나라인 거 같아요. 주로 뭘 사 먹거나, 소유하거나. 근데 캐나다에서 랑 미국에선 다른 방식으로 스트레스를 풀 수 있었거든요. 공감하시려는지 모르겠어요. 저는 그렇답니다. 한국에 살다 보니 이제는 사실 오히려 이제는 외국에 나가 산다는 게 더 큰 도전이 된 느낌이기도 하고요."Q. 가장 좋아하는 캐나다 음식은?"캐나다 초밥요! 캘리포니아 롤이 캐나다 밴쿠버에서 만들어졌단 사실 알고 계시나요? 저 그거 정말 좋아합니다.."Q. 스스로를 어느 나라 사람이라고 생각하나요?"저는 국적은 캐나다이지만, 저의 정체성은 한국에서 시작되었고, 한 번도 그걸 잊은 적이 없어요. 캐나다에서도 한국 문화에 대한 관심을 늘 가지고 있었거든요. 예능이라던지, 시트콤 다 따라서 봤었으니까요. (원래 외국에 살면 더 한국 프로그램 많이 보게 된다는..) 아무쪼록, 저는 제가 한국인임을 잊어 본 적이 없어요. 비록 국적은 캐나다인이지만요. 그리고 저는 최대한 한국의 가십거리를 말하지 않아요. 왜냐면, 저는 이곳에 오래 살지 않았고 제가 기여할 수 있는 부분이 굉장히 제한적이거든요. 제가 국방의 의무를 했다거나, 투표권이 있으면 모를까 제가 감히 함부로 한국에 대해서 말하고 싶지 않아요. 무엇보다 저는 제 스스로가 어느 국가의 사람인 지보단 '나'라는 스스로에 집중하는 편이에요."(앞으로 외국인이라고 부르지 않을게요 큐..)Q. 다른 이루고 싶은 꿈이 있다면?"다음 생에 저는 래퍼가 되고 싶어요. 정말로 진지하게, 힙합과 랩이라는 문화를 존중하고 좋아합니다. 그저 취미로 시작하고 싶은 게 아니라,  정말 다시 태어나면 온전히 랩에 집중해서 좋은 래퍼가 되고 싶어요."Q. 어떤 사람과 함께 일하고 싶나요?개발자로서 이루고 싶은 비전이 확실한 사람이요. 무엇보다 소통하는 데 있어서 나이를 떠나, 마음이 열려있는 사람과 함께 일하고 싶습니다. 서로를 존중할 수 있는 그런 사람이요.탁구를 좋아하는 KyuQ. 마지막으로 하고 싶은 말이 있다면?"주변 친구들이 스푼에서 일을 시작하기 전과 후가 많이 바뀌었다고 말하는데, 저는 제 스스로에게 정말 많은 변화가 생겼다고 생각해요. 조금 더 진지하고 진중한 사람이 된 것 같고 이 긍정의 변화가 앞으로도 계속되길 바랍니다. 아! 그리고 회사에 제공되는 샐러드가 매일 아침마다 오면 좋겠어요. 저 그럼 정말 회사 지금보다 더 즐겁게 다닐 수 있습니다"P.S: 매번 다른 사람들의 인터뷰를 하고 계신 Sunny를 제가 직접 인터뷰해보고 싶어요.서비스 플랫폼팀 팀원들이 Kyu를 한마디로 표현한다면?Charles 曰:  '대장' - 대시보드 장인Sam 曰:  '거머리' - 자꾸 달라붙어서..Mark 曰: '감초 같은 사람' - 약방의 감초처럼 저희 팀 업무 전반에 없어선 안될 사람(큐가 이렇게 하라고 시켰어요) 
조회수 4883

신입 개발자를 위한 코드의 정석

Overview대학을 수석으로 졸업했지만, 정작 회사에서는 A부터 Z까지 제대로 할 줄 아는 게 없었습니다. 실수를 남발할 때마다 느꼈던 좌절감은 아직도 생생하지만 되돌아보면 그때의 삽질이 소중한 피와 살이 되었지요. 오늘은 헤매고 있는 신입 개발자를 위한 글을 쓰려고 합니다. 신입 개발자, 당신! 내 이야기를 편하게 듣고 가지 않으실래요? 남을 위한 코드, 클-린 코드“너랑 같이 일하는 사람은 어떻게 보라는 거야?” “한 명이 짠 코드인데, 어째 한 사람이 짠 것 같지가 않다..” “이게 네 스타일이냐?” 대학생이었을 땐, 대부분 혼자서 프로젝트를 진행했습니다. 다른 사람이 제 코드를 보는 일도 거의 없어서 띄어쓰기나 들여쓰기 등에 통일이 없었고, 함수의 네이밍도 전혀 고려하지 않았습니다. 이게 나쁜 습관이었다는 걸 입사하고 알게 되었죠. 이 습관을 고치려고 코딩 컨벤션(coding convention)을 지키는 것에 꽤 오랜 시간을 들여야만 했습니다. 우리는 협업을 하는 사람들입니다. 사람들이 더러운 방보다 깨끗한 방을 좋아하는 것처럼, 당신과 협업하는 개발자도 보기 어려운 코드보다 깨끗한 코드를 더 좋아합니다. 클린 코드를 작성하기 위한 세 가지 기본 원칙을 잠시 소개합니다. 클린 코드를 위한 세 가지 기본 원칙 코드를 최초로 작성한 사람이 끝까지 유지보수를 한다는 보장은 없다.이미 잘 정리된 코드는 효율성이 증가한다. 정리할 시간에 코드 한 줄을 더 분석할 수 있으니까!리팩토링은 미루었다가 한꺼번에 하는 것이 아니다. 코드를 작성하는 매순간 함께 하는 활동이다.작은 것 하나부터 습관을 들여보세요. 분명 깔끔하고 보기 좋은 코드를 만드실 수 있을 겁니다. 머지 않아 “남을 위한 코드는 곧 나를 위한 코드”라는 것도 알게 될 거고요. 책의 한 구절이 떠오르네요. “우리는 저자이다. 저자에게는 독자가 있다. 그리고 저자에게는 독자와 잘 소통해야할 책임이 있다.”⌈Clean Code⌋의 저자, Robert C. Martin 설마가 사람 잡는다, 철저한 검증만약 누군가 검증 단계에서 잊지 말아야할 것이 뭔지 묻는다면 이렇게 대답하고 싶습니다. “절대 사용자가 입력한 값을 신뢰하지 말라. 프론트엔드에서도, 백엔드에서도.” 모든 사용자가 각 항목에 맞게 올바른 정보만 입력해준다면 얼마나 좋을까요? 세상에는 다양한 사용자가 있습니다. 너무 바빠서 얼른 회원가입을 해야하는 사용자는 항목을 채우지도 않고 신청 버튼을 누를 수도 있습니다. 영어로 입력해야 하는 항목엔 한글을 입력한 사용자도 있을 겁니다. 이런 휴먼 에러(human error)뿐만 아니라 의도적으로 비정상적인 요청을 시도하는 사용자도 분명 있습니다. 이 때문에 개발자는 기능에 대해 항상 검증해야 합니다. 바로 이렇게요!그런데 프론트엔드에서 유효성 검사를 하면, 백엔드에는 유효한 값만 넘어온다고 보장할 수 없습니다. 자바스크립트는 브라우저 엔진에 따라 다르게 동작할 수도 있습니다. 또 자바스크립트에서 다루는 값들은 크롬의 개발자도구(option + command + i)를 이용하면 얼마든지 값을 변조하거나 검증을 회피할 수 있습니다. 또 불온한 시도가 아니더라도 다양한 예외 케이스들이 존재하기 때문에 백엔드에서도 무조건 검증해야 합니다.페이스북 페이지의 개발자 도구를 열었을 때 노출되는 화면입니다. 얼마나 나쁜 사람들이 많으면 경고화면까지 만들었을까요?누군가 질문할 수도 있겠군요. “프론트엔드의 검증이 의미가 없다면, 백엔드에서만 검증을 해도 되지 않을까요?” 네, 아닙니다.(단호) 많은 양의 일을 한꺼번에 하는게 힘든 것처럼 무분별한 요청이 서버에 쏟아지면 서버도 사람처럼 지치고 말 겁니다. 응답이 느려지는 등의 문제가 생길 수도 있고, 결국 사용자가 불편해질 것입니다. 그러므로 가장 좋은 검증 방식을 3단계로 정리하면 아래와 같습니다. 고수가 되는 검증 방식 3단계프론트엔드에서 먼저 값 검증을 하여 빠른 사용자 경험을 제공한다.백엔드에서 다시 한 번 더 검증을 거쳐 상황에 적절한 응답 코드를 내려준다.프론트엔드는 상황에 맞게 적절한 UX와 메시지를 보낸다. 동작 그만! 정리는 하고 코딩하자!예전에는 요구사항이 있으면 바로 키보드 위에 손부터 올렸습니다만, 그건 좋은 태도가 아니었습니다. 팀장님이 “이 경우엔 어떻게 하지?”라고 질문하면 아무 대답도 하지 못했기 때문이죠. 팀장님은 늘 “항상 먼저 생각하고 코딩하자!“라고 조언하십니다. 맞습니다. 최대한 모든 경우의 수를 머릿속에 정리하고 코딩을 시작해야 합니다. 시간이 없다는 핑계로 무작정 시작하면 분명 문제가 발생합니다. 또 구현할 기능만 몰두하지 말고, ‘이 기능이 다른 기능에 영향을 미칠 수 있을까?’를 고민하면 훨씬 좋은 코드를 만들 수 있을 겁니다. “이런 거 다 생각하고 짜면 도대체 코딩은 언제 하라고?” “얼른 선임 분들에게 코딩하는 내 모습을 보여줘야 하는데!” “당장 코드 안 짜고 있으면 노는 것처럼 보이지 않을까?” 혹시 이런 생각을 하고 계신가요? 나도 그런 생각을 했던 적이 있습니다. 하지만 요구사항을 확실하게 정리한 후, 코드를 짜는 게 더 효율적입니다. (그렇지 않으면.. ‘수정’이란 이름 아래 모든 것을 뒤엎고 처음부터 다시 시작해야할 수도 있습니다.) ‘더 나은 개발자가 되는 8가지 방법(8 Ways to Become a Better Coder)’이란 글에는 이런 내용이 있습니다. “동작하는 코드는 끝이 아니라 시작이다.” 신입 개발자는 종종 요구사항에 따라 동작하는 코드만 짜면 된다고 여길 때가 있습니다. 물론 사회생활에 적응하느라 정신 없는 와중에 그나마 자신의 코드가 요구사항대로 동작하면 무척 뿌듯할 겁니다. 하지만 동작만 한다고 절대 지나치지 말아주세요. 위에서 언급한 것처럼 깨끗한 코드가 되도록 리팩토링을 하고, 검증하고, 동작이 제대로 되는 것인지 의심하면서 꾸준히 노력해야 합니다. 마지막으로 항상 중요하게 생각하는 문장 하나를 남기고 글을 마치겠습니다.“진정으로 훌륭한 프로그래머는 적극적으로 어디가 잘못되었지를 찾는다. 자기가 놓친 결함은 결국 ‘사용자’가 발견하게 된다는 것을 알고 있기 때문이다.” Esther SchindlerConclusion지금까지 다룬 내용은 결국 같은 맥락입니다. 모든 개발조직은 좋은 품질의 소프트웨어를 개발할 줄 아는 개발자, 협업할 줄 아는 개발자를 원합니다. 누군가 “당신은 잘 지키고 있는가”라고 질문한다면, “저 또한 노력하고 있습니다.”라고 답변하고 싶습니다. 같은 자리에 머무르는 개발자가 될 것인지, 부족함을 알고 항상 배우고 나아가는 개발자가 될 것인지는 스스로의 몫이라고 생각합니다. 이 글을 끝까지 읽은 신입 개발자 당신! 같이 노력하지 않으실래요? :-) 참고 Robert C. Martin, 「Clean Code」, 케이엔피북스(2010)Esther Schindler, 8 Ways to Become a Better Corder, New Relic, 2018.03.02.유석문, 「프로그래머 철학을 만나다 - 소프트웨어를 사랑하는 기술」, 로드북(2014)임백준, 「읽기 좋은 코드가 좋은 코드다」, 한빛미디어(2012)팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들프론트에서”만” 유효성 검사가 문제인 경우남을 위한 코드 만들기 - 클린코드글김우경 대리 | R&D 개발1팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #개발문화 #개발팀 #업무환경 #인사이트 #경험공유
조회수 1161

스타트업, 시작하기 전에...

나는 후배들에게 스타트업과 관련하여 어떻게 성공하는 가에 대해서는 이야기할 성공 경험과 성공을 말할 능력은 없다. 다만, 무수히 많게 도전한 대부분의 사업의 실패 경험만 있을 뿐이다. 그래서, 성공하는 법은 이야기할 수 없고, 다만, 실패하거나 망하는 방법을 피하는 방법에 대해서만 이야기한다.'바둑은 운의 기예이다.'라는 말이 있다.사업과 성공, 승부에 대한 단어를 생각하기에 가장 좋은 비유는 바둑인것 같다. 알파고와 이세돌 9단의 대국을 보면서 사업에 대한 여러가지 생각이 떠올랐다. 보통, 바둑은 기예의 대결이라고 한다. 기량만이 신뢰할 수 있는 최상의 무기라고 바둑을 아는 사람들 대부분 그렇게 이야기한다.하지만, 승부의 결과는 꼭 그렇지 않다. 기량과 관계없이도 승부는 갈릴 수 있다. 이론으로 설명 안되고, 인력과 기량을 초월한 그 무엇으로 승부는 갈린다. 그러한 것을 많은 사람들은 '운'이라고 이야기한다. 물론, 그런 '운'도 기량의 하나라고 이야기하는 사람들도 있다.일단, 사업 성공의 비밀은 '운(運)'이 좋아야 한다. 시대적인 배경이건, 주변 인맥의 힘이건, 전쟁이건, 태어난 나라의 혜택이건... 일단, '운(運)'이 필요하다. 하지만, 이것은 어떻게 선택하거나 원한다고 생기는 것이 아닌, 외부의 효과이기 때문에 그런 천운을 받은 사람은 말 그대로 복 받은 사람이다. 그리고, 대부분은 '운'이 없다.그리고, 팀을 구성하고 팀원들이 세팅되는 것도 대부분 '운(運)'이 좌지우지한다. 그것 또한 어떻게 할 수 없는 외부 요인이다. 사업은 개인의 노력으로 어떻게 해결되지 못하는 것이 대부분이다. 그것을 알고 시작하도록 하자.다만, 이러한 '운'을 제외하고 통제할 수 있거나 판단할 수 있는 것들에 대해서 이야기하려 한다. 창업을 하고 싶은 사람에게 이야기해줄 키워드는 몇 가지밖에 없다.하나. 하늘이 내린 운...둘. 만들어진 제품이나 서비스를 구매할 시장, 마켓의 존재 유무셋. 너무 빨리 만들면 안 된다. 적당하게 시간을 맞추어야 한다.넷. 너무 많은 기능이 들어가거나 너무 적게 들어가면 안 된다. 적절한 비용으로 만들어진 적절한 제품이어야 한다.영어 키워드로 나열하면. Lucky, Market, right timeing/product, 실제 계산할 수 있거나 통제할 수 있는 것은 시장에 대한 판단과 적절한 시기와 적절한 기능에 대한 통제이다. 물론, 절대적인 것은 '운'이라고 생각하자.물론, 운은 있었으나 너무 빨리 만들거나, 너무 많은 기능으로 구현된 제품과 서비스를 내놓으면 실패한다. 내가 그러했다. 결국, 운을 기회로 만들고, 성공이라는 키워드로 바꾸는 것은 결국 '기량'과 '실력'의 차이라고 생각한다.뭐, 더 냉정하게 이야기한다면. 대한민국에서 사업에 성공하려면 '땅'이나 '부동산'을 사는 것이 최선이었다. 미래는 어떻게 될 것인지 모르겠지만, 최소한 2016년도까지는 그러한 것이 맞는 것 같다. 국내 벤처회사들 중에 우연인지 아닌지 모르겠지만. 대부분 '건물'과 '땅'을 구매했던 회사들은 살아남아있다. 아니, 그렇게 행동할 수 있는 결정을 내린 똑똑한 임원들이 그 회사를 살린것인지도 모르겠다.다만, 스타트업을 만들고 제대로 된 회사를 만든 다는 것이 얼마나 많은 고통 이상의 것들을 경험해야 하는 것인지 잘 아는 필자이기 때문에 '사업'에 대해서 진지하게 고민하라고 이야기하고 싶다. 이번 글의 주된 내용은 '사업'을 시작하기 전에 그런 것들을 고민해 보라는 것이다.성공과 성취에 대한 형이상학적은 뜬구름 잡는 이야기가 아니라, 조금은 현실적인 부분에 있어서 충분하게 생각하고 고민하고, 정말 자기가 하고 싶은 일이 의미가 있는 것인지에 대해서 생각해보았으면 하는 마음에서 그동안의 경험을 기반으로 몇 가지를 정리해본다. 그다음에 사업을 시작하는 생각을 결정해도 충분히 늦지 않을 것이다.일단, 창업을 꿈꾸는 사람들이 다음과 같은 이유로 회사를 그만둔다는 것이라면 다시 한번 창업을 생각하기 바란다.첫 번째. 사업이라는 것이 경영과 영업이 그렇게 대단해 보이지 않는다. 경영진과 영업이 하는 일이 그렇게 많아 보이지 않는다. 더군다나, 잘하고 있는 것 같지도 않다. ( 경영이나 사업, 영업이 쉬워 보일 때가 있다. )회사에서 열씨미~~ 일을 하는 직원들은 정신없는데, 경영진이나 영업진들이 하는 일은 명쾌하게 보이 지를 않는다. 다들 노는 것 같고, 무슨 일을 하는지 잘 모르겠다. 당장 물건을 만들 거서 서비스에 집중하기보다 뜬구름 잡는 이야기만 하는 사람들만 많은 것 같이 보인다.특히, 소프트웨어를 개발하고 있는 내가 보기에는 회사의 경영진이 제대로 고객과 대응하지 못하고, 잘못된 대응을 하면서 소프트웨어 개발자인 내 일이 점점 더 힘들어지고 있다. 그래서, 내가 직접 하는 것이 현명하다고 생각을 자주 하게 된다.쉽게 이야기해서 ‘경영진은 제대로 경영을 못하고, 영업팀은 제대로 고객 응대를 잘 못하고 있는 것 같다는 생각이 드는 때에, 스타트업을 생각하는 개발자의 경우에는 필자는 말리고 싶다.이런 생각을 하고 있는 개발자라면 아직은 '소프트웨어 개발'에 대해서 밖에 잘 모르는 상황이므로, 아직은 '창업'을 꿈꿀 때가 아니라고 필자는 창업을 만류하겠다. 아직은 언제나 자신이 하는 일이 더 커 보이고, 더 어렵게 생각되는 것은 매우 당연한 것이고, 일반적인 사람들의 입장에서는 그렇게 보이는 것이 매우 당연한 것이다. 그래서, 너무 자신의 좁은 시야만을 가지고 있기 때문에 창업을 하거나 스타트업을 하는 것에 대해서 깊이 있게 생각하기 바란다. 그렇게 너무 일반적인 '직장인'의 시선으로 밖에 회사의 업무를 파악하지 못한 것이기 때문에 아직은 '창업'을 할 때가 아닌 것 같다.두 번째. 아주 멋진 아이디어가 있고, 이 아이디어에 대해서 회사에서 받아들여지지 않는다. 정말 획기적인 아이디어인데... 이 아이디어는 분명, 누군가가 이 서비스가 만들어지면 열광할 것이다라는 믿음을 가지고 있을 때이다.누군지는 잘 모르겠지만, 내 아이디어를 필요로 하는 그 누군가를 위해서 이 아이템과 이 아이디어를 실현하고 싶다는 생각을 자꾸 떠올리게 한다. 다만, 이 아이템 와 아이디어가 쓸모 있을 것이라는 확신은 약간 부족한 정도일 뿐이다.하지만. 그 아이템과 아이디어가 '돈'을 주고 구매할 대상이 정말 존재할 것인지에 대해서 먼저 의심을 가져야 한다.조금은 구체적인 아이디어를 통해서, 실제 구매할 대상이거나, 아니면. 최소한 내가 '돈'을 내고 살 수 있는 아이디어가 구체화될 때까지 창업을 뒤로 미루라고 조언을 주고 싶다.언제나 기술이나 아이디어가 실제 실현되고 시장에서 제 역할을 하기 위해서는 실질적인 '구매자'가 분명하게 존재해야 한다. 단지, '아이디어'와 '서비스'의 아이디어만 가지고 실제 사업을 수행한다는 것은 매우 쉽지 않은 일이다.세 번째. 아이디어를 충분하게 구현을 하지 않았지만, 이 아이디어는 분명하게 성공할 수 있는 가능성이 있다. '돈'만 있으면, 충분하게 사람을 구하고, 서비스를 준비해서 시작할 수 있을 것이다.만일 이런 생각을 가지고 있다면, '작은 서비스'나 '작은 프로토 타입'이라도 실제 개발하여 보는 것을 먼저 하라고 권하고 싶다.어떤 아이디어이건 실제 구현을 하다 보면, 실제 머릿속으로 구상했던 것과는 전혀 다른 의미를 가지거나, 많이 부족하거나, 구체적인 실현 아이디어들이 덜 생각되어진 경우가 많다. 대부분의 성공적인 스타트업을 수행한 사람들의 사례를 살펴보면, 작은 것부터라도 실제 구현하고 실제 만들어본 후에 일을 시작한 경우가 많다는 것이다.이 외에 에도 내가 만들고 싶은 무언가를 위해서 창업과 비즈니스를 꿈꾸고 있는 개발자가 있다면, 이번 칼럼에서 몇 가지를 조언하고 싶은 것 중에 가장 큰 것은 '꿈'을 실현하는 데 있어서 '현실적인 일'에 대해서 너무 무시하거나, 너무 작게 생각하지 않기를 바란다.필자 역시 무언가를 만들고 싶어서 창업을 시작했을 때에는 정말 신났던 기억이 난다. 내가 만들고 싶은 제품에 대한 아이디어를 구상하고 구현하고 싶은 무언가를 만들고 테스트하고, 하고 싶은 것을 위해서, 만들고 싶은 것만을 위해서 그 이야기만을 나누는 사람들을 모으고, 그 꿈에 대해서 이야기할 때에 정말 즐거웠다.하지만, 나중에 알게 되었다. 실제, 사람을 모으고, 사람과 호흡하면서 실제 무언가를 만들어 나가는 '이익'을 위한 조직인 회사라는 곳과 공동작업이라는 것을 위해서 얼마나 많은 부수적인 작업들과 생각, 비전과 프로세스, 목표 등에 대해서 제품 개발 업무 이외의 수많은 작업들과 필요한 행정적인 업무들이 정말 많다는 것, 그러한 업무들이 정말 많다는 것을 나중에야 알게 된다.물론, 이러한 일을 대신해주고, 도와줄 사람을 구하는 것도 방법일 것이다. 하지만, 그 역시 사람이 투입되게 되면 '비용'이 들어가는 것이고, 어떤 사람이라고 하더라도, 자신과 똑같은 생각을 일치하게끔 가지는 것은 정말 매우 어려운 일이다.현재 시점에서 필자가 생각하는 무언가 목표로 하고 있는 서비스를 개발하는 것과, 다른 부수적인 업무들을 구분하고, 그러하게 만들어진 '가치'를 실제 시장에 내어 놓고, 실현하는 것을 퍼센트로 구분한다면 필자는 이렇게 정의한다.무언가를 만들어 내갈때에는 처음에는 개발이 50%, 다른 잡스러운 업무가 50%라고 생각할 수 있다. 순수하게 소프트웨어를 개발하고 구성하고 테스트하는 업무가 50이고, 다른 잡스러운 행정적인 것들의 업무가 50%를 넘어서는 수준으로 발생한다.은행을 찾아가는 법, 세금에 관련된 것, 직원을 고용하는 것에도 규칙이 있다는 것, 사람을 뽑고 관리하고, 시간을 조절하고, 근무장소에 대한 것, 사무실 청소부터 작은 소모품에 대한 관리까지 정말 많은 것이 있다.사람들과의 트러블은 매우 당연하게 발생하고, 별것 아닌 것 같지만 시간을 끊임없이 소모하게 되는 수많은 서류들이 '업무'로써 존재한다.정말 제품과 서비스를 만드는 것 이외의 전혀 상관없다고 생각하는 것들에 대해서 생각해야 하고 아이디어를 가져야 하고, 경험을 가져야 한다. 그런 업무에 대해서 생각하고 고민해야 하고 투자해야 한다.그리고, 실제 '서비스'나 '제품'이 나왔다면, 이러한 것들을 유지하기 위한 개발업무가 30%, 기타 잡스러운 업무가 30%, 해당 제품과 서비스를 관리를 하고, 유지 보수하는 업무가 전체의 40%에 해당한다.실질적으로 소프트웨어를 개발하는 업무는 전체적인 업무의 30%이며, 실제 아이디어를 구현하는 것보다 더 어려운 40%의 비용과 시간을 수정 유지 보수하기 위해서 시간과 비용을 소모하게 된다.처음에 잘 만들지 않은 소프트웨어라면, 이 유지보수 비용은 기하급수적으로 증가한다. 그리고, 대부분이 처음 만들어진 것을 다시 만든다. 그것이 소프트웨어 기업이고, IT기업인 것이다.개발자라면 창업이건, 기업을 만들건 몇 가지를 착각하면 안 된다. 그리고, 기억해야 한다. 대중 매체와 미디어에서 이야기하는 정말 성공한 사람들이 제대로 이야기를 해주지 않는구나라고 생각하는 것이 가장 현명하다.정말 뛰어나게 성공한 사람들은 자신들의 '운'에 대해서 잘 설명하기 어렵다. 그리고, 자신들이 가지고 있었던 배경과 기회에 대해서 잘 설명하지 못한다. 그래서, 대부분 사람들은 자신의 진정한 성공 스토리를 이야기하기보다는 자신이 생각하는 멋지고, 폼난 부분들만 설명할 뿐이다.'그 사람들은 좋은 부분만 이야기하고 있는 것이구나'라는 것을 한참 후에야 느끼고 이해할 수 있는 것이 실제 창업을 하고 사업을 하면서 알게 될 것이다.여기까지 느끼게 되면 이제야 '소프트웨어 개발을 하고 유지보수를 할 수 있으며, 행정적인 것을 끌어 갈 수 있게 된다. 하지만, 가장 어려운 것이 남아 있다. 여기까지 왔으면, 이제 사업가가 될 준비가 30%가 된 것이다.그것은 내가 만들고 싶은 사업 아이템을 위해서 자본을 끌어들이는 것을 고민하고 설득할 준비를 하는 것과 물건을 팔기 위해 고객을 찾아가는 것을 이제 시작해야 한다. 사실, 이제부터 본격적으로 '사업'에 대해서 구상해야 한다.그리고, 내가 생각한 아이디어와 서비스, 비즈니스를 손쉽게 시장과 고객에게 설득하기 위한 논리와 쉬운 설명방법을 생각해야 한다. 소비자와 투자자들은 언제나 '돈'을 가지고 있다. 그리고, 자신들이 필요한 서비스들에게 '유료'로 돈을 지불하고 구매할 용의가 있으며, 투자자는 '성공할만한 아이디어'에게 투자할 준비가 되어 있다.정말 필요하고 매력적인 제품과 서비스라면 '소비자'와 '투자자'를 찾는 것이 어렵지 않을 것이다. 실제, 시장에 '돈'은 정말 풍부하다.하지만, 대부분, 소비자에게 필요한 서비스를 매력적으로 설명하는 것이 얼마나 어려우며, 투자자에게 이 아이디어가 얼마나 매력적인지에 대해서 설명하는 것이 얼마나 어려운 것인가에 대해서 나중에야 느끼게 된다.자신이 혼자서 흥분하고, 자신만 좋아서 무언가를 만드는 행위는 그냥, 자신의 '개발 놀이', '사업 놀이'에 가깝다. 물론, 이러한 '놀이'를 했는데, 자신의 '놀이'의 파격적인 아이디어와 미래적인 가치를 발견한 소비자와 투자자를 바로 찾는 다면, 그것은 정말 대단한 행운을 얻은 것이다.그래서, 보통은 '창업'과 '사업'을 하려고 하는 사람이 있다면, 자신의 아이디어를 어떻게 정리하고 어떻게 설명하고, 어떻게 시장에 선을 보일 것인가에 대해서 충분한 연습과 충분한 준비를 하는 것이 정말 중요한 것이다.개인적으로는 대한민국의 창업과 관련된 수많은 프로세스들이 이러한 '최소한의 과정'을 위해서는 나름 정제되어 있는 프로세스를 가지고 있다고 생각한다. 물론, 이 제도들의 유용성이나 가치에 대해서는 이번 이야기에서 장황하게 설명하기에는 부족하기 때문에 단편적인 측면에서 '사업'을 준비하는 사람의 입장에서 어떤 방법으로 무엇을 먼저 '문서화'해야 하는지에 대해서 명쾌하게 가르쳐준다.굳이, 정부과제를 신청하지 않는다고 하더라도, 내가 하고 싶은 일과 내가 하고 싶은 것에 대해서 종이로 작성이 불가능하고, 단어로 설명할 수 없고, 구체적으로 무엇을 만드는지에 대해서 기술할 수 없다면, 그 사업과 아이템은 처음부터 다시 생각하는 것이 현명하다고 하고 싶다.물론, 이 프로세스를 통해서 수백 페이지의 문서를 만든다고 프로젝트가 성공하는 것은 아니다. 또한, 이러한 문서를 잘 만든다고 서비스와 아이템이 실현되는 것도 아니다.실제, 필자가 본 정말 자신의 생각을 잘 정리하는 사람은 이 프로세스에 맞추어서 내가 만들고자 하는 서비스의 정의와 이 서비스는 어떻게 만들어지며, 어떤 기술들이 필요하고, 어떤 시장과 어떤 환경을 예측하고 있는지에 대해서 많지 않은 문서로 충분하게 설명을 할 수 있다.그것이 이런 사업계획서를 작성하는 주목적이 된다. 그러니, 사업과 창업을 꿈꾸는 개발자라면 창업이나 프로젝트의 사업계획서를 꾸준하게 작성해보는 것이 어떨까 한다. 특히나, 기업 내부에 있다면 이러한 문서를 만드는 방법이나 표현법에 대해서 가감 없이 평가해줄 수 있는 유경험자들이 충분하게 있으니, 이런 도전을 한번 이상은 꼭 해보기를 바란다.물론, 그렇다고 해서, 성공하는 것도 아니다. 다만, 실수를 줄여주고, 내가 생각한 아이디어를 좀 더 구체적으로 표현하는 방법을 터득한 것뿐이다.회사를 만든다는 것은 정말 다른 것이다.회사를 만든다는 것은 정말 어렵다거나 쉽다거나의 문제가 아니다. 정말, 그동안 해온 일과 다를 것이다. 특히, 회사를 만든다는 것은 제품만 만든다는 것과 얼마나 다른 것인가? 에 대해서 깊이 있게 생각해야 한다.회사라는 법인체는 분명, 법적으로 살아있는 인격체이다. 그러한 인격체가 어떻게 만들어지고, 그 내부에 속한 조직원들에게 어떤 목소리를 내어야 하고, 그 과정을 어떻게 이겨내고, 어떻게 찾아가야 하는가에 대해서 깊이 있게 생각해야 한다.복잡한 경영이론과 개론을 이야기하는 것이 아니라, 여러 사람이 모여서 어떤 목표를 이루어 나가는 것에 있어서 구체적인 목표와 비전, 그리고. 문화에 대해서 어떻게 가져갈 것인가에 대해서 기준을 세워야 한다.그리고 다시 자신에게 되묻는 것을 계속 반복해야 한다.'정말 만들고 싶어서 고른 것인가?''아니면, 팔릴 것 같아서 만든 것인가?'필자는 어는 것이 정답인지 잘 모르겠다. 실제, 만들고 싶어서 만들었는데 잘된 경우도 보았으며, 잘 팔릴 것 같다고 생각한 제품이 실제 운이 좋거나, 일부 기술이 잘 개발되어져서 성공한 경우도 많이 보았다.현재 대한민국의 스타트업의 세계를 보면, 매우 재미있는 현상이 있다. 그것은 중견기업의 IT기업이 스타트업의 아이템과 비즈니스 모델을 적절한 가격에 사들인다는 것이다. 저 멀리 실리콘 벨리에서 수천억, 수조 원에 팔리는 환상적인 이야기는 아니지만, 구체적인 사업모델과 수익모델이 만들어지고, 이익을 보고 있거나, 무료 앱이지만 충분한 다운로드 횟수가 100만 다운로드를 넘어선 앱들이, 적절한 가격에 회사가 통째로 팔리는 경우를 보고 있거나, 자문을 하고 있다.구체적은 한국형 M&A의 시장이 가동되고 있는 것을 볼 수 있다는 것이 매우 고무적인 일이다. 현재는 무료 앱이라고 하더라도, 수백만 다운로드와 수십만 이상의 사용자를 가지고 있는 앱의 경우에도 충분하게 가치가 있다는 것을 시장에서 반응하고 있다. 현재의 투자자나 투자기업들은 스타트업에게 '비즈니스 모델'과 '수익 모델'에 대해서 질문하고 유도하지만, 충분하게 사용자를 확보한 모델의 경우에는 그 가치를 인정한다는 것이다.오히려, 그러한 모델로 진행된 스타트업의 경우에는 적절한 비즈니스 모델을 가진 모기업을 찾아주거나, 필요한 모델들끼리의 결합을 유도하기 시작했다. 이제 한국도 충분하게 M&A 시장이 소프트웨어 기업에서는 시작된 것이다.소프트웨어 사업은 혁신이 필요한가?소프트웨어 개발기업에게는 '혁신'이라는 단어가 꼭 필요한가에 대해서 필자에게 질문이 들어온다면, 필자는 '혁신'이 꼭 필요하다고 대답한다. 특히나 소프트웨어는 '정보'를 다루는 것이고 '정보'가 필요한 곳으로 옮겨가게 하고, 변환되게 하는 것이 소프트웨어 기업의 역할이다. 아무리 사소한 정보라고 하더라도, 손쉽고, 빠르고, 필요한 형태로 제공되는 것은 분명, 현시점에 없는 것이기 때문에 '혁신'이라고 평가할 수 있다.하지만, 이러한 '없는 것이 만들어진다'는 것에 대해서 소프트웨어 개발자들에게 설명을 할 때에 매우 난처한 경우가 간혹 발생한다. 특히나, 개발 경력이 조금 축적된 개발자들의 경우에 몇 가지 정보들을 재가공하여 만들어진 비즈니스 모델이나 환경에 대해서 매우 폄하하는 식의 발언을 하는 경우가 많다.필자 역시 그러했다. 소프트웨어 개발자이기 때문에 복잡하고 어려운 것을 만들고, 무언가 대단하게 기술적인 내용을 연구하고 실현하는 것이 '혁신'이라고 착각했던 것이다.그냥, 그것은 '기술자'로써의 연구를 위한 과제이지, 현재 비즈니스의 세계나 소프트웨어의 세계에서 이야기하는 '혁신'하고는 거리가 있는 것이다. 정말, '연구만을 위한 기술개발'은 존재하지 않는다.만일 그러한 '연구만을 위한 개발'을 하고 싶다면, 필자는 '오픈소스'를 사용하여 세상을 위하여 재능기부를 하는 마음으로 연구하라고 권하고 싶다. 이렇게, 진행하다고 어느 정도 필요한 가치 이상을 가지게 되었을 때에 기회가 오는 경우도 종종 발견한다.다만, 이러한 '연구'를 위한 기업을 만들거나 조직을 만드는 것은 그냥 가상 기업의 형태로, 자신의 여유 있는 시간을 투자하는 것으로 만족하기를 바란다고 이야기하고 싶다. 물론, 그것 이상의 가치가 있다고 생각하여 개인이 투자하는 것은 전적으로 개인의 선택이기 때문에 말리지는 않겠지만, 굳이, 그렇게 어렵게 할 필요 있는가 싶다.기업을 창업하는 이유는 무언가 구체적인 서비스가 결정되고, 그것에 충분한 자금이나 인력, 시간을 투입하여 시장에서 빠르게 가치를 실현하기 위해서 기업을 만들고 조직을 만드는 것이다. 그 뿐이라고 생각한다.그렇다면, 소프트웨어 산업에서 혁신이란 무엇인가?없는 것을 새롭게 만드는 것은 무엇인가?기술이란 도대체 뭐지?혼동하지 말자. 소프트웨어 산업에서의 혁신은 분명, 없는 것을 만드는 것이다. 그리고, 그 없는 것을 사용하는 소비자가 나타나는 것이다. 그것이 소프트웨어 산업에 있어서의 혁신이다.가장 유명하게 혁신을 설명한 방법이 있다. 가장 혁신을 쉽게 설명한 사례는 Tom Peters의 이야기 중에 '또 다른 햄버거를 내놓지 않는 것이다'라는 말로서 그 내용을 설명해보겠다. 그 글에서는 햄버거로 '혁신'에 대해서 설명한다. '와퍼(Whopper)가 있는데 불고기 와퍼가 나온다고 이것은 혁신이 아니다'. 정형화된 Fast Food는 변하지 않는다. 단지, 그 내용물이 좀 바뀐 것은 혁신이 아니라는 것이다. '정형화되고 싸고 빠른 것'이라는 FastFood인데 그 프로세스는 그대로이며, 빠르고 간편하게 먹는 패스트푸드의 성격은 변하지 않았다.그래서, 와퍼 대신에 불고기 와퍼가 나온 것은 혁신이라고 볼 수 없다. 하지만, 이런 패스트푸드를 정면에서 다시 해석하게 되면 혁신이 된다. 바로 인 앤 아웃 버거이다.신선한 재료와 재료의 선도를 목표로 하고 싸구려 냉동감자 대신에 생감자 French Fried를 튀겨 주는 것이다. 햄버거를 만드는 데 신선하고 선도가 좋은 재료와 생감자를 사용하여 제품을 만든다는 혁신을 실현한 것 In-N-Out의 생각이다.이러한 것처럼 '혁신'이란 기존의 가치를 바꾼 것이다. 그것이 '혁신'이다.물론, 개발자들 간에도 논쟁이 있다. 골수 소프트웨어 개발자들의 경우에 스티브 잡스가 만들어 낸 아이폰의 혁신이 과연 혁신인가? 과거의 것을 합쳐놓은 것 아닌가?라는 식으로 평가할 수 있다. 이런 생각을 가지고 있다면, '혁신'에 대해서 제대로 이해할 수 없는 소프트웨어 개발자가 되어버린 것이라고 필자는 이야기하고 싶다.그래도 스타트업을 하고 싶다면회사를 그만두고 한 번 창업하라고 한다. 사실, 기업이란 작게 망해봐야 정말 제대로 된 경험을 가지게 된다. 그래서, 가능한 젊었을 때에 부담스럽지 않게 망했을 때에 사업을 해보는 것이 가장 현명한 것인지도 모르겠다.한편으로는 두려움이 없고, 그 결과에 대한 책임감에 대해서 잘 모르는 무모한 시절에 창업을 하는 것이 더 현명한 지도 모르겠다.필자는 20대의 무모함과 도전정신으로 창업과 스타트업의 무거운 무게감을 이겨냈다고 생각한다. 현재, 필자의 경우에는 성공보다는 성취감에 더 집중하고 있고, 필자가 하고 싶은 일을 충분하게 하는 것으로 만족한다.너무 많은 준비를 한다고 성공의 요소가 충족되는 것도 아니고, 너무 적은 준비를 한다고 실패의 가능성이 높아지는 것이 아니다. 필자가 경험한 20년의 시간들을 뒤돌아 본다면, 사업은 그런 것 같다.99가지의 필요 충분한 요건을 세웠지만, 1가지의 요소 때문에 실패하는 경우를 보았고, 99가지를 엉터리로 했지만, 1가지의 요소 때문에 성공한 사람들을 보았다. 심지어, 그냥 운으로 성공한 사람도 있었다.필자의 주변을 돌아보면, 현재 대한민국에서 성공적으로 스타트업을 한 사람이라고 평가받는 경우는 정확한 시기에 자신이 만든 서비스를 보유한 기업을 정당한 ‘가격’에 현금으로 팔았거나, 자신의 솔루션을 ‘현금’으로 큰 기업에 판매한 사람들이거나, 투자를 받은 이후에 ‘현금’으로 성공적으로 exit 한 경우를 ‘성공’한 사람으로 평가한다.하지만, 필자는 꼭 그렇게 성공하는 모델을 후배들에게 추천하지 않는다. 필자가 생각하는 성공한 스타트업은 ‘자신이 만들고 싶어 하는 서비스’를 만들고, 자신이 일하고 싶은 동료들과 어울려서 10년이 넘도록 자신의 서비스와 솔루션을 만들고 유지 보수하면서, 자신이 개척한 시장의 소비자들과 공존하는 방법을 터득한 사람들을 ‘성취’한 사람들이라고 평가하고 싶다.후배들은 ‘성공’한 현금을 가진 사람이 될 것인지? ‘성취’한 사람이 될것인이지에 대해서는 각자의 목표와 비전에 맞추어서 생각하기 바란다. 과연, 인생의 목표는 ‘성공’인가? ‘성취’인가?
조회수 2710

MOIN 안드로이드 개발자를 소개합니다

영화 같은 일들이 매일같이 벌어지는 요즘 모두들 안녕하신가요?해외송금 스타트업 모인에게 최근 새로운 변화가 생겼습니다.안드로이드 개발자가 합류했습니다.어떤 분인지 지금부터 소개 해드리겠습니다 ^^안드로이드 개발을 해주실 효찬님!- Professional Experience -2015.01~2016.10 kt R&D 연구개발센터 전임연구원2013.07~2015.12 kt R&D 연구개발센터 연구원2013.03~2013.06 kt R&D 연구개발센터 인턴- Education -2006.03~2013.08 고려대학교 컴퓨터통신공학부 학사2001.09~2005.05 Jakarta International School▶ 모인에서 어떤 일을 담당하고 계신가요?총체적인 안드로이드 개발과 웹 서버를 보조하는 일을 맡고 있습니다.▶ 개발자가 되겠다고 한 계기가 궁금합니다. 개발자로서 이력에 대해 간략히 설명해주시겠어요? 특정한 계기가 있어서 개발자가 되겠다고 한 건 아니었어요. 고등학교 시절, 컴퓨터 게임 하면서 막연히 나도 게임을 만들어 보고 싶다고 생각했고 그래서 관심은 가지고 있었죠. 친구들 이름 넣어서 RPG를 만들어보기도 했는데, 생각해보면 스토리 만들기가 재밌었던 거 같아요. 그러면서 자연스럽게 어떻게 하면 컴퓨터 개발할 수 있나 생각도 해보게 됐고, 책도 뒤적여보게 됐습니다. 이런 생활이 고2때까지 이어졌어요. 그런데 마땅히 공부할 수 있는 방법이 없어서 대학가서 해야겠다 생각했습니다. 대학 와서 본격적으로 컴퓨터공학을 공부하면서 재미를 느끼게 됐어요.▶ 그 중에서도 안드로이드 개발을 선택하게 된 이유는 뭐였을까요?예전에 KT에 있을 때, 안드로이드 개발 프로젝트를 맡으면서부터입니다. 원래 이 분야에 대해 전혀 몰랐는데 회사에서 3일간 안드로이드 개발 교육을 받고 해보라는 지시를 받게 된거죠. 막상 해보니 재밌었어요. 특히 이 시기가 2014년 초였는데, 당시에는 안드로이드가 워낙 인기 있는 분야여서 더욱 할만하겠다는 생각을 하게 됐습니다. 효찬님이 선보인 안드로이드 앱 (왼부터)가계부투게더, 메모캐스트, 돈테크 ▶ 본격적으로 모인에 들어오게 된 이야기를 들어보고 싶습니다. 어떻게 모인을 알게 되셨나요?이전 회사에서 늘 입버릇처럼 ‘스타트업을 하고 싶다’는 말을 하고 다녔습니다. 생각해보면 제가 굉장히 밉상이었을텐데 주변 회사분들이 응원을 많이 해주셨어요. 정말 좋으신 분들입니다. (하하) 지인 추천으로 원티드를 알게 됐어요. 저는 초기 단계에 있는 스타트업에 가고 싶었는데 쉽게 찾기는 힘들더라고요. 이후 설립한지 1년도 안 된 ‘모인’을 찾게 됐습니다. 회사에 대해 이것저것 찾아보고 한 번 만나서 이야기해보면 좋겠다는 생각이 들어 대표님을 만났어요. 대표님과 만나 이야기를 나누어 보니 같이 일하고 싶었습니다.  ▶ ‘스타트업을 하고 싶다’는 말을 입버릇처럼 하셨다고 했는데, 특별한 계기가 있었나요?대학 때, 그래픽 프로그래밍 관련 Term Project를 수행했던 적이 있었어요. 이 때 친구들과 밤을 새면서도 웃고떠들며 프로젝트를 해낸 게 제겐 정말 좋은 경험이었습니다. 친한 친구들과 같이 일을 하면 힘든 업무도 웃으면서 즐겁게 할 수 있다는 생각이 들었어요. 앞으로도 좋은 사람들과 같이 즐겁게 일할 수 있으면 좋겠다는 생각을 가지게 되었죠. 스타트업에서 근무하면 일과 동시에 좋은 조직문화를 만들어나갈 수 있을 거라고 생각했어요.  ▶ 개발자로서 자신 있는 영역이 무엇인가요?두루 다룰 줄 안다는 게 제 장점일 수 있겠네요. 그래서 스스로 찾아가면서 어떤 서비스든 개발할 수 있다는 자신이 있습니다. 하지만 역시 한 분야에 대한 전문성은 좀 부족하지 않나 생각해요. 안드로이드에 더더욱 집중해보려고 노력한 이유이기도 합니다. 앞으로도 저만의 차별점을 발굴하는데 계속 노력을 기울일 생각입니다. 효찬님이 가장 애착간다는 원피스 '상디'▶ 개발 외 관심 있는 영역이 무엇인가요?개발 외적으로는 조직 문화에 관심이 많습니다. 제가 개인적으로 일본 만화 ‘원피스’를 좋아해요. 루피 해적단을 보면 개개인이 발전하면서 동시에 팀이 강해지는 모습을 볼 수 있거든요. 어떠한 모험도 할 수 있을 정도로 강해지죠. 루피 해적단 같은 조직을 꿈꿉니다. 어떻게 보면 제가 꿈꾸는 조직 문화가 담겨있다고도 할 수 있죠.특히, 배트맨을 보면 악당이 배트맨 지인을 인질로 잡으면 배트맨은 지인을 구하러 가죠. 하지만 원피스에서는 악당이 루피 친구들을 인질로 잡으면 루피는 친구를 구하러 가지 않아요. 다만, 친구가 함정에서 알아서 잘 나올거라 믿습니다. 그리고 악당을 쓰려트려야 하는 자신의 역할을 수행하는 데 충실해요. 동료를 믿기 때문에 가능한 자세라고 생각해요. 제 나름대로 ‘믿음의 리더십’이라고 혼자 정의해봤어요. (웃음) 대신 내 능력은 스스로가 키워나가야 하죠. 이렇게 각자 자신의 일에 최선을 다하는 사람들과 함께 큰 꿈을 이루는 게 지금 제게 마지막으로 남아 있는 순수한 이상입니다.▶ 더 키워나가고 싶은 역량이 있나요?역량이라기 보다는 제가 만든 작품을 Developing 해나가고 싶어요. 발전가능성이 없는 서비스는 더 이상하고 싶지 않습니다. 내가 만든 앱을 상용화 시키고, 고객들이 반응하는 걸 직접 보고 싶어요. 더불어 서비스 개선에 필요한 역량은 지속적으로 키워나가려고 합니다.장효찬 개발자에게 '함께 일하고 싶은 사람'이란?#온정 #진솔 #파이팅 ▶ 출근한지 일주일도 안됐지만 (웃음) 모인에 대한 첫인상은 어땠어요?정말 아직 1주일도 안됐는데…. (웃음) 대기업에 있다 와서 그런지 소위 ‘젊음의 열정’이라고 하죠? 다들 파이팅 넘치는 모습이 좋았습니다. 그러면서 동시에 나 잘났다고 으스대지도 않고, 특히 대표님 같은 경우는 능력도 있으신데, 겸손하기까지 해서 반했어요. 무언가를 물어보면 설명도 친절하면서 꼼꼼하게 해주시구요. 팀워크가 좋을 거 같다는 긍정적인 예감이 들었어요. 사람 뽑는 데 신중하시다는 대표님을 믿으며, 앞으로도 잘 부탁드립니다.  ▶ 앞으로 어떤 개발자가 되고 싶으신가요? 모인에게도 한마디 해주세요.개발 PM(Project Manager)에 관심이 많습니다. 사실 앱 구현보다 뼈대를 구축하는 일이 더 중요하다고 생각해요. 저는 이 부분이 개발에서 30% 혹은 그 이상을 오롯이 혼자 차지하고 있다고 생각해요. 그러기 위해서는 리소스나 구현한 코드를 어떻게 관리할까, 어떤 부분을 어떻게 더 추가를 해서 연동시킬 수 있을까 등을 서비스 앱 전체를 보고 관리할 줄 알아야 하죠. 이 역할이 국내에서는 중요하게 다뤄지는 거 같지 않아 안타깝습니다. 대부분 보이는 것에만 관심을 가지고 제품이 어떤 제질로 만들어졌는지는 큰 관심을 가지지 않는 추세거든요. 저는 이러한 부분을 중요시 여기는 개발자가 되고 싶습니다. “저를 버리시면(?) 아니됩니다 (웃음)”- 장효찬이 꼽은 인생 명언 -“Do what you love. Everything else is secondary”by. Steve Jobs#모인 #MOIN #개발자 #개발팀 #안드로이드개발자 #안드로이드 #팀원 #팀원소개 #팀원인터뷰 #인터뷰 #기업문화 #사내문화 #조직문화
조회수 898

[Tech Blog] Keep Principles in Mind

원칙(Principle)은 중요합니다. “난 원칙대로 살지 않겠어!” 라고 외치고 싶더라도, 원칙이 있고 원칙을 충분히 이해하고 있지 않다면 그저 사춘기 소년/소녀의 이유 없는 반항 정도로 밖에 들리지 않을테니까요. 사실 대부분의 이런 경우 원칙 보다는 “규칙(Rule)대로 살지 않겠다”에 가깝지만, 여기에서는 그냥 넘어가도록 하죠. 소프트웨어 개발에도 다양한 원칙들이 존재합니다. 학부 수업에서 잠깐 들었거나 이런 저런 글들을 읽다가 접해 봤을 이런 원칙들은 실제 서비스를 만들면서 바쁘게 기능을 추가하고 버그를 수정 하느라 어느새 기억 속에서 잊혀지곤 하죠. 정신없이 기능을 구현하다가 문득 코드를 돌아봤을 때 ‘이게 왜 여기에 있지’ 라는 의문이 든다면 한 번쯤 원칙을 되새겨 보라는 신호가 아닐까요? 이 글에서는 Clean Architecture 와 Clean Code 등의 저자로 유명한 Uncle Bob(Robert C. Martin)이 얘기하는 S.O.L.I.D Principles 에 대해 얘기해 보려고 합니다. SOLID 원칙은 밥 아저씨가 2000년도 자신의 논문 Design Principle and Design Patterns 에서 OOD(Object-Oriented Design)를 위해서 제안한 5가지 원칙의 앞 글자만 떼서 붙여졌습니다. Object-Oriented Design 을 대상으로 제안된 원칙이지만 Agile 개발 등의 개발 방법론 핵심 철학에도 적용될 수 있는 개념들 입니다. S.O.L.I.D Principles Single Responsibility Principle Class 는 오직 한 가지의 책임이 주어져야 하고, 오직 한 가지 이유에서만 변경되어야 합니다. 보고서를 편집하고 출력하는 모듈에 대해서 생각해 볼까요. 해당 모듈은 두 가지의 이유로 변경될 가능성이 있습니다. 보고서의 내용이 바뀌었을 때도 변경되어야 하고, 보고서의 형식이 바뀌었을 때도 변경되어야 합니다. 편집 과정 때문에 모듈을 변경하다 보면 해당 변경 사항이 출력 부분에도 영향을 미칠 가능성이 상당히 높습니다. 이 경우 내용을 편집하는 모듈(i.e 내용을 담당하는 모듈)과 출력하는 모듈(i.e 형식을 담당하는 모듈) 두 가지로 나뉘어야 합니다. “할 수 있다고 해서 해야 한다는 뜻은 아닙니다.” Open / Closed Principle Class, Module, Function 등의 소프트웨어 구성 요소는 확장(extension)에 대해 열려 있어야 하며, 변경(modification)에 대해 닫혀 있어야 합니다. 어떤 모듈이 Data Structure 에 필드를 추가하거나 함수를 추가하는 등 확장이 가능하다면 그 모듈은 확장에 대해 열려 있다고 표현합니다. 반면에 어떤 모듈이 수정 없이 다른 모듈에 의해 사용될 수 있다면 그 모듈은 닫혀 있다고 표현합니다.  public class CreditCard {     private int cardType;       public int getCardType() { return cardType; }       public void setCardType(int cardType) { this.cardType = cardType; }          public double getDiscount(double monthlyCost){          if (cardType == 1) {              return monthlyCost * 0.02;          } else {              return monthlyCost * 0.01;          }     } }  위 CreditCard class 에 새로운 카드 타입을 추가하려고 하면 getDiscount 함수를 변경할 수 밖에 없습니다. 이 경우 Open/Closed Principle 을 위반된다고 볼 수 있습니다. “코트를 입기 위해서 개복 수술을 할 필요는 없으니까요.” Liskov Substitution Principle 프로그램 상의 Object 들은 프로그램의 정확성을 해치지 않으면서 하위 타입의 Instance 로 변경 가능해야 합니다. 하위 타입 함수 인자의 반공변성(Contravariance), 하위 타입 함수 반환 타입의 공변성(Covariance), 상위 타입의 예외를 상속하지 않는 추가적인 예외 발생 금지 등의 요구 사항이 있습니다. OOP 에서 상속 개념을 배울 때 이해를 돕기 위해 주어진 몇 가지 예시들이 있었을텐데, 우습게도 우리가 생각하기에 타당한 상속에 관한 예시들 중 의외로 원칙을 위배하는 경우가 많습니다. Liskov Substitution Principle 을 위반하는 대표적인 예시는 정사각형과 직사각형입니다. 정사각형은 직사각형의 일종이니 Square가 Rectangle을 상속받는 것이 충분이 타당한 것으로 보입니다. 정말 그럴까요? Rectangle 의 넓이를 구하는 함수의 테스트를 구성해 봅시다.  Rectangle rect = new Rectangle(); rect.setWidth(10); rect.setHeight(20); assertEquals(200, rect.getArea());  여기에 new Rectangle() 대신에 new Square()가 rect 에 할당되면 어떻게 될까요? 넓이는 400 을 반환하기 때문에 테스트는 실패하겠죠. 정사각형이 직사각형을 상속 받으면 Liskov Subsitution Principle 을 위반한다고 볼 수 있습니다. 상속은 문제를 해결하는데 있어서 상당히 유혹적인 방법입니다. 하지만 상당히 많은 경우에 상속을 오용할 가능성이 높습니다. “오리처럼 생기고 오리처럼 꽥꽥 거리더라도, 배터리가 필요하다면 오리가 아닙니다.” Interface Segregation Principle 많은 것을 아우르고 일반적으로 사용 가능한 하나의 interface 보다 특정 클라이언트를 위한 여러 개의 interface 가 낫습니다. Xerox는 Stapling(프린터기가!?), Fax 등의 다양한 기능이 포함된 신규 프린터 소프트웨어를 개발 도중, 더이상 개발이 불가능할 정도로 프로그램이 번잡 해졌다는 것을 인정하고 밥 아저씨에게 도움을 요청합니다. 문제는 Job Class 하나가 모든 기능을 다 구현하고 있다는데 있었습니다. 이 비대한 Class 는 Client 입장에서 사용되지도 않을 모든 함수를 알 수 있게 구성 되어 있었죠. 이 문제에 대해 밥 아저씨는 Interface Segregation Principle 을 적용하여 각 Client 입장에서 사용해야 하는 함수 만을 가지고 있는 각 interface 들을 따로 만들었습니다. 그리고는 다음에 나올 Principle 인 Dependency Inversion Principle 을 통해서 해당 기능을 구현하게 함으로써 문제를 해결했습니다. Dependency Inversion Principle “추상화에 의존해야지, 구체화에 의존하면 안됩니다.” 상위 계층의 모듈은 하위 계층의 구현이 아니라 추상화에 의존해야 합니다. 상위 계층이 하위 계층의 구현에 의존하던 전통적인 의존 관계를 역전 시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있습니다. 예를 들어 Dependency Injection 은 이 원칙을 따르는 방법 중 하나 입니다. Conclusion 세상에 나쁜 프로그램은 있습니다. 당장 눈에 보이는 기능이 똑같다고 같은 프로그램인 것은 아닙니다. 생각보다 많은 코드들이 ‘그 곳에 넣을 수 있기 때문에’, ‘그 곳에 넣어도 돌아가기 때문에’ 깊은 고민 없이 그 곳에 정착합니다. 당장 좀 더 빠르게 기능을 추가해서 주변 사람들의 박수를 받을 수도 있습니다. 허나 이것들이 쌓이면 더이상 손댈 수 없는 코드가 되고, 문제를 느끼고는 Refactoring을 하자고 다짐하고, 모두 엎은 다음 또 다시 같은 코드를 만들게 되겠죠. 쉬운 코드가 가장 만들기 어려운 코드이고, 그런 좋은 코드는 좋은 원칙으로 부터 나옵니다. 변화에 적응할 수 있는 프로그램, 의도가 쉽게 읽히는 프로그램, 문제 발생 가능성이 적은 프로그램, 쉽게 확장할 수 있는 프로그램 등 좋은 프로그램을 만드는 것은 우리가 실제로 목표하는 것을 달성하기 위해서 정말 중요합니다. 이는 그저 경험이나, Tweak 만으로 이루어지지 않습니다. 다양한 신규 기술들과 Framework 들을 두루 섭렵하면서 활동 반경을 넓히고 경험을 쌓았다면, 가끔은 잠시 서서 원칙에 대해 되돌아 보는 것은 어떨까요?   *버즈빌에서 활기찬 개발자를 채용 중입니다. (전문연구요원 포함)작가소개 Whale, Chief Architect “Keep calm and dream on.”
조회수 2258

모두가 Yes라고 할 때,

조금 오래된 광고 카피라이트지만,뇌리에 박혀 버린 말이 있다.모두가 예스라고 답할 때, 노라고 말할 수 있는 사람!모두가 노라고 답할 때, 예스라고 말할 수 있는 사람!(2001년 동원증권 CF 중에서 카피라이트 문구)한 때는 그것이 멋져 보였다.왠지 자신만의 주관이 뚜렷하고,개성이 있는 인재상처럼 느껴졌고남들과는 다른 창의성, 혁신의 뉘앙스가묻어나는 행동처럼 비쳤다.그렇다고 믿었다.이것이 맞느냐!아니다 저것이 더 낫다!이건 안된다.아니다 된다라는 이분적인 회의는결론 도출이 안 되는평행선을 달리기가 될 수 있다.예, 그렇습니다, 맞습니다 또는 아니요, 그렇지 않습니다. 틀립니다라는 대답만으로는 부족하다.그 주장이 나오게 된 원인과그렇게 생각하는 근거는사람에 따라 다를 수 있다.그렇기에 더 많은 시나리오와그만큼 많은 대안과 출구전략들이나타나야 하는 게 정상이다. 그 이후에Yes와 No에 대하여, 더 명확하게는Go or Stop 사이에서 최종 결정은 마지막에 정리되어야 한다.(물론 Plan B와 Plan Z까지 첨부해서...)1. 시작은 Why로부터...어떠한 프로젝트 의제에 대하여생각은 다 다를 수 있다.탐탁지 않은 부분이 있어 반대할 수 도 있고,적극적으로 밀어붙이고자 찬성할 수 도 있다.적극적 반대도 있고, 어정쩡한 찬성도 있다.여전히 반반 사이에서 부동층을 형성할 수도 있다.이러한 고착상태에서 의견을 모을 수 있는 방법은 논리이다.논리는 순서이다.원인과 근거를 제시하는 것부터 시작이다.때문에모두가 Yes를 외칠 때, Why라고 묻는 것이다.모두가 No라고 외칠 때, Why를 묻는 것이다.어린아이가 성장하면서 호기심과 궁금증이 많아지면서 "왜요?", 왜 그래요?"라는 말의 빈도가 높아진다.마찬가지로한창 성장하고 있는 회사에는"왜"라는 질문이 매우 중요하다.문제를 진행할지 안 할지 이전에문제의 근본적인 원인을 되짚는 것이 우선이다.Why는 몇몇 리더들이 불편해하는 질문이기도 하다.특히 시간에 쫓기며,빠른 결정을 해야 할 때는 더더욱중간 단계를 skip 하길 원한다."그냥 하라면 해!""그건 이미 다 결정된 거야""지금 와서 돌이킬 순 없어."라는 식의 반응은 어디선가 많이 들어보지 않았을까?꼰대라고 여기던 직장 상사라던가,고압적인 교수님이라던가,고지식한 군대 선임에게서도...그러한 조직 내지는 리더에게Why라는 물음은 군말이 많다,대든다,오지랖이다,주제넘는다라는 핀잔으로 돌아오곤 했다.그렇게 하나둘씩 입을 다물기 시작하고,나중에는 거수기들만 남아있는 회의, 의사결정 자리가 되어버리지.2. 본론은 룰(Rule)로부터...일반적으로 스타트업의 의사결정은 동료들과 문제에 대한 해결방안, 대안을격렬하게 논의하면서 진행된다.스타트업에서회의의 진짜 묘미는바로 다양한 아이디어와 의견을 도출하되마지막은 결론이 정리될 수 있어야 한다는 점이다.중구난방으로 쏟아진 의견은 자칫 회의가 산으로 갈 수가 있다.정리되지 않은 아이디어들은 다음 날이 되면 우리가 뭣 때문에 회의를 한지 방향성을 잃게 만들기도 한다.역으로,제한적으로 과한 통제는시계 초침이 "똑딱, 똑딱" 느껴질 정도로지루하고, 숨 막히는 회의가 될 수도 있다.그렇기에 회의에는 룰이 필요하다.최소한 정해 놓아야 할 룰은 다음과 같다.1) 회의 전 사전검토에 대한 룰(회의 내용 사전 숙지 및 검토),2) 회의시간 한도의 룰(무한정 회의는 삼가자),3) 구성원 간의 발언 룰(발언자/사회자/경청자가 지켜야 할 룰),4) 결과 정리의 룰(의견을 정리, 취합하고, 다음 단계로 넘어갈 수 있도록 액션을 정할 것)적어도 위의 4가지 rule은 경험적으로,많은 시행착오를 거치면서 필수적이라고 깨달았다.  3. 결론은 How로부터...난 하와이를 좋아한다.가 본적 없는 여행지인 하와이가 아니라나름대로 이름 지은Howhy(하우 와이)!아재 개그인가....ㅠ.,ㅠWhy라는 질문으로 문제의 본질을 찾는다면,How는 질문으로 문제의 해결책을 찾는다.그래서 어떻게 할 건데!How는 육하원칙의 하나이지만,다른 단어들과 동등하다고 생각하지 않는다.How 안에는 언제 해야 할지,무엇을 해야 할지,누가 해야 할지,어디서 해야 할지를 포함한다.따라서,Why와 How는 문제 해결로 가는가장 중요한 열쇠이다.그럼에도(주)클린그린의 회의가 이상적이지는 않다.습관화가 덜 되어서인지,뭔가 간과한 부분이 있는 건지,아니면,회의 진행에 있어 여전히 미숙한 건지딱 하나 꼬집어 말하기는 어렵지만늘 100% 만족할만한 회의는 없었다.하지만 분명한 것은이전보다는 효율적이고,보다 다양한 의견과 정리된 결론으로진일보하였다는 점이다.제품이나 서비스만 피봇 되는 게 아니다.회사도,시스템도,업무도,사람도 피드백과 수정을 거쳐발전해 나가는 것이다.우리는 계속 발전하고 있는 중이다.#클린그린 #스타트업 #창업가 #창업자 #마인드셋 #조언
조회수 2514

입사 지원 동기의 중요성

# 지원동기에 대한 생각.지원동기를 쓰는 과정은나를 아는 과정이다. 왜 이 회사와 함께하고 싶은가.끝까지 파헤치는 과정이다.스스로 처음 대답한 답에,왜? 왜? 그게 왜? 왜 꼭 그러고 싶어?질문하게 된다.반복되는 질문에 머리가 아프지만 가치있는 일.나의 경험, 나의 생각을 날카롭게 돌아보는 일. '회사의 제품이나 서비스가좋은 아이디어라고 생각해서' 는안 된다는 생각이 든다. 그건 소비자의 마인드기 때문에.회사에 들어가면 나는 생산하는 주체가 된다.그렇기에 나는 왜 그 서비스의 소비자가 아니라생산자이고 싶은가. 그것을 찾으려고 노력한다. -결국, 회사의 제품이나 서비스가 아닌회사가 가진 미션을 확인하고,회사가 추구하는 가치와내가 추구하는 가치가 맞는지 보게된다.내가 어떤 가치를 매우 추구한다면,그 가치를 추구하게 된분명한 경험이 있을 것이다.상대에게도 경험을 얘기하면공감을 불러일으키고, 설득하게 된다.추구하는 가치가 비슷하다는 것은곧 회사가 지향하는 비전을함께 이룰 동력이 있다는 것이 된다. 결국 지원동기를 쓰는 과정은나는 어떤 걸 경험했는지,어떤 가치를 추구하는지더 잘 알게 되는 시간이다.고통스럽지만 내겐 행복한 시간이다.내 삶의 주인인나에 대해 깨달아가는 시간이므로. -이유를 생각해보는 이 시간은그 일을 정말로 하게 될미래의 나를 위해서도 꼭 필요한 시간이다. 나는 내면의 이유를 분명히 알고 일할 때,주변 상황에 흔들리지 않을 수 있기 때문이다.그렇기에 오늘도 나는끝까지 문제를 직면해본다. 나는 왜 이 회사와 함께 하고싶은가.내가 진짜로 추구하는 가치는 무엇인가.나는 왜 그 가치를 추구하게 되었는가.지원 동기를 생각한다는 건회사를 위한 일이 아니라,나를 위한 일.동기를 깊이 생각하는 과정에서지원을 안하게 된다면그건 꼭 슬픈 일이 아니다.달리보면, 내게는 잘된 일이다.

기업문화 엿볼 때, 더팀스

로그인

/