Categories
Daily Personal productivity

에너지는 어디서 없어지나

자신의 말을 하거나 자신의 글을 쓰면 에너지는 분산된다.

그대가 매우 운이 좋다면, 분산된 에너지가 사람들의 에너지와 합쳐져 아름답게 돌아와  그대의 에너지를 올려줄 것이다. 그러나 대부분의 경우 그저 사라진다.

화가 났을 때 나 화났다고 말하거나 성질내면서 자신이 화난 이유를 돌려말하지 않고 명확하게 이야기하고나면  스스로 타오른 불은 꺼지게 마련이다.

기분 좋은 일이 있을 때, 사회시스템 속에서 칭찬받고 인정받을 일이여서가 아니라, 정말 내 기분을 좋게 했던 이유를 남들에게 말하고나면 기분 좋은 에너지도 줄어든다.

이것은 개인적인 에너지이다. 이 에너지들의 출입을 잘 관리하는 것이 좋다.

잘 관리할 능력이 없다면 항상 사회적인 말을 하거나 사회적으로 글을 쓰면 된다.

Categories
Daily Personal productivity

제목 없음

요새 내가 하는 일들을 머리속에서 나열하다보니, 이것들은 개개인들이 관심을 가질 정도로 독립적이지도 않고, 특정 욕구와 목표를 공유하고 있는 집단들에게 유용할 정도로 정치적 이용가치가 있지도 않으며, 사회적으로 지탄을 받거나 칭송을 받을 정도로 트렌드와 함께 흘러가거나 대립하지도 않는다.

의도된 바는 아니지만 이렇게 되고나니 좋은 점이 많다.

공유할 마음이 생기지 않으니 마음이 평화롭다.

공유하지 않았으니 우물안의 개구리가 되어 우물 깊숙한 곳까지 갈 수 있다. 우물이 아니였다면, 나쁘게 말하면 삼천포로 빠져서 초점을 잃고 좋게 말하면 시너지가 생겨서 샛길로 샐 위험이 있다.

지치지 않도록 서로 격려해주는 것은 함께 지옥을 향해 걸어가면서 ‘저기 저 멀리 보이는 지옥불을 자주보다보니 아름답게 보이기도 하더라- 내가 너무 색안경을 쓰고 지옥을 봤었던 것만 같아-‘ 하는 것의 예쁜 버전이다.

지치면 그만둬라. 체력 낭비, 정신 낭비, 시간 낭비하지 말고. 다른 분야에 가서 쌓고왔어야할 기초소양이 부족했던 것 뿐이였을 수도 있다.

거기서 채울거 채웠으면, 돌아와서 다시 하면 되더라.

Categories
Life Personal

계속되는 돈 이야기

요새 돈을 주제로 글을 자주 쓰게 된다. 오늘은 소프트웨어 엔지니어로 돈을 번다는 것에서 얘기했던 내용을 살짝 분산시켜볼까 한다. 해당 포스트를 작성했을 당시의 나는, 하는 일에 비해 큰 보수를 받는 프로젝트를 진행중이였다. 그 프로젝트는 위기상태였고, 나는 위험을 극복해줄 해결사로 투입됐다. 당시 출국을 앞두고 한국에서의 마지막 프로젝트를 진행했던 것이였기 때문에, 고객을 100% 만족시키려는 열정이 없어서 만족스러운 결과는 안나왔지만, 그래도 서로 얼굴 붉히는 일 없이 맡은 바 임무를 완수하고, 프로젝트 소개시켜준 형님에게 특상등심 한우도 사드리는 여유를 부리며 유유히 출국할 수 있었다.

포스트를 작성하던 시절의 나는 돈이 절실하지 않았다. 나는 돈의 가치를 낮게 보는 경향이 있다. 내가 원하던 것들 중 돈으로 살 수 없는 게 너무도 많았기 때문이다. 외모를 치장하는데도 관심이 없고, 술은 소주를 좋아한다. 게다가 유치원생 입맛을 가지고 있어서 불량식품들을 좋아한다. 언젠가 일인분에 2만원이나 하는 스파게티를 먹은 적이 있었는데, 정말 맛이 없었다. 친구들 중 색을 밝히는 부류가 있어 도우미가 나오는 노래방에 간적도 있었다. 대체 이해가 되질 않는다. 돈은 내가 냈는데 왜 지들이 노래를 부르나. 잘 부르기라도 하면 말을 안해요.

지금도 나는 철이 한참 덜 들었다고 생각하지만, 20대때에는 지금보다 훨씬 더 철이 없었다. 돈을 모아서 뭐하냐는 생각이 지배적이였다. 돈을 모아야 하는 이유, 혹은 벌어야 하는 이유가 궁금했다. 색을 밝히는 친구에게 물어보면, 그는 외모에 투자하는 게 얼마나 가치가 있는지 친절히 설명해준다. 그렇게 외모에 투자해서 얻는 가치라는게, 외모에 반해 넘어오는 값싼 인간들이였기 때문에 내게는 동기부여가 되지 못했다. 부모님에게 물어보면 노후를 준비하기 위해서라고 한다. 하지만 새파랗게 젊은 애(그 당시의 나)들은 자기도 시간이 지나면 부모님 세대처럼 기력이 쇠하고 늙어간다는 사실이 결코 와닿지 않는다. 결국 노후대비도 적절히 동기부여가 되지 않는다.

한달에 100만원이면 내가 사고 싶은 것들 다 사고도 남았었다. 결혼을 해서 소비가 2배가 됐지만 그래봐야 한달에 200만원이면 아내와 내가 사고 싶은 것들 다 산다. 지금은 런던에 살고 있지만 한달 200만원(1,000 파운드정도)으로 인터넷, 전기세, 식재료, 교통비, 통신비, 담배값, 가끔 여행가는 것까지 커버된다.

그런데 런던에 오고 나서는, 그 이상의 지출이 필요하게 됐다. 일단 매달 월세가 나간다. 매년 지불해야할 아내의 학비도 적지 않다. 결국 몇달이 채 지나지 않아 나는 돈에 쫓기는 신세가 됐다. 그래서 평소같으면 거들떠도 보지 않을 프로젝트들을 시작했다. 결과는 처참했다. 쥐가 궁지에 몰리면 고양이한테 덤비기도 한다는 말이 있다. 궁지에 몰리면 말도 안되는 프로젝트도 낼름낼름 받는 다는 것.

돈이 많다고 딱히 좋을 건 없지만, 돈이 부족하면 돈을 가진자에게 통제당하기 쉽고 이성적인 판단을 하기 어려워진다. 그렇다면, 열심히 일하든말든 계속 돈 가진자의 통제하에 있는 것이기 때문에 악의 구렁텅이를 벗어날 수 있을리 만무하다.

나는 그런 구렁텅이 속에서 인생을 허비할 생각이 없다. 그렇다면 내가 선택할 수 있는 전략은 두가지다.

첫번째는, 내가 가진 돈과 현재의 수입에 만족하는 것이다. 통제당하지 않고 이성적인 판단을 유지하기 위해 ‘돈이 부족하다’ 라는 생각을 제거하는 것이다. 그런데 실제로 돈이 부족한데, 돈이 부족하지 않다고 생각하는 것 자체가 이성적인 판단이라고 보기 힘드므로 적절한 전략은 아닌 듯 싶다. 혹은 현재 누리고 있는 것들의 일부분을 포기해야만 한다.

두번째는, 타인에게 통제를 거의 받지 않는다는 전제하에 돈을 더 많이 벌어서 돈이 남도록 하는 것이다. 통제력을 분산시키려면 고객의 수를 늘려야 한다. 한 사람의 고객이 말도 안되는 요청을 했을 때 이를 무시한다할지라도 타격을 입지 않을 수 있어야 한다. 물론 이러한 전략도 고객들이 커뮤니티를 구성하여 공격(?)하기 시작하면 무시할 수 없지않겠냐- 할 수도 있겠지만, 그지경이 됐다면 해당 요청이 올바르다라고 판단하는게 적절하다. 요새 고객들은 예전과 달리 social validation에 크게 의존하지 않는 것 처럼 보이며, 언론플레이는 그 힘을 많이 잃었다.

5월까지만 해도 첫번째 전략을 선택할까말까 하고 있었는데,  한달이 채 지나지 않아 광고수익 덕분에 두번째 전략을 타게 됐다.

그리고 일개 개인개발자로서는 이미 큰 경제적 성공을 거두었다. 그와 동시에 내 기존 사고방식의 일부가 완전히 무너져내렸다. 어린 시절 내게 연봉이란 생활을 위한 돈이 아니라 자존감을 유지하기 위한 수단에 불과했다. 돈을 벌기 위해서 일한 적이 없긴 하지만, 그래도 노동의 대가로 돈을 받는다고 생각해왔다. 물론 노동(input)이 돈(output)으로 환산되는 함수의 내부 알고리듬은 전혀 모른다. 확실한건 그 함수의 인자에 많은 노동력을 넣었다고 많은 돈이 나오지 않는다는 것이다. 똑똑함을 넣어도 많은 돈이 나오지 않는다. 솔직히 지금도 감이 안잡힌다. 앱에 붙인 광고로 돈을 벌기 시작한 뒤로는 더욱 더 모르겠다.

예를들어 내가 광고로 한달에 한화로 1,000만원(실제 수입과는 관계가 없다)을 번다고 치자. 내 앱의 사용자층은 북미, 유럽, 아시아에 적절히 퍼져있기 때문에 피크타임이 없다. 그러면 시간당 13,888원을 버는 것이다. 내가 잠을 자고 있을 때도, 여행을 즐기고 있을 때도, 책을 보고 있을 때도, 밥을 먹을 때도, 시간당 13,888원이 벌린다. 함수의 입력에 시간만 넣으면 결과가 나온다. 내가 1,000만원이 필요하면 한달이란 시간을 흘러가도록 허용하기만 하면 된다. 난 아직도 함수의 존재를 믿고 싶은가보다. 노동력이 상관없다는 것을 알게됐는데, 이제는 뭐라도 넣고 싶어서 ‘시간’을 넣고 있지않은가.

돈과 개발능력은 전혀 상관이 없다는 것을 확인했다. 그러나 난 내가 어떻게 돈을 벌 수 있게 되었는지 여전히 모른다. 이것은 치명적인 문제이다. 왜냐하면 돈을 어떻게 벌었는지 알 수 없다면, 차기작을 만들어도 성공한다는 보장이 없고, 현재 돈을 벌어들이고 있는 앱을 업데이트할 때도 두려움에 사로잡혀 행동력이 떨어질 가능성이 높기 때문이다. 그래서 마케팅과 광고시장에 대한 서적을 읽어 나가고 있다. 그 분야에서 사용하는 단어들에 익숙치 않아 더디긴 하지만, 조금씩 알아가는 기분이 즐겁다.

연봉이 1,000만원인 개발자라고 무시할 이유가 없고, 연봉이 1억인 개발자라고 존경할 이유가 없다. 돈은 돈 버는 방법을 아는 사람이 버는 것 같다. 적게 받는다고해서 열등감에 사로잡힐 이유도 없고, 많이 받는다고해서 잘난 사람도 아니다. 대부분의 회사가 사용하는 인적자원 평가시스템은 전혀 믿을만하지 않다.

어쩌다보니 글이 길어졌으니 억지로라도 결론을 내야겠다. 똑똑한 개발자들이 다들 회사 때려치우고 자기 사업을 시작해서 경제적으로 자유로워지고 진정으로 자기가 하고 싶어하는 일을 했으면 좋겠다.

끝-

Categories
Development Personal

안드로이드앱에 광고 넣은지 어느덧 2개월

두달전인 지난 4월 24일, 개인적으로 만들어 쓰던 안드로이드용 MSN 클론인 MSN Talk에 광고를 달았다.

처음에는 AdMob으로 시작했다. 내가 사용하는 많은 무료앱들이 AdMob을 쓰고 있었기 때문이였다. 가입절차도 단순했고, 돈을 PayPal로 넣어주니 Google AdSense보다도 편리하다. (난 영국계좌가 있기 때문에 AdSense로부터 들어오는 금액이 EFT로 들어와서 3~4일안에 은행계좌로 받을 수 있긴 함)

블로그에 붙였던 광고는 돈이 전혀 안됐었고 (그래서 떼버렸다), 한글 Javadoc에 붙인 AdSense에서는 한달에 120~150 클릭밖에 안나왔었으니 모바일앱은 어떨까.. 하는 마음에 호기심으로 시작한거다.

그러나 유료앱이였던 MSN Talk을 무료앱으로 전환한지 6주만에 ‘갑자기’ 광고를 넣었기 때문에, 욕을 바가지로 먹었다. 소심한 나는 앱에 광고를 단지 5일만에 광고를 내렸고, 다시 3일정도 고민한 뒤 설정에 ‘Suppress Ads’ 라는 옵션을 넣어 업데이트를 했고 민심은 회복됐다.

여기서 한가지 재미있는 것은 Suppress Ads 옵션을 넣었음에도 불구하고 광고수익이 거의 떨어지지 않았다는 것이다. 민심은 회복하고 광고수익은 거의 떨어지지 않는다라.. 매력적이였다.

그렇게 또 한달이 지나갔다. 광고를 표시하지 않을 수 있는 옵션이 있었지만 5월 한달동안 Daily 광고수익은 3배가 됐다.

3배가 된 광고수익을 보고 있자니 돈 욕심이 생기기도 하고 호기심도 생겨서 Suppress Ads 옵션을 빼보기로 했다. 옵션을 빼는 것과 동시에 Google AdSense for Mobile Application 베타사용자에 선택되는 행운을 얻어 AdSense를 붙이고 Fill Rate 해결사인 AdWhirl를 이용해 AdMob/AdSense를 돌아가며 보여줄 수 있게 했다.

그리고 3일만에 일일 광고수익이 또 2배가 됐다. 한꺼번에 많은 변수를 넣어서 정확히 어떤 요소가 수익증가를 일으켰는지 알 수 없다. 한가지 알 수 없는 것은 Suppress Ads를 빼고 항상 광고가 노출될 수 있도록 Google AdSense와 AdWhirl을 넣은 6월 3일부터 광고 짜증난다는 댓글이 거의 올라오지 않는다는 것이다. Suppress Ads가 있었을 때도 해당 옵션을 찾지 못한 사람이 있었는지 2-3일에 한번씩은 Ads are annoying 댓글이 꼭 달렸었는데, 별점 1-2점짜리 댓글이 올라오는 경우는 광고와 무관하게 앱의 퀄리티가 떨어지거나 버그가 있을 때 뿐이다. “광고가 짱나긴 하지만, xxx가 좋네!” 라고 댓글을 남기는 사람들은 대부분 별점 4~5점을 주기 때문에 광고가 앱의 명예를 크게 훼손하는 일은 없는거라 생각한다. (MSN Talk은 여태까지 댓글이 1,800개 넘게 달렸고 Rating을 6,200개 넘게 받았다. 평점은 4.31.)

나 또한 시각정보 자체차단능력이 약한 사람이라 광고를 무지 싫어해서 Google Chrome에서 Ads Blocker를 쓰는 사람이고, Google의 Chief Economist인 Hal Varian이 말했듯 2%의 사용자가 광고를 클릭하고, 그 광고를 클릭한 사람들 중 sales를 일으키는 사람은 2%다. 그럼 0.04%. Advertiser들은 0.04%를 얻기 위해 광고를 내고, 나같은 Publisher들은 2% (내 클릭률은 2%보다 낮지만)를 위해 광고를 단다.

나머지 98% 유저는 광고에 관심도 없고, 읽지도 않고, 그러므로 클릭할 가능성도 없는 사람인데 앱 개발자의 수익을 위해 귀중한 2G/3G 트래픽을 광고를 다운로드 하느라 날려먹어야 하고 주의력을 소모해야하고, 안그래도 조막만한 모바일 화면의 일부를 광고를 위해 내주어야 하는 것이다. 허허.. 참.

그 2달동안에도 순위가 꾸준히 올라가서 어느덧 Top Free – Communication 13위를 랭크하고 있고 (전체순위는 150위 정도) 광고수익도 충분히 올라서, 설령 앞으로 아무런 업데이트를 하지 않고 탱자탱자 놀더라도 현재 성장률로 미루어볼 때, 머지않아 성장률이 마이너스를 기록하고 MSN 공식앱이 나오더라도 최소 3개월은 현재 수익을 유지할 수 있다. 게다가 경쟁자가 나타나도 아무 상관없는 아이템들을 5개 정도 더 가지고 있고, 마켓볼륨이 3배정도 큰 아이폰에는 아직 진출도 하지 않았으므로 참으로 매혹적인 옵션인 것이다. 물론 여태까지 MSN Talk 개발에 투입한 정신적/육체적 에너지들를 생각해보면 일년에 앱 4개 이상을 찍어내진 못할 것 같지만.

그저 (내가 보기엔) 거지같은 광고를 달아 클릭당 50원정도의 금액을 모아 모아 돈을 벌고 있으며, 이 수익은 2% 미만의 사용자들이 채워주고 있고, 나머지 98% 이상의 사용자들을 귀찮게 하면서 돈을 벌고 있다는 게 불명예스러운 것이다.

그렇다할지라도 나처럼 돈이 필요해서 앱에 광고를 달 생각을 하시는 분들을 위해..

  • AdMob은 아시아권 Fill Rate이 엄청나게 낮다. 아마 Advertiser가 거의 없어서 그런게 아닌가 싶다. 한국은 10~30% 정도다. 아예 광고가 노출조차되지 않는것이다. 재미로 해보는 게 아니라면 반드시 북미와 유럽을 노려라.
  • Google AdSense for Android 베타 지원에 성공했다면, Activity.onDestroy에서 꼭 AdSense 컴포넌트 속의 WebView를 찾아 destroy()를 불러줘라. 배터리 많이 먹는다고 욕먹기 싫으면.
  • 본문에도 잠시 언급했지만, Ad Fill이 실패했을때, 다른 업체 광고들을 자동으로 채워주는 AdWhirl을 적극 검토하라. AdWhirl for iPhone의 경우 AdMob, Google AdSense, iAd, inMobi, Jumptap, MdotM, Millenial Media, MobClix, Quattro, VideoEgg 등 수많은 광고회사들을 지원한다.
  • 일 수익이 $30가 넘어가기 시작하면, 매일/매시간마다 수익을 확인하고 오만가지 생각을 하며 시간죽이는 경험을 피할 수 없을 것이다. 대쉬보드를 하나 만들어 노동을 줄이는 것은 효과가 크지 않다. 소프트웨어 개발자의 정체성을 잃지 않도록 유의하라. 명상이나 반신욕을 추천한다.
  • 부정클릭을 유도하는 짓을 절대로 하지 마라. 정상 패턴을 벗어나는 행동을 하기 전에는 반드시 AdMob이나 Google에 이메일을 보내서 이런이런거 해보려고 하는데 이게 Policy에 위배되는 것이냐- 물어보고 진행해라. AdMob은 뻘 질문해도 2-3일안에 꼭 회신해준다. 매우 친절하게.
  • Google Checkout을 쓸 수 있는 국가가 몇 개 없다. 유료앱으로 돈을 벌려면 iPhone으로 가라. 안드로이드앱으로 돈을 벌려면 지금 시점에서는 광고다.
Categories
Development Personal productivity

선택과 중독

나는 흐름타서 일하는 것에 대해 중독이 있다. 물 흐르듯 진행을 못하고 매번 깊이있게 생각하고 선택하여 일하는 것은 내게 고문이나 다름없다.

내 머리속 working memory는 조리있게 관리되지 않는데다가 그 크기가 충분하지 않기 때문이다. 그로인해 내 working memory는 짧은 시간동안 많은 정보를 접근할  수 있는 대신 내구성이 현저히 떨어진다.

내구성이 떨어지는 이유를 정리해보면

  1. 외부 요소: 외부 자극으로 인해 본인의 의지와는 무관하게 주의력을 잃게 되는 것. 인간의 음성과 같은 패턴화 할 수 없는 소리, 냄새, 누군가의 신체접촉 등 일상생활에서 자주 만나게 되는 것들. 그리고 수많은 notification들. (twitter, facebook, me2day, email, sms, tail -f,  …)
  2. 내부 요소: working memory에 보관된 정보는 일정시간이 지나면 자연히 소멸됨.

외부 요소는 스스로를 격리시키거나 잠깐 성격 드러운 사람인척 하는 등 여러가지 흑마법을 사용하여 얼마든지 차단할 수 있다. 그러나 내부 요소는 우리가 지구인이기 때문에 어쩔 수가 없다. 동시에 기억할 수 있는 chunk가 5~9개라고 하는데, 이걸 죽을 때까지 단련하고 약물을 복용해봐야 10개도 못 넘을 것 같기 때문.

그래서 그 자체로서는 별 의미가 없어보이는 것들에 대해 따로 시간을 내어 훈련한다. 타이핑이 빨라야 한다. 최고 속도를 내는 것은 의미가 없다. 그저 working memory의 정보가 소멸되기전에 원하는 word들을 원하는 곳에 위치시킬 수만 있으면 된다. 아무런 의식적인 생각없이. 마우스를 이용하든 단축키와 시스템 클립보드를 사용하든 나처럼 무식하게 모든 글자를 다 입력하든 스스로의 working memory를 보존할 수만 있으면 된다. 이것이 몸속에 완벽히 장착되어 체화된다면, 특정 기능을 수행하는 코드가 300 글자라 치고 300개의 글자를 입력하는 동안 좋아하는 이성친구와 문맥을 잃지 않고 전화통화를 할 수 있어야 한다. (물론 심하게 과장한 것) 그러면 제한된 working memory를 낭비하지 않고도 미션을 수행할 수 있다.

물론 인생은 짧고 파이썬이 필요하듯, 체화시킨 매크로들이 각개전투하는 것은 비효율적이므로 각 매크로들을 머리속에서 적절히 MapReduce하여 유의미한 chunk로 만들어야 한다.

그런데 나는 좋은 설계자가 아니고, 척 노리스도 아니라 5일이상 흐름을 지속하기 어렵다. 매크로로 해결할 수 없는 복병들이 자꾸자꾸 나타난다. 이들은 매크로 중독의 마수로 제거할 수 없기 때문에 또다시 선택의 시간이 돌아온다. 그리고 선택에는 항상 책임감이 뒤따른다. 만약 그 선택이 아주 급한게 아니라면, 많은 경우 선택하기를 미룬다. 보다 나은 선택을 위한 준비과정이라고 스스로를 속이며.

선택의 시간이 돌아올 때마다 늘어진다. 당장 급하지는 않고 선택하기는 두려우니 잉여잉여 하는거다. 하기 싫은 것을 하고 싶은 것으로 만드는 흑마법은 후폭풍이 장난이 아니므로 더이상 시전할 수 없다.  그렇다면 선택을 더이상 미룰 수 없는 상태로 만들어야 한다.

나처럼 의지력이 비리비리한 많은 사람들에게는 언제까지 선택을 꼭 하겠습니다! 라고 자기 자신과 약속하는 것은 의미가 없다.

배수의 진을 쳐야한다. 가짜 말고 진짜. 얕은 물 말고 빠지면 정말 죽어버리는. 깊은 물을 주위에 찾을 수 없다면 개울가에 염산이라도 부어서. 롤백도 할 수 없도록. 그러다 역량 부족으로 정말 다칠 수도 있다. 만약 상처를 입는다해도 그만큼 강해지니 더할나위 없이 좋다는 생각으로.

수로 중간이 끊어져 있더라도 압력이 충분히 높으면 흐름이 끊기지 않는다.