토요일, 7월 13, 2013

[독서광] 관찰의 힘

거의 한 달 동안 경제/경영 블로그(?)답지 않게 컴퓨터 관련 내용만 올리고 있었다. 반성하면서 오늘은 '평범한 일상 속에서 미래를 보다'라는 부제가 붙은 '관찰의 힘'을 여러분들께 소개해드리겠다. 이 책은 근래 읽은 책 중에서 표지 날개가 가장 눈길을 끄는 내용으로 꾸며져 있었다. 잠깐 살펴볼까?

  • 세계인의 가방에 공통으로 들어있는 세가지 물건은?
  • 배가 한껏 부른데도 왜 더 먹게 될까?
  • 공원에 있는 '잔디에 들어가지 마시오' 표지판을 누구를 위한 것일까?
  • 태국의 십대 소녀들이 가짜 명품백보다 가짜 치아교정기를 사는 이유는?
  • 인터넷 검색이 기억력을 쇠퇴시킬까? 그렇다면 앞으로 무엇을 기억하게 될까?
  • 누군가 연락처를 묻는다면 어떤 정보를 주겠는가? 이메일 주소? 휴대전화 번호? 페이스북 주소?
  • 안면 인식 기능의 발달로 익명성이 완전히 사라진다면, 세상은 더 좋아질까? 나빠질까?
  • 스마트폰을 택시에 두고 내렸는데 위치 수신이 된다면 그것을 잃어버렸다고 할 수 있을까?
  • 물건의 소유와 공유 중 어느 쪽이 더 편리할까?
  • 낯선 사람이 천 원만 빌려달라고 한다면, 줄 것인가 말 것인가?
  • 중국에서 글로벌 대기업 이베이가 내수 업체 타오바오에게 완패한 이유는?
  • 고속도로 휴게소의 본질은 주유일까 휴게일까?
  • 휴대 전화의 기능 중 딱 한가지만 선택할 수 있다면?

BUT... 표지 날개 내용만 보면 정말 끝내줄지 몰라도 본문에 나오는 정답은 뻔하다(최소한 '컴퓨터 vs 책' 블로그의 애독자분들 수준이면 본문에서 아주 색다르고 신기한 내용이 펼쳐지지 않으리라 믿는다). 아쉽게도 이 책은 저자가 속한 프로그 디자인에서 업무를 수행하는 동안 얻은 경험과 뒷이야기를 정리한 수준에서 흐지부지 막을 내려버린다. 다양한 방식으로 세상이 돌아가는 방식을 파악하는 방법을 일본, 한국, 중국을 포함한 여러 아시아 국가와 개발도상국을 돌아보며 일반 관광객이 느끼지 못한 여러 경험담을 곁들여 재미있게 풀어쓰려 노력했지만, 거기서 얻은 경험을 어떻게 제품에 연결시킬지에 대한 고리는 (최소한 이 블로그 주인장에게는) 보이지 않았다. 따라서, 부제에서 강조한 '일상에서 미래를 찾는 방법'이라는 상투적인 선전 문구 따위는 잊어먹고 눈 높이를 한 단계 낮춰 (조금 색다른) '디자인 연구에 대한 방법'을 본문에서 기대하는 편이 정신 건강에 이롭다는 생각이다.

결론: 디자인 연구 방법을 찾는 분들에게는 살짝 추천, 이 책으로 뭔가 세상에서 통찰을 얻어 현재 만들고 있는 제품/상품/서비스에 직접 적용하려 마음먹은 분들께는 강력하게 비추천.

뱀다리: 국내에서 이 책이 인기를 끄는 이유는 '여행서'(응?) 형태를 따르기 때문일 듯이 보이는데... (여기서 경고 하나!) 멋지게 보인다고 해서 이 책에서 나오는 일련의 엉뚱한 행동을 그대로 따라하다가는 진짜 큰 코 다친다.

EOB

화요일, 7월 09, 2013

[일상다반사] 생산성의 비밀

A Harvard Economist's Surprisingly Simple Productivity Secret이라는 글을 읽으면서 전문직 종사자들이 '시간 없어요'라고 불평을 터트리는 이유에 대해 다시 한번 생각하게 되었다. 간단하게 기사 내용을 정리해보겠다.

전문가 세상에서 가장 흔한 불평은 바로 '너무 시간이 없어요'다.

주당 60시간 이상 일하는 근로자들은 창의적인 방법으로 큰 프로젝트를 해결한 생각은 고사하고.심지어 받은 편지함을 정리할 시간조차 없다고 투덜거린다.

하지만 시간이 문제가 아니라고 하버드 경제학자인 센드힐 물라이나단은 말한다. 성공을 막는 궁극적인 장애물은 정싱적인 '대역폭' 부족이다. 과업에 순간적으로 집중하는 능력 말이다.

물라이나단의 연구는 결핍과 사람들이 뭔가(예: 돈, 음식, 시간) 부족할 때 어떻게 반응하는지에 초점을 맞춘다.

결핍은 사람들로 하여금 잘못된 결정을 이끈다는 사실을 발견했다. 두뇌가 결핍에 대해 너무 많이 고민하기 때문이다.

결핍이라는 문제는 소득 수준을 가로질러 퍼져 나간다. 마치 소득이 적은 사람들이 약탈적인 부채 관리에 실패하듯, 바쁜 전문가들은 시간을 효율적으로 관리하는 데 실패한다. 사람들은 집중하지 못한다.

실제 예를 들어보자. 목이 마르다면 간절히 물을 원하게 된다. 다른 것에는 신경쓸 여력이 없다. 돈이 부족하면 재정 문제가 사고를 지배한다.

전문가 세상 역시 마찬가지다. 시간 부족이 문제가 아니라 집중력 부족이 문제다.

초과 근무를 하는 사람들은 "열심히 일할 능력뿐만 아니라 문제에 대해 심각하게 생각할 능력"이 부족하다.

전문가를 위한 교훈은 다음과 같다. 황금같은 시간이 부족하다는 사실은 문제가 되지 않는다. 어떻게 양질의 시간을 보내느냐가 문제다.

시간이 없다고? 그렇다면 시간을 최대로 활용하게 머리를 써야 하는데, 그럴 시간도 없다는 사실이 함정이네? T_T 자 그렇다면 개발자 여러분들은 이런 모순을 해결하기 위해 어떤 전략을 사용하고 계신지? 좋은 해법이 있으면 다 함께 나눠봅시다.

EOB

토요일, 7월 06, 2013

[독서광] 미래를 바꾼 아홉 가지 알고리즘

집에 있는 책꽂이를 보면 수학, 물리, 생명공학, 화학 등 여러 분야에 걸친 대중서가 보인다. 그런데 흥미롭게도 컴퓨터 관련 대중서는 손에 꼽을 정도다. 일부러 대중서를 구입하지 않았는지 아니면 대중서가 없어서 구입하지 못했는지는 모르겠지만, 온라인 서점에서 찾아보기 힘든 것도 사실이다. 오늘은 에이콘 출판사에서 일반인을 위한 컴퓨터 대중 서적을 표방한 '미래를 바꾼 아홉 가지 알고리즘'이라는 책을 소개하겠다.

이 책의 부제인 '컴퓨터 세상을 만든 기발한 아이디어들'은 이 책의 성격을 아주 잘 나타내고 있다. 저자는 컴퓨터 과학의 기발한 아이디어를 표현하는 알고리즘 중에서 1. 일반 컴퓨터 사용자가 날마다 사용하며 2. 구체적이고 실질적인 문제를 다뤄야 하며 3. 컴퓨터 하드웨어나 인프라가 아닌 컴퓨터 과학 이론에 초점을 맞추는 세 가지 특성이 있는 알고리즘을 뽑아내어 소개한다. 하지만 여느 알고리즘이나 자료 구조 책과는 달리 코드는 없으며 적절한 비유와 알기 쉬운 사례로 트릭(다른 방식으로는 어렵거나 불가능했을 목표를 달성하는 기발한 기법)을 설명하고 있다. 이 책에서 소개하는 알고리즘과 간단한 설명은 다음과 같다.

  • 검색 엔진 인덱싱: 검색 엔진이 빠르게 특정 단어나 문구를 받아 원하는 결과를 제공하는 방법이 무엇일까?
  • 페이지랭크: 결과 우선 순위를 어떻게 매길 것인가?
  • 공개 키 암호화: 남이 뻔히 보고 있는 상황에서 어떻게 비밀스럽게 키를 교환할까?
  • 오류 정정 코드: 네트워크로 통신하고 디스크에 저장할 때 발생하는 오류를 어떻게 스스로 고칠까?
  • 패턴 인식과 인공지능: 철자를 자동으로 교정하고, 얼굴을 인식하고 카메라에 찍힌 내용이나 스캔한 내용을 글자로 바꾸는 마법은?
  • 데이터 압축: 엄청나게 큰 동영상이나 자료를 손쉽게 교환하려면 무엇이 필요할까?
  • 데이터베이스: 관계형 데이터베이스에 대한 기본 이론
  • 디지털 서명: 전자 세상에서 인감이나 서명은 무엇을 의미할까?
  • 계산 가능성과 결정 불가능성: 튜링이여 영원하라!

딱 한 문장으로 예를 들자면... 여러분이 구글에서 내용을 검색한 다음(인덱싱, 페이지랭크, 공개키 암호화), 특정 사이트에 계정과 암호로 접속해(데이터베이스) 캡차로 여러분이 사람임을 증명한 다음(패턴 인식과 인공지능, 계산 가능성과 결정 불가능성) 큰 파일을 다운로드 받아(데이터 압축, 오류 정정 코드), 진위를 확인하기 위해 검사하는(디지털 서명) 과정에서 이 모든 마법이 동원된다. 여러분이 컴퓨터를 켜서 어떤 작업을 할 때 매일 위에서 설명하는 알고리즘 덕을 보는 셈이다.

책 내용 중에 가장 마음에 들었던 부분은 공개 키 암호화를 설명하면서 페인트 혼합 트릭을 예로 든 내용이다. 공개 키에 대한 개념을 설명한 내용 중에서 가장 이해하기 쉬우면서도 정확한 예가 아닐까 하는 생각이 들었다. 다음으로 디지털 서명을 설명하면서 서명 은행이라는 개념을 예로 든 내용도 마음에 들었다(한국에서는 인감 제도가 있기 때문에 특히 이해가 더 쉬웠을지도 모르겠다). 물리 키가 아닌 논리 키를 어떻게 관리하고 교환하고 인증하는지 아주 쉽게 이해할 수 있을 것이다. 마지막으로 계산 가능성과 결정 불가능성을 설명하면서 예를 든 '다른 프로그램에서 충돌이 일어날지 알 수 있는 프로그램'은 아주 유쾌했다. 조금 어렵긴 하지만 "사람과 컴퓨터가 다를까? 아니면 기저까지 내려가면 같을까?"를 놓고 철학적인 고민을 해보기 바란다.

보너스로 이 책을 읽다가 발견한 보물 하나를 소개하겠다. 이 책 추천사를 쓴 크리스 비숍이 2008년 영국 왕립 연구소에서 강연한 내용인 Roayl Institution Christmas Lecture는 컴퓨터 과학 지식이 없는 사람을 대상으로 멋진 볼거리를 제공한다(비디오에 나오는 청중을 보면 ... 호기심 많은 아이들이다). 한글 자막이 없어 조금 아쉽기는 하지만 어려운 영어가 아닌 쉬운 영어를 사용하며 실제 예를 많이 들기 때문에 컴퓨터에 대한 대중적인 이해도를 높이기 위한 훌륭한 출발점으로 보인다. 비숍이 쓴 추천사에서 일부를 가져온다.

게다가 '컴퓨팅' 또는 '정보통신기술'이라는 과목명으로 학교에서 가르치는 내용은 대개 소프트웨어 패키지 사용법을 훈련하는 기술 정도에 불과하다. 그다지 놀라울 것도 없이, 학생들은 따분해 하고, 컴퓨터과학에는 지적 깊이가 결여됐다고 느끼게 되면서, 놀이와 소통에 컴퓨터 기술을 활용하려는 열정도 금세 사그라진다. 지난 십여 년간 컴퓨터과학을 전공하는 대학생 수가 50%나 감소한 현상의 핵심은 이와 같은 문제에서 기인한다.

한국의 현실도 이와 다르지 않다는 생각이다. 이 책을 읽고나서 컴퓨터에 대한 관심이 생기는 분들이 많아지면 더할 나위 없겠다.

EOB

화요일, 7월 02, 2013

[B급 프로그래머] JNI 함정과 우수 사례

지난번에 올려드린 [독서광] The Java Native Interface: Programmer's Guide and Specification이 대박은 아니지만 중박을 치면서 부족한 부분을 다시 한번 정리해드려야 겠다는 생각이 들었다. 그래서 오늘은 Best practices for using the Java Native Interface: Techniques and tools for averting the 10 most common JNI programming mistakes에서 개발자들이 JNI 프로그래밍 도중 흔히 저지르는 10가지 실수를 정리해봤다.

  1. Not caching method IDs, field IDs, and classes(캐시하지 않음): 메소드 ID, 필드 ID, 클래스를 캐시하지 않고 자주 native 쪽에서 참조할 경우 JVM이 클래스 계층을 오르락내리락하느라 무척 바빠진다. 그 결과 성능 저하가 생긴다.
  2. Triggering array copies(배열 복사 유도): JNI에서 배열은 값비싼 자원이다. 따라서 전체 배열에 접근하지 않고 반드시 필요한 부분만 접근하는 절약 정신이 요구된다. 예를 들어, long 담긴 배열에 접근할 경우 전체를 복사하는 GetLongArrayElements 대신 일부만 복사하는 GetLongArrayRegion을 사용할 수는 없는지 유심히 살펴볼 필요가 있다.
  3. Reaching back instead of passing parameters(매개변수 전달 대신 역참조): 사람들은 정보 은닉 관점에서 구조체나 클래스 객체에 여러 자료를 담아 전달하는 방식을 선호한다. 하지만 JNI에서 객체를 전달한 다음 객체에서 값을 얻기 위해 JNI 호출을 여러 번 하게 되면 굼벵이로 변한다. 따라서 처음부터 자료를 풀어헤쳐 개별 매개변수 형태로 전달하는 편이 훨씬 유리하다.
  4. Choosing the wrong boundary between native and Java code(잘못된 경계): 자바와 natvie 쪽 코드를 잘 분리해 자바에서 native로 native에서 자바로 호출이 최소로 일어나도록 만들어야 한다. 설계와도 관련이 있기 때문에 의외로 이 부분에 대해 실수하기 쉽다.
  5. Using many local references without informing the JVM(너무 많은 지역 참조): 지역 참조를 많이 할 경우 JVM 입장에서 무척 부담스럽다. 따라서 지역 참조를 될 수 있으면 적게 하고, 불필요한 지역 참조는 명시적으로 제거하는 편이 JVM 메모리 관리에 유리하다. 16개 이상 지역 참조가 필요할 경우 명시적으로 JVM에 이를 알려서 최적화가 가능하게 하자.
  6. Using the wrong JNIEnv(JNIEnv 오류): JNIEnv는 스레드 단위로 존재해야 한다. 스레드끼리 공유하거나 넘기면 절대 안 된다.
  7. Not checking for exceptions(예외 점검 미비): 예외를 일으킬 수 있는 JNI 함수 호출 다음에는 반드시 예외를 점검해야 한다. 이를 망각하면 나중에 (거꾸로) 대박 날지도...
  8. Not checking return values(반환값 점검 미비): JNI 함수 중에 결과를 반환하는 경우에 예외와 마찬가지로 제대로 검사해서 문제가 생겼을 경우 적절히 처리해야 한다.
  9. Using array methods incorrectly(배열 메소드 오용): 배열 메소드 쌍이 맞지 않으면 메모리 누수나 메모리 부족 현상이 생긴다.
  10. Using global references incorrectly(전역 참조 오용): 지역 참조만큼이나 전역 참조도 적절한 시점에서 잊어버리지 말고 해제해야 한다. JVM에서 메모리 누수 문제는 예상 외로 심각한 사태를 불러일으킬지도 모른다.

지난번과 중복되는 내용도 있고 새로 나온 내용도 있을 것이다. 얼마나 이런 실수가 많았으면, 아티클에서 문제 회피를 위한 표까지 정리해주었겠는가? T_T 다음 표를 참조해서 JNI 프로그래밍을 할 때마다 각성하면 좋겠다.

캐시하지 않음배열 복사 유도잘못된 경계너무 많은 역참조너무 많은 지역 참조JNIEnv 오류예외 점검 미비반환값 점검 미비배열 메소드 오용전역 참조 오용
JNI 명세 확인XXX
메소드 추적XXXXXXX
verbose:jniX
코드 검토XXXXXXXXXX
EOB

토요일, 6월 29, 2013

[독서광] The Java Native Interface: Programmer's Guide and Specification

어쩌다보니 JNI를 사용해 자바와 C 세상을 연결하게 되었는데, 출발부터 삐걱거리다 몇 번 혼이 난 다음에야 가까스로 정신을 차렸다. 자바 대가인 dynaxis 군에 따르면 JNI 표준을 정확하게 이해하지 못하고 감으로 프로그램을 만들면 나중에(나중에 - 이 얼마나 무서운 단어인가!) 심각한 문제를 초래한다고 하는데, 그게 무슨 말인지 이해하려면 바로 이 책을 읽어보면 된다. 아주 어려운 로켓 과학은 아니지만 무척 꼼꼼하게 '이러면 안 되고 저러면 큰일나고 요러면 망가진다'는 설명 앞에서 무심코 저지른 실수가 생각나며 몇 번을 화들짝 놀라게 될 책으로 보면 틀림 없겠다. 온라인 시대에 책 말고 인터넷에 올라온 아티클만으로 어떻게 안 될까? 유감스럽지만, 선 마이크로시스템오라클에서 제공하는 공식 문서인 Java™ Native Interface(JNI 6.0 기준)만으로는 미묘한 뉘앙스를 파악하기에 부족한 점이 많다는 사실도 짚고 넘어가겠다. 하지만 너무 겁먹지 마시라. 이 책은 분량이 300페이지 정도지만 후반부는 참조 매뉴얼 형태라 정신 바짝차려 읽으면 며칠 내 독파가 가능하니까.

이 책을 처음부터 끝까지 읽으면 가장 바람직하지만, 시간/여건 상 완독이 힘드신 분들이라면 11장 "Overview of the JNI Design"(11장을 읽다보면 왜 JNI가 이렇게 요상(응?)하게 만들어졌는지 이해가 갈 것이다)과 10장 'Traps and Pitfalls' 만이라도 꼭 읽어보기 바란다. 그래도 시간이 없는 분들을 위해 10장에서 나오는 몇 가지 함정에 대해 요약 정리해드리겠다.

  1. 오류 점검: native 메소드(C로 만든)를 작성할 때 가장 잊어버리기 쉬운 실수는 오류 조건이 발생했는지 점검하는 루틴 누락이다. 자바 프로그래밍 언어와는 달리 C에서는 표준 예외 처리를 제공하지 않는다. JNI는 C++ 예외와 같은 전형적인 예외 처리 매커니즘에 의존하지 않는다. 따라서, 예외를 일으킬 가능성이 있는 모든(!) JNI 함수 호출 직후 명시적으로 예외를 점검해야 한다(이 부분 밑줄 좌악). 예외 점검은 따분하지만 튼튼한 애플리케이션 제작을 위해 필수다.
  2. JNI 함수로 유효하지 않은 인수 전달: JNI 함수는 유효하지 않은 인수를 감지하거나 회복하려 들지 않는다. 참조값을 기대하는 JNI 함수에 NULL이나 (jobject) 0xFFFFFFFF를 넘기면, 이후 결과는 미정의(!)다. 현실에서 이런 미정의는 잘못된 결과나 가상 기계 충돌을 의미한다. -Xcheck:jni 명령행 옵션을 붙이면, 가상 기계에서 JNI 함수에 유효하지 않은 인수를 넘길 경우 (비록 전부는 아니지만) 상당수 잘못된 용례를 잡아낸다. 이 옵션은 부하를 유발하므로 기본적으로 꺼놓아야 한다.
  3. jboolean 인수 주의: jboolean은 8비트 부호없는 C 타입으로 0부터 255까지 저장 가능하다. 0은 JNI_FALSE이며, 나머지 1부터 255는 JNI_TRUE에 대응한다. 하지만 255보다 큰 16비트나 32비트인 경우 문제가 발생한다. 이런 점에 유의해서 프로그램을 작성해야 한다.
  4. 자바 애플리케이션과 native 코드 사이의 경계: JNI를 사용하는 자바 애플리케이션을 설계할 때, "무엇을, 얼마나 많이 native 코드에서 처리해야 하나?"라는 질문이 나온다. native 코드와 나머지 자바 애플리케이션 사이의 경계는 애플리케이션에 밀접하지만 몇 가지 원칙이 존재한다.
    • 경계를 단순하게 유지하자: JVM과 native 코드 사이에서 복잡한 제어 흐름이 왔다갔다 하면 디버그와 유지보수가 어렵고 고성능 자바 가상 기계가 수행하는 최적화에도 방해가 된다.
    • native 코드를 최소로 유지하자: natvie 코드는 이식성도 낮고 타입 안전성도 떨어진다. 되도록 최소로 줄이는 편이 좋다.
    • native 코드를 격리하자: 모든 native 메소드는 동일 패키지나 동일 클래스에 둬서 나머지 애플리케이션 코드로부터 격리시킨다. 이런 패키지나 클래스는 애플리케이션을 위한 "이식 계층"이 되어야 한다.
  5. ID와 참조를 혼동: JNI는 객체를 참조로 외부에 노출한다. 클래스, 문자열, 배열은 참조의 특수한 타입이다. JNI는 메소드와 필드를 ID로 노출한다. ID는 참조가 아니다!
  6. 필드와 메소드 ID 캐시하기: native 코드는 필드나 메소드의 이름과 타입 기술자를 문자열로 지정해 가상 기계로부터 필드나 메소드 ID를 얻는다. 이름을 사용한 필드와 메소드 탐색은 느리다. 종종 ID를 캐시하는 편이 비용을 줄인다. 캐시 필드나 메소드 ID에 대한 캐시를 사용하지 않을 경우 native 코드에서 성능 문제가 생길지도 모른다. 하지만 상속 관계에 주의해서 필드와 메소드 ID를 캐시해야 한다. 잘못하면 엉뚱한 내용을 캐시할지도 모르니까.
  7. 유니코드 문자열: GetSTringChars나 GetStringCritical에서 얻은 유니코드 문자열은 NULL로 끝나지 않는다. GetStringLength 함수를 호출해 16비트 유니코드 글자 수를 세야 한다.
  8. 가상 기계 자원 획득하기: native 메소드에서 흔히 저지르는 실수는 가상 기계 자원을 해제하는 루틴 누락이다. 프로그래머는 오류가 발생할 때 수행할 코드 경로에 대해 특히 주의해야 한다. 오류 발생 시점에서 자원을 해제하지 않고 return하는 경우가 많은데, 이럴 경우 해당 자원은 JVM에서 pinned 상태로 영원히 남게 되어 메모리 단편화를 일으키거나 메모리 누수 현상을 일으킨다. GetStringChars의 isCopy 매개변수를 JNI_FALSE로 지정했을 때조차 ReleaseStringChars를 호출해야 한다. 그렇지 않으면 jstring이 pinned 상태로 남게 된다.
  9. 과도한 지역 참조 생성: 과도한 지역 참조 생성은 불필요하게 메모리를 많이 소비한다. 불필요한 지역 참조는 참조된 객체 뿐만 아니라 참조 자체에도 메모리를 소비한다. native 메소드 실행 시간이 길어지거나 루프 내에서 지역 참조를 만들거나 유틸리티 함수에서 지역 참조를 만들 경우 특히 주의해야 한다. Push/PopLocalFrame 함수를 잘 활용한다.
  10. 유효하지 않은 지역 참조: 지역 참조는 지역 메소드의 단일 호출 내에서만 유효하다. native 메소드에서 생성한 지역 참조는 해당 메소드를 구현한 native 함수가 return될 때 자동으로 해제된다. native 코드는 전역 변수에 지역 참조를 저장해 나중에 native 메소드에서 사용해서는 안 된다. 지역 참조는 생성한 스레드 내에서만 유효하다. 지역 참조를 특정 스레드에서 다른 스레드로 전달해서는 안 된다. 스레드 사에에 참조를 전달하려면 전역 참조를 생성하자.
  11. 스레드 사이에서 JNIEnv 사용하기: JNIEnv 포인터는 연관된 스레드 내부에서만 사용해야 한다. 특정 스레드에서 얻은 JNIEnv 인터페이스 포인터를 캐시해 해당 포인터를 다른 스레드에서 사용하면 안 된다.

지금까지 설명한 내용은 공통적으로 가장 흔히 저지르는 실수이며, 개발자에 따라 다른 유형의 실수를 저지를 가능성도 있으므로 깨알같이 꼼꼼하게 프로그램을 작성해야 한다. 딱 세 가지로 요약하자면, JNI 함수 호출 다음에는 오류 점검이 따라 와야 하고, 코드 경로를 주의 깊게 살펴 자원 해제를 빠뜨리는 경우가 없는지 점검해야 하며, 지역 참조 관련해 한계를 확실하게 이해하고 있어야 한다.

결론: JNI로 뭔가를 하려면 반드시 이 책을 정독하기 바란다.

EOB

화요일, 6월 25, 2013

[독서광] 위대한 게임의 탄생 3

작년 여름 소개드린 위대한 게임의 탄생위대한 게임의 탄생 2에 이어 오늘은 위대한 게임의 탄생 3편을 소개해드리겠다. 박 일님께서 지난 주 보내주셨는데, 생각보다 내용 압박이 강해 읽는 과정에서 제법 시간이 오래 걸렸다.

영화도 그렇지만 책이 시리즈로 출간될 경우 사람들은 전편과 유사하면서도 다른 뭔가를 바라기 마련이다. 전편과 너무 동떨어져도 문제고 전편과 너무 흡사해도 문제다. 사람들의 눈높이가 이미 높아질 대로 높아져 새로운 것을 갈구하면서도 기존 좋았던 틀에서 벗어날 경우 연속성이 없다고 비판한다. '위대한 게임의 탄생'의 1편은 해외 사례, 2편은 국내 사례로 나뉘어져 있으므로 이런 어려움이 없었는데, 3편은 예상했던 바와 같이 국내 사례를 중심으로 전개되면서 2편과 차별성을 가져가야 하는 어려운 상황에 부딪혔을 것이다. 그렇다면 2편과 어떤 차이점이 있을까? 일단 게임 분야만으로 범위를 좁혔다는 점이 가장 먼저 눈에 들어왔다. 2편은 게임 이외에 3부에서 여러 분야를 다루다보니 주제가 산만해지는 문제점이 있었는데, 3편은 처음부터 끝까지 게임만 다루고 있으므로 통일성이 높아졌다. 다음으로 직군별 인터뷰가 빠져버린 대신 본문을 강화하는 방법을 사용한 점이 눈에 들어왔다. 1편과 2편은 직군별 인터뷰가 있어 중간 중간 한숨 돌릴 수도 있고, 다양한 각도에서 현장감을 느낄 수 있는 장점이 있었는데, 직군별 인터뷰가 빠져버리니 책을 읽는 과정에서 피로도가 높아지는 느낌이다. 2편에 비해 개별 사례에 대한 깊이가 깊어져서 호흡이 길어졌을지도 모르겠는데, 만일 인기를 끌어 4편이 나오면 직군별 인터뷰 형식이 아니더라도 다양한 스튜디오 소속 또는 독립 개발자와 자유로운 인터뷰 형식으로 중간 중간 변화를 주면 어떨까 하는 생각이 들었다. 본문 사례 전개 방식은 1편과 2편과 유사하게 전개되고 있으므로 기존 책의 서술 방식에 만족하는 독자들이라면 부담없이 읽을 수 있다. 개인적인 평가는 (형만한 아우 없다고) 1편 > 3편 > 2편 순이지만, 국내 게임 상황을 파악하기 위해서라면 3편이 가장 좋다는 생각이다.

각 게임별 포스트모르템 수준과 재미는 천차만별이다. 독자들에 따라 호불호가 갈리겠지만, 의외로 작은 게임을 소개하는 내용이 알차고 재미있었다. 큰 게임은 (어쩔 수 없는 환경상) 기술적인 측면이나 조직적인 측면을 많이 강조하다보니 실제 게임의 아기자기한 개발 재미와 고통을 제대로 전달하기 어려웠기 때문이 아닐까 싶다. 1편에서 소개하는 해외 게임의 경우에는 게임 규모와 무관하게 좋은 점과 나쁜 점을 독창적으로 모스트모르템 형식으로 기술하는 반면 국내 게임의 경우에는 회사/프로젝트 규모에 따라 (심지어) 어느 정도 규격화된 포스트모르템이 존재한다는 느낌도 들었는데, 만일 4편이 나오면 예상 가능한 시나리오를 전달하는 수준을 벗어나서 차별화 포인트를 정확히 공략해 들어갈 필요가 있어 보인다(그렇지 않으면 동일한 이야기가 중언부언될 가능성이 매우 높다!). 또한 기술적인 내용이 많은 포스트모르템의 경우 "우리는 이런 훌륭한 기술을 써서 게임을 만들었습니다"라고 서술하는 대신, 특정 기술을 사용하자고 결정한 역사적인 이유나 예상하거나 예상치 못한 파급 효과를 게임의 재미와 기획 의도와 관련지어 전지적인 작가 시점에서 서술해야 독자들이 납득할 것이다. 솔직히 말해 초당 프레임이 어떻고 컬러가 어떻고 폴리곤이 어떻고 모두 게임이 재미있고 난 다음에야 중요한 내용이고, 책 읽는 독자들은 그다지 관심없을 가능성이 높다(열심히 만든 프로그래머 입장에서는 무척 괴씸한 태글인지도 모르겠는데, 비유를 들어 설명하자면 영화가 재미없을 경우 IMAX, 3D, HFR, Dolby Atmos 이런 기술이 아무 소용없다는 사실을 기억해야 한다!)

결론: 전작과 마찬가지로 다양한 플랫폼, 다양한 장르의 게임(22개?)을 다루고 있기에 여러 각도에서 게임 개발에 관련된 희노애락을 느낄 수 있다. 게임 업계에 종사하거나 향후 종사하고 싶은 분들이 제일 궁금하게 생각하는 '과연 남들은 어떻게 개발하고 있을까?'라는 질문에 100%는 아니더라도 나름 도움이 되는 대답이 나오므로 책을 읽으며 스스로를 한번 돌아보는 기회를 만들면 좋겠다.

EOB

토요일, 6월 22, 2013

[독서광] 카산드라 따라잡기

1년 반 전에 [독서광] 카산드라 완벽 가이드라는 제목으로 카산드라 관련 서적 하나를 독자 여러분들께 소개드렸었다. 오늘은 에이콘 출판사에서 보내온 행운의 상자에서 꺼내 읽은 카산드라 책을 하나 소개하려 한다. 정말 간만에 전문서를 리뷰하니 낯설기까지 하구나. T_T

'150가지 예제로 배우는 NoSQL 카산드라 설계와 성능 최적화'라는 부제가 붙은 팩트 '카산드라 따라잡기'는 오라일리 카산드라 완벽 가이드와는 완전히 반대 방향에서 출발한다. 오라일리 버전이 카산드라의 이론, 아키텍처, 개념, 구조를 집중적으로 공략했다면, 팩트 버전(오늘 소개하는 책)은 일단 예제부터 보고 동작 원리를 파악하는 방식을 따른다. 따라서 책 내용 자체에 접근은 수월하지만 어느 정도 카산드라의 개념과 용어에 익숙해야 이해가 가능하므로 미리 선행 학습이 필요하다. 그리고 조각난 예제가 아니라 완전한 예제를 제공하며, 처음 카산드라를 만져보는 개발자를 위해 실습 환경 구축까지도 스크립트와 구체적인 예를 제공한다는 측면에서 직접 해보고 배우는 유형의 개발자에게 적합하다는 생각이다. 카산드라와 함께 동작하는 다양한 유틸리티, 프레임워크, 결합 가능한 오픈 소스 소프트웨어까지 소개하므로 카산드라를 중심으로 동작하는 에코 시스템을 이해할 수 있다.

목차를 보면, 우선 카산드라 인스턴스 실행 방법(단독, 다중)을 설명하고, CLI 인터페이스를 소개한다. 그리고 쓰리프트 API를 사용해 CLI로 수행한 작업을 다시 한번 프로그램으로 반복해보고 하드웨어, 운영체제, JVM과 관련된 성능 튜닝으로 들어간다. 여기까지 해보면 카산드라 맛보기가 끝날 것이다. 그리고 나서 일관성/가용성/파티션 허용, 스키마 디자인, 관리, 데이터 센터 사용과 같은 고급 주제로 넘어간다. 마지막으로 하둡을 사용한 맵리듀스를 설명하며, 성능 통계 수집/분석, 서버 모니터링으로 마무리한다. 거의 모든 부분을 실제 예를 들어 설명하고 있으므로 전반적인 카산드라 따라잡기에 많은 도움을 준다. 팩트 출판사 홈페이지에서 코드와 정오표를 제공하므로 관심있는 분들께서는 코드를 내려받아 살펴보기 바란다.

동전에 양면이 있듯이 이 책에도 빛(넓은 범위, 알기 쉬운 설명, 예제)과 그림자(얕은 깊이, 이론 부제, 예를 위한 예)가 공존한다. 현재 카산드라 버전이 1.2.5까지 나왔지만, 이 책은 여전히 0.7과 0.8대에 머물기 때문에 이후 새롭게 추가된 부분에 대해서는 직접 찾아봐야 한다. 또한 설명의 편의를 위해 책에서 다루는 내용이 'hello, world' 수준을 크게 넘어서지 못하므로 이 책에 나온 예를 그대로 상용 코드에 적용하기에는 무리가 있어 보인다. 일단 책에서 제공하는 샘플 코드를 사용해 개념을 잡은 다음에 추가로 다른 책과 웹 사이트를 살펴보자. 이 책과 함께 볼만한 자료로 카산드라 홈 페이지에서 제공하는 공식 위키는 다소 오래되었고 구성이 체계적이지 않으므로 DataStax Document에서 필요한 자료를 찾아보는 편이 정신 건강에 이롭다.

결론: 카산드라를 처음 시작하는 분이라면 감을 잡기 위해 이 책을 읽어보면 좋겠다.

EOB

화요일, 6월 18, 2013

[일상다반사] 사람들이 일반적으로 말해주지 않는 충고

What are important things and advice to know that people generally aren't told about?라는 글을 Quora에서 읽었는데, 의외로 좋은 내용이 많아 스스로 정리할 겸 독자 여러분에게도 소개하기 위해 편집기를 열었다.

  • 가장 친한 친구와 결혼하라: 가장 편안하게 지낼 수 있는 사람이 배우자가 아니라면, 만들어라! (이 사람은 가족이 아니라고 가정한다)
  • 어른인채 하지 마라: 항상 즐겁게 살자. 나이에 무관하게 진흙탕에서 뒹굴고, 노래부르고, 배개 싸움하자.
  • 학습을 중단하지 마라: 인생을 타성으로 살기 시작하면, 패배자가 된다. 항상 지식을 넓혀라.
  • 실패하고 있지 않다면 뭔가 잘못하고 있는 거다. (실수를 해도 문제 없다)
  • 생각없고 비이성적인 사람들과 이성적으로 논쟁하려 들지 마라.
  • 새로운 소식과 정보를 받아들이느라 너무 스트레스 받지 마라.
  • 돈이 안 되는 뭔가를 해보자.
  • 행복은 뭔가를 만들어내는 데 있지 뭔가를 얻는 데 있지 않다.
  • 시간은 생각보다 빨리 지나간다. 나이가 들수록 이런 효과는 더 가속화된다.
  • 부는 상대적으로 덜 중요하다.
  • 어떤 일은 배울 수 없다. 단지 경험할 뿐이다.
  • 당신이 누구인지 알고, 그 사람을 받아들이고, 그 사람이 되어라.
  • 허가를 얻으려 기다리지 마라. 스스로에게 오케이 사인을 보내라.
  • 자신에게 거짓말하지 마라.
  • 최대한 용서하라. 원한을 품어봐야 얻는 게 없다.
  • 겸손하라(특히 "약자"에게)
  • 자신에게 허용하는 만큼 행복이 따라온다.
  • 멘토를 찾고 멘토가 되자.
  • 좋아하는 뭔가를 찾아 끝까지 하자.
  • 접시에 담긴 모든 음식을 먹을 필요는 없다.
  • 전화 벨이 울린다고 꼭 받아야 할 필요는 없다.
  • 항상 행동하자. 사람들은 행동한 것보다 행동하지 않은 것을 후회한다.
  • 과거는 교훈을 얻을 곳이지 살 곳은 아니다.
  • 희망이 없다고 결정하는 곳은 마음이지 주변 환경은 아니다.

개인적으로 '자신의 실수를 인정하라'라는 충고 아닌 충고를 덧붙이고 싶다. 누구나 살면서 실수를 하기 마련인데 알량한 자존심(응?) 때문에 이걸 인정하지 않으려 든다. 하지만 내 잘못 네 잘못 내 실수 네 실수를 가리다 본질을 놓친다면 모두가 손해다.

EOB

토요일, 6월 15, 2013

[독서광] 습관의 힘

오늘은 2013년 상반기를 정리하는 김에 가장 좋았던 책을 하나 소개하겠다. 오늘의 주인공은 '반복되는 행동이 만드는 극적인 변화'라는 부제가 붙은 '습관의 힘'이다. 직전에 소개한 'REPETABILITY: 최고의 전략은 무엇인가'에서도 계속 강조한 이야기지만 단순한 원칙을 지속적으로 반복하는 방법은 큰 변화를 추구하는 가장 기본적인 방식이며, 이 책 역시 바로 이런 기본을 어떻게 실천할지 구체적인 방법을 제시한다.

이 책은 지난번 소개한 [독서광] 디멘드처럼 풍부한 자료, 흥미로운 소재, 다양한 각도에서 사건 조망하기라는 동일한 특징을 보이지만 한 가지 중요한 차이점이 있다. 디멘드를 읽다보면 (잘 아는 회사에 대한 내용임에도 불구하고) 딴 나라 이야기처럼 느껴지는 반면, 이 책은 마치 자기 자신의 이야기처럼 느껴진다. 이런 사소한 차이가 책에 대한 몰입도를 완전 다른 수준으로 바꿔놓는다. 물론 이렇게 말하고 나니까 개인에 국한된 내용(즉 자기 계발서)에 가깝다는 생각이 들지 모르겠는데, 놀랍게도 이 책 중반 이후부터는 습관이 기업, 조직, 사회에 미치는 영향으로 확장되면서 경영쪽에도 응용할 수 있는 여러 가지 좋은 이야기가 등장한다.

이 책은 "습관은 우리(개인, 기업, 조직)의 삶을 지배하므로 습관을 바꾸는 방법으로 나와 세상을 바꿀 수 있다"라는 한 문장으로 요약 가능한데, 아주 복잡한 방식이 아니라 상당히 단순한 방식(물론 단순하다는 말이 쉽다는 말과 동격은 아니며, 이 책 곳곳에서 여기에 대해 여러 차례 주의를 주고 있다)으로 습관을 공략해나가기 때문에 더욱 현실성이 높지 않나 싶다. 다음 그림에 소개하는 신호(que), 반복 행동(routine), 보상(reward)이라는 세 가지 단계를 놓고 각각에 대한 연결고리를 파악해 습관을 바꾸는 방법을 따라가다보면 어느 순간 습관이라는 녀석이 반드시 물리쳐야 할 최강의 악당이 아니라 더불어 살아가는 동료라는 사실을 깨닫게 될 것이다.

습관을 바꾸는 일이 정말 가능하다고? 성질 급하신 분을 위해 한 페이지짜리 요약 설명서(아쉽게도 영문 버전)를 붙여봤다. 물론 이 책을 읽어봐야 가슴에 와닿겠지만, 전체 개괄로는 충분해 보인다. 책상에 붙여놓고 바라보기만 해도 나쁜 습관이 도망갈 것 같지 않은가?

여러분들이 기대하고 계신... 본문 중 나오는 좋은 문구를 정리해보겠다.

과학자들의 연구에 따르면 습관이 형성되는 이유는 우리 뇌가 활동을 절약할 방법을 끊임없이 찾기 때문이다.
습관은 우리 뇌를 상식적인 판단을 비롯해 모든 것을 무시하고 오직 그 습관에만 매달리게 만든다는 점에서 무척 강력하다.
한 그룹에서는 92퍼센트가 운동을 하고 나면 '기분이 좋아지기' 때문에 습관적으로 운동한다고 대답했다.
사람들은 (양치질 후) 시원하고 얼얼한 느낌을 열망하게 되었고 그런 느낌을 청결과 동일시하면서 양치질이 습관으로 자리잡았던 것이었다.
습관 변화를 위한 황금률: 나쁜 습관은 완전히 사라지지 않는다. 다만 다른 행동으로 바뀔 뿐이다.
습관을 바꾸는 방법: 같은 신호를 사용하라. 같은 보상을 제공하라. 반복 행동을 바꿔라.
알코올은 현실 도피, 긴장 완화와 동료애, 번민의 망각 등 감정적 억압을 떨쳐 낼 기회를 주기 때문에 중독자들은 알코올을 열망한다. 걱정을 떨쳐내기 위해 칵테일을 열망한다. 그러나 술에 취한 기분을 열망하는 경우는 극히 드물다. 다시 말하면, 알코올이 우리 신체에 미치는 영향은 중독자들이 술에서 거의 기대하지 않는 보상 중 하나다.
"개인에게 습관이 있다면 조직에는 반복 행동이 있다" "반복 행동은 조직의 습관과 유사한 것이다."
운동은 삶의 다른 부분에 영향을 준다. 운동이 다른 긍정적인 습관을 쉽게 받아들이게 해주기 때문이다.
"의지력이 필요한 일, 이를테면 퇴근 후에 달리기를 하고 싶다면 낮에 의지력 근육을 아껴 둬야 합니다. 이메일을 쓴다거나 복잡하고 따분한 지출 결의서를 작성하면서 일치감치 의지력을 소진해버리면 퇴근할 즈믐에는 의지력이 완전히 사라지고 말 겁니다."
"자제력이 필요한 일을 하라는 요구를 받을 때 그 일을 개인적인 이유로 한다고 생각하면, 다시 말해서 그 일을 즐긴다고 생각하거나 그 일로 누군가를 돕기 때문에 선택받은 사람이란 기분이 들면 그 일이 훨씬 덜 힘듭니다.
직원들에게 조직의 대리인이란 의식, 즉 뭔가를 통제하고 진정한 결정권을 갖고 있다는 의식을 심어주는 것만으로도 업무에의 열의와 집중력을 크게 높일 수 있다.
"대다수의 기업 행태는 의사 결정 나무의 외진 잔가지들을 조사한 결과로는 제대로 이해할 수 없으며 각 기업의 과거에 뿌리를 둔 일반적인 습관과 전략적인 경향의 반영으로 보아야 한다"
기업은 구성원 모두가 오순도순 화합하며 지내는 행복한 대가족이 아니다.
조직을 성공의 길로 끌어가기 위해서는 권한의 균형만으로는 부족하다. 조직이 원활하게 굴러가기 위해서는 리더들이 균형 잡힌 진정한 평화를 구축할 수 있는 습관, 역설적이지만 누가 책임자인지 명확하게 인식하는 습관을 심어줘야 한다.
혼란이 닥쳤을 때야말로 책임을 부여하고 한층 공평한 세력 균형을 조성하는 방향으로 조직의 습관을 바꿀 수 있는 적기이다. 위기에 직면하면 조직의 습관이 유연해지기 때문이다.
(고객들이) 쇼핑 목록을 미리 준비했음에도 불구하고 구매 결정의 50퍼센트 이상이 선반에서 상품을 본 순간에 이뤄졌다.
"때때로 소비자는 습관의 동물처럼 행동하며, 현재의 목적에 관계없이 과거의 행동을 기계적으로 되풀이한다."
지난 수십 년 동안 슬롯머신은 '거의 성공'의 확률을 꾸준히 높이는 방식으로 재프로그래밍되었다. '거의 성공'을 맛본 후에 계속 배팅하는 사람들이 카지노와 경마장 및 복권 회사의 배를 불려준다.
습관을 바꾸기 위해서는 습관을 바꾸겠다는 결심이 먼저 있어야 한다.
"내 자유 의지에 따른 첫 행동은 자유 의지를 믿는 것이어야 한다."
우리에게 어떤 습관을 자극하는 신호를 찾아내기 힘든 이유는, 우리가 습관과 관련된 행동을 시작할 때 우리에게 쏟아지는 정보가 너무 많기 때문이다.

결론: 2013년 상반기 #1 도서로 이 책을 선정한다.

EOB

화요일, 6월 11, 2013

[일상다반사] OODA 루프와 F-16 전투기 설계 사상

오늘은 지난 번에 독후감을 올려드렸던 REPETABILITY: 최고의 전략은 무엇인가에 나오는 내용 중에서 흥미로운 이야기를 별도로 분리해서 소개하겠다. 오늘 소개할 내용은 경영학을 공부하신 분이라면 들어봤을지도 모르는 OODA 루프다. OODA는 observe(관찰), orient(방위 확인), decide(결정), act(행동)의 첫글자를 따서 만든 용어로 전장에서 전술적인 결정을 내려야할 때 사용하는 프레임워크다. OODA의 탄생은 한국전쟁으로 거슬러 올라가 밀덕 사이에서 유명한 떡밥으로 남은 F-86과 Mig-15의 공중전에서 비롯된다. 분명히 스펙(응?) 상으로는 열세인 F-86이 Mig-15와 맞서 우월한 성적표를 받은 이유를 설명하는 과정에서 등장한 이론이다.

(F-86의 캐노피를 보면 시야 확보를 위해 상부로 돌출되어 있다)

한국전에서 잠시 F-86을 몰고 전투에 참가했던 경험이 있던 존 보이드는 개인이든 조직이든 어떤 사건에 부딪혀 반응하는 과정을 이론으로 정립했다. 이론 자체는 간단하다. 공중전(또는 경쟁)에서 승리하기 위한 핵심은 상대편보다 더 빠르게 적절한 결정을 내릴 수 있는 상황을 유지하는 능력에 있으며, 이를 수행하는 과정을 관찰, 방위 확인, 결정, 행동으로 나눈다. 각 과정은 관찰로 피드백을 주는 연결고리를 생성하며, 이를 반복하는 방식으로 일종의 리듬을 타게 된다. 이 때, 더 빠른 템포를 이용해 상대편이 사용하는 OODA 연결 고리를 단절하거나 부셔버리면 승리를 거두게 된다. 구체적으로 말해, 시야각이 넓은 버블 캐노피와 중간 고도에서 기동성이 뛰어난 장점을 활용해 관찰/방위 확인에서 우위를 차지하고(시야가 넓으므로 먼저 적기를 발견할 수 있으므로), 행동을 빨리 가져가는(주로 전투가 벌어지는 중간 고도에서 기동성이 뛰어나므로) 방법으로 Mig-15에 비교해 속력과 화력 부족이라는 열세를 F-86이 극복했다는 설명이다.

OODA 루프는 미 국방성이 추진했던 (F-4에서 F-15로 이어지는) 대형 전투기 사업과 반대로 가는 경량급 전투기 개발의 이론적인 초석이 된다. 베트남 전을 거치며 천하무적인 듯이 보였던 F-4의 한계가 드러나면서 기동성이 높고 가벼운 전투기의 필요성이 대두되었고 가벼운 기체, 넓은 시야각, 놀라운 기동성을 특징으로 내세운 F-16이 탄생하게 된다.

(F-16의 캐노피 역시 시야 확보를 위해 상부로 돌출되어 있다)

OODA 루프를 이해하기 전까지는 F-16 전투기의 설계 사상에 대해 전혀 눈치를 채지 못하고 있었는데(비용을 줄이기 위한 목적으로 만든 전투기인가?), 위키피디아에서 설명하는 다음과 같은 내용이 바로 이해가 되어버렸다.

  • 넓은 가시성을 위한 프레임이 없는 버블 캐노피(관찰, 방위 확인)
  • 조종 과정에서 손쉬운 제어를 위한 옆에 달린 조종간(행동)
  • 30도로 기울어져 조종사에게 가해지는 관성력을 줄이는 좌석(행동)
  • 민첩한 동작을 위한 전기 신호식 비행 조종 제어 장치(Fly-By-Wire)와 미션 컴퓨터(행동)

F-16은 1976년 이후 4천 5백대가 넘게 만들어졌으며 대한민국 공군을 비롯해 전세계에서 사랑받는 베스트셀러 모델로 자리잡았고, 아직도 생산 중에 있다.

뱀다리: 역사/경영학적으로 OODA 루프에 접근하고 싶다면, 패스트컴퍼니에 실린 The Strategy of The Fighter Pilot를 읽어보시기 바란다.

EOB

토요일, 6월 08, 2013

[독서광] REPETABILITY: 최고의 전략은 무엇인가

경제/경영 블로그로 아름다운 명성(응? 정말?)을 떨치다보니, 청림출판사에서 책을 한 권 보내주셨다. 잽싸게 다 읽은 기념으로 오늘은 '반복 가능한 성공 공식을 찾아라'는 부제가 붙은 '최고의 전략은 무엇인가'를 소개해드리겠다.

우리가 익히 잘 아는 톰 피터스의 '초우량 기업의 조건'부터 짐 콜린스의 '좋은 기업을 넘어 위대한 기업으로'와 김찬위의 '블루오션 전략'에 이어 '히든 챔피언'이 나오면서 좋은 기업이 가져야 하는 특성이 무엇인지에 대해 엄청난 연구가 이뤄졌지만 아무리 좋은 특성을 갖춰 날고 기는 기업이라도 한 방에 침몰할 수 있다는 엄연한 사실 앞에서는 좋은 기업과 최고의 전략을 뽑아봐야 개별 사례 연구와 사후해석 수준에 머물 수 밖게 없는 빚바랜 노력임이 밝혀졌다. 물론 짐 콜린스는 그 와중에서도 '위대한 기업은 다 어디로 갔을까'라는 책을 내어 다시 한번 노익장을 과시하기는 했지만 이 책에서 주장하는 내용 역시 실패한 기업에 대한 변명거리 수준을 넘어서지 못했다. 이런 혼란스런 상황에서 유명한 컨설팅 회사인 베인&컴퍼니에 근무하는 두 저자는 성공한(성공에 대한 명확한 기준은 책 본문에 잘 나온다) 회사 목록을 뽑아보고서 공통점이라고는 찾기 어려운 여러 회사가 성공한 이유가 무엇인지에 대해 무척 궁금했음이 틀림없다.

이 책은 회사가 '지속적'으로 성장하기 위해 필요한 자질이 무엇인지에 대해 설명한다. 답은 이미 표제에 나와있다. 바로 'Repeatability'(반복성)이다. 독자 여러분을 위해 요약하자면, 업종, 지역, 경쟁사, 고객 구성에 무관하게 '과거의 성공을 반복적으로 실행하고 적용하기 위한 구체적이며 단순한 공식을 보유하고 있으며, 중요한 전략적 선택에 있어 이런 공식을 지속적이고 반복적으로 적용한다'라는 모델이 바로 이 책에서 설명하는 성공의 열쇠다. 이런 공식이 과연 유효할까? 어떻게 보면 이 책은 '건강하게 살려면 어떻게 해야 합니까?'라는 고전적인 질문과 '좋은 습관을 들여 규칙적이고 지속적으로 운동하고 건강한 식단을 유지하면 됩니다'라는 고전적인 대답을 경영에 적용한 듯이 보인다. 하지만 이런 다소 따분한 내용은 '만병통치약을 먹으면 무병장수할 수 있다'는 성공한 기업의 비밀을 폭로해버리는 눈이 핑핑 돌아가는 화끈한 내용에 비해 시대를 역행한다는 생각이 들지 모르겠지만 겉멋만 추구하다 정말 중요한 뭔가를 놓치고 있지 않은지 곰곰히 생각하게 만드는 장점이 분명히 존재한다.

호기심이 생기기 시작하는가? 그렇다면 동명의 웹 사이트인 repeatability(영어)를 방문해 여러 가지 소개 자료, 기본 원리/전략을 찾아보거나 repeatable model diagnostic을 방문해 여러분 회사의 반복 가능성 수준에 대해 평가해보기 바란다. 그리고 나서 이 책을 읽어보면 통찰력이 생길 것이다.

백문이 불여일견이라고 여러분께서 기다리고 계신 본문에 나오는 좋은 문구를 함께 살펴보자.

우리가 수집한 데이터에 따르면 단순성, 집중, 지속적으로 변화의 기술을 숙달한 기업이 급격한 변화나 끊임없는 혁신 전략을 구사하는 기업보다 대부분 더 좋은 성과를 낸 것으로 나타났다.
우리는 연구를 통해 지속적인 성공은 어떤 시장을 선택하느냐의 문제가 아니라 훨씬 통제 가능한 변수인 기업을 어떻게 설계하느냐에 따라 좌우된다는 것을 알게 되었다.
우리는 유망 시장을 선택하는 것보다 전략적 방법론과 목표, 그리고 이를 실행하기 위한 비즈니스 모델이 수익성 있는 성장의 핵심이라는 사실을 발견했다.
세 가지 실마리: 1) 시장이 아니라 기업이 핵심이다. 2) 새로운 성장 프로젝트는 대부분 실패한다. 3) 핵심 사업을 재정의 하는 경우, 그 성공 확률은 매우 낮다.
반복 가능한 위대한 모델의 설계 원칙: 1) 성공적인 핵심 사업의 차별화 2) 타협할 수 없는 가치 3) 선순환 학습 시스템
한 때 천하무적의 비즈니스 모델로 여겨졌던 기업들이 모멘텀을 잃어버리게 되는 이유는 핵심 사업에 대한 집중력 상실과 발 빠른 적응에 실패하기 때문이다. 비즈니스 모델 자체의 유효성이나 근본적인 고객 니즈가 사라져서 침체가 온 경우는 전무했다.
성공적이던 반복 가능한 모델이 벽에 부딪치는 두 번째 이유는 기업이 환경 변화에 대한 발 빠른 적응에 실패하면서 시장과 기술 변화가 기업의 경쟁우위의 원천을 약화시켰기 때문이다.
반복 가능한 위대한 모델의 기업들이 앞선 경쟁력을 유지할 수 있는 이유: 1) 경영진과 일선 조직 간의 좁혀진 거리 2) 더 빠르고 현명한 의사 결정 3) 지속적인 개선 기술 숙달
차별화는 모든 사람들이 사용하기는 하나 어느 누구도 제대로 이해하지 못하는 그런 단어가 되어버렸다.
반복 가능한 비즈니스 모델이 지속적인 성장을 하려면 1단계 개별 시장, 2단계 인접 시장, 3단계 복수의 핵심 시장이라는 3단계 복제 방식이 핵심적인 역할을 수행한다.
차별화된 핵심에서 너무 멀리 이동했거나 적절하지 않은 방식으로 성장을 추진했다가 곤경에 처한 기업에게 본래의 공식으로 돌아가는 것이 해법인 경우가 많다.
많은 기업들이 자사의 핵심 사업과 차별성이 가진 잠재력을 온전히 인식하지 못한다. 이런 현상은 다음과 같은 부정적인 효과를 낳는다. 1) 핵심 사업과 인접한 기회를 포착할 수 있는 능력을 크게 저하시킨다. 2) 핵심 사업의 차별화를 위한 투자를 결정함에 있어 판단력을 흐린다. 3) 잘못된 자신감을 심어주어 그 기업과 맞지 않는 사업 분야로 진출하는 오류를 범하게 한다.
경험을 돌이켜볼 때, 자사가 가진 측정 가능한 진정한 차별화 원천을 잘 관리하는 기업은 매우 드물다.
일선 직원의 행동에 있어 잘 정의된 공통의 핵심 원칙과 신념이 기업 성과와 가장 큰 상관 관계가 있음을 발견한 것이다.
자기 조직화 행동이 지속적으로 이뤄지면 업무 속도가 가속화된다. 일 처리 속도가 빨라지면 경쟁업체보다 더 많은 새로운 성장 기회를 포착하게 되고, 단위 시간당 더 많은 새로운 성장 기회를 포착하게 되고, 단위 시간당 더 많은 성과를 올리게 되어 궁극적으로 성장을 가속화한다. 식물의 세포 복제 속도가 빨라지면 성장 속도가 빨라지듯이 비즈니스에 있어서도 동일한 원칙이 적용된다.
카메라와 같은 제품에 딸려오는 사용자 매뉴얼을 본 적이 있을 것이다. 하지만 매뉴얼에는 이 기계가 어떻게 작동하는지, 어떻게 사용하는 것이 가장 좋은 전략인지, 기계가 가진 최대 잠재력은 무엇인지에 대한 개요는 찾아볼 수가 없다.
기업 침체의 근본 원인에 관한 증거를 파악한 바, 실패의 원인은 대개 내부에 있었으며, 대부분 핵심 사업의 잠재력을 최대치로 달성하지 못한 데 기인한다고 결론내렸다.
기업은 전략을 조직원들이 공유할 수 있는 일련의 원칙으로 쳬계화함으로써 직원들의 자기 조직화 행동과 일선에서의 의사결정을 촉진할 수 있다. 이를 '일정한 틀안에서의 자유'라 명명한다.
관행은 조직의 습관에 비유할 수 있다. 하지만 사람의 경우와 마찬가지로 한 번 들인 습관을 바꾸기란 여간 어렵지 않다.
기업이 조직의 체질 개선을 위해 추진한 이니셔티브의 70퍼센트 이상이 실패하는 것은 전혀 놀라운 일이 아니다.
성공이 지속되는 상황이라면 장기적으로 가장 위험하지 않은 길이 단기적으로 가장 위험해보일 수 있다.
근본적으로 적응에 탁월한 기업은 없다.
기업의 실패는 환경이 아닌 잘못된 판단의 결과이다. 그리고 대부분의 잘못된 결정들은 피할 수 있는 조직 내부의 인지적/심리적 역학에 원인을 두고 있다.
다양한 분야에서 최고의 성과를 거둔 사람들의 경우 보통 사람들보다 훨씬 체계적이고 통합적인 지식체계를 가지고 있다. ... 일반적으로 최고의 실력자들이 가진 지식은 상위 원칙으로 통합되고 연결되어 있었다.
인간이 만든 시스템은 자연계보다 훨씬 빠른 속도로 무질서로 치닫는다. 학생들이 빼곡히 앉아있는 교실에서 선생님이 나간지 10분 뒤에 펼쳐질 장면을 생각해보라.
복잡한 조직에서 이뤄지는 일상 업무에서 엔트로피는 대개 집중력 낭비와 손실로 이어진다.
엔트로피는 반복 가능한 모델의 적으로서, 강력한 관리체계가 없다면 질서에서 무질서로 쉽게 떨어질 수 있다.
연구에 따르면, 자연계 시스템과는 달리 비즈니스에서의 엔트로피는 기회의 부재나 노후화로 인해 발생하는 경우는 드물다.
CEO는 타협할 수 없는 가치들이 일선 직원의 역량을 강화하는 방향이 되어야지 제한하도록 만들어서는 안 된다.
제대로 된 리더십이 없다면 언제나 엔트로피가 승리하기 마련이다.
테니스 공을 정확하게 치는 법을 학습하기 위해, 비록 목표가 테니스의 황제로 불리는 로저 페더러의 수준에 도달하는 것은 아닐지라도 그의 발 동작, 훈련 방식, 준비 동작, 테크닉을 연구하는 것은 큰 도움이 된다.

결론: 기업 전략에 대한 이해도를 높이는 목적 뿐만 아니라 본문 곳곳에 나오는 적절한 비유, 은유, 유머를 즐기기 위해서라도 이 책을 꼭 읽어보기 바란다. 강력 추천!

뱀다리: 본문에 나오는 사례 중에 기억해야 하는 사항을 짚고 넘어가겠다. 타이거 우즈의 2009년과 2010년 통계 자료가 나오는데 시사하는 바가 컸다.

20092010
그린적중률68.5%64.1%
10피트 내 피팅 수90.4%87.3%
페어웨이 드라이빙64.3%57.2%
쓰리퍼트 적중률2.0%2.6%
평균 타수68.170.3

통계 자료를 보면 뭐 이 정도야 충분히 용납 가능한 수치가 아닌지 생각들지도 모르겠는데, 우즈는 2009년에 20경기 중 8개를 우승한 반면, 2010년에 17개 경기 중 하나도 우승하지 못했다. '대충하면 어때? 아무도 모를테니.'하지만 현실에서 작은 차이가 큰 결과 차이로 나타난다는 사실을 알고 있다면, 매순간 최선을 다해 역량을 집중하지 않을 수 없을 것이다.

EOB

화요일, 6월 04, 2013

[일상다반사] 모바일의 위력

최근 회사에서 업무용(응?)으로 아이패드를 지급받는 바람에 졸지에 2G폰(삼성), 3G스마트폰(아이폰 4s), LTE태블릿(레티나 아이패드)를 들고다니고 있다. 물론 덕분에 3G 통신이 가능한 킨들은 찬밥 신세가 되었지만 말이다. 2G폰은 제쳐두고서라도 이동 중 네트워크에 접속 가능한 장비가 무려 세 개나 되니 사실상 어디를 가더라도 연결(connected)되어있다고 봐야 한다. 그렇다면 일부 덕스러운 사용자에게만 이런 명제가 성립할까? 아니다. 이번에 "Mobile is eating the world"라는 발표 자료를 보고 나니 전 세계에 공통으로 성립하는 명제라는 사실을 깨닫게 되었다.

발표 자료 중에서 생각해볼만한 몇 가지 내용을 정리해보겠다.

  • 2009년 가정용 PC 대수가 업무용 PC 대수를 앞질렀다고 생각하자 마자 다시 업무용 PC에게 추월당할 상황. 이유는 바로 급격하게 치고 올라오는 태블릿!
  • 2011년부터 스마트폰의 성장률은 넘사벽이 되었고, 조만간 태블릿이 업무용 PC/가정용 PC를 추월할 기세.
  • 인구 성장률과 비교해 스마트폰의 성장률이 가장 높고 다음으로 태블릿이 높음. 순수 성장률 자체만 놓고 보면 태블릿이 가장 높고 다음으로 스마트폰
  • PC는 교체 주기가 4~5년. 스마트폰은 2년. (가정에서) PC는 공유하지만, 스마트폰은 개인마다 보유하는 특성.
  • 모바일 부문에서 마이크로소프트의 매출이 지속적으로 하강하는 추세.
  • 수익은 애플, 매출은 삼성, 숫자는 구글/안드로이드
  • 2012년 전세계 매출을 보면 책, 온라인 광고보다 애플이 앞서는 추세.
  • (넷북을 멸종시켰듯이) 태블릿이 랩탑 시장을 급격하게 대채하는 추세. 태블릿 출하 대수가 이미 데스크탑 대수를 추월.
  • 2012년 여전히 아이패드가 태블릿 중 절반을 차지.
  • 전자책은 상대적으로 관심이 줄어들고 있는 상황. 2011년도 말에 정점을 찍고 줄어드는 추세.
  • 태블릿 웹 트래픽은 아이패드가 전세계적으로 75% 이상 차지.
  • 활동 사용자 수는 페북 모바일 > 구글 안드로이드 > 애플 iOS > 아마존 차례

앞으로는 어떤 사업을 하더라도 돈이 되고 안 되고를 떠나서 반드시 모바일을 생각해야 하는 상황이 왔다는 생각이다. 전통적인 PC/웹 기반이 아직은 버티고 있지만 10년 안에 정말로 불타는 플랫폼(응?)이 될지도 모르기 때문이다. 이제 주변을 돌아보자. 여러분 책상에는 스마트폰과 태블릿이 몇 개 놓여 있는가?

토요일, 6월 01, 2013

[독서광] 보이지 않는 고릴라

본론에 들어가기 전에 잠시 15년도 훨씬 지난 이야기를 하나 꺼내봐야겠다. 택시를 타고 가다 우연히 다른 택시와 충돌하는 바람에 경찰서에 증인으로 조서를 작성할 기회가 있었는데, 사람의 기억력에 대해 놀랄만한 사실을 깨닫게 되었다. 조서를 꾸며보신 분이라면 다들 아실텐데, 사고 순간에 대한 진술만 받지 않는다. 사고 전후 1시간 동안 어디서 뭘 했는지에 대해 최대한 자세히 진술해야 한다. 그 날 나를 맡은 담당자가 마음이 좋았는지, 증인 조서를 다 작성한 다음에 자기가 직접 차를 몰고 나를 데리고 다니면서 내가 진술한 내용이 얼마나 엉터리인지 하나둘씩 짚어주기 시작했다. 그 중에서 가장 기억나는 부분이 강북에 사는 분들이라면 누구나 알고 있는 종로구 소재 사직 터널이다. "사직 터널의 상행선과 하행선 차선이 각각 몇 개일까요?" 이게 바로 담당자의 질문이었고, 나는 완전 엉터리로 대답하고 만 것이다(차선이 문제가 아니라 아예 터널 개수부터 틀렸다). 그 날 이후부터 의식적으로 (나를 포함한) 사람의 기억력에 대해 신뢰하지 않게 되었다.

여기까지 읽고 나면 블로그 주인장의 망가진 기억력에 대해 다들 즐거워하고 있을텐데, 오늘 소개하는 책은 바로 우리 모두의 인지능력에 심각한 문제(아니 제약)가 있다는 사실을 적나라하게 밝히는 '보이지 않는 고릴라'다. 동명의 심리학 실험으로 더욱 유명해진 이 책은 우리의 기억력은 물론이고 신념과 직관에 결함이 있다는 사실 자체를 인정하지 않는(아니 못하는) 분위기에 찬물을 확 끼얹어 정신이 번쩍 들게 해준다. 우선 고릴라 실험부터 한번 보자. 주의 깊게 흰팀이 패스하는 숫자를 세보기 바란다.

자, 실험 과정에서 뭔가 특이한 사항을 눈치채었는가? 눈치 채지 못하더라도 너무 실망하지 말자. 사람들은 원래 두 가지 이상 작업을 할 경우 주의력이 분산되니까 말이다. 이 책은 보이지 않는 고릴라 실험을 필두로 주의력 착각, 기억력 착각, 자신감 착각, 지식 착각, 원인 착각, 잠재력 착각이라는 여섯 가지 착각에 대해 설명하고 있다. 직전에 소개한 [독서광] 우리는 왜 실수를 하는가가 사람의 한계로 인해 벌어지는 다양한 실수를 소개한다면, 이 책은 이런 실수와 행동 이면에 숨겨진 '착각'에 대해 소개하므로 같이 읽어보면 사람에 대한 이해의 폭이 더 넓어지리라 생각한다.

일상에서 착각이 위험한 이유는 매일 우리의 행동에 영향을 미치지만 사실상 본인이 착각하고 있다는 사실을 자각하지 못하기 때문이다. 하지만 착각을 막거나 줄이기 위해 고안한 여러 가지 도구와 기술이 주의를 분산시켜 오히려 더 큰 위험을 초래할지도 모르며, 착각을 막기 위한 인간 능력 계발은 특정 분야를 벗어나 일반적인 분야까지 효과를 보이기는 지극히 힘들기에 늘 열린 마음으로 자신의 한계를 깨닫고 착각을 줄이기 위해 심사숙고하는 방법 밖에 없는 듯이 보인다. 이 책은 여러 사례와 실험 결과를 토대로 자신과 다른 사람들의 정신이 동작하는 원리를 설명하므로 인간으로서 우리 자신이 겸손해지도록 유도하는 긍정적인 효과를 제공한다.

이 책은 일상뿐만 아니라 전문 지식이 필요한 분야에서도 좋은 힌트를 제공한다. 도움이 될만한 부분을 정리해보겠다.

우리 대부분은 지식의 깊이가 얕기 때문에 첫 번째 질문에 대답하면서 알고 있던 내용을 전부 소진한다. 우리는 질문마다 답이 있으며 그 답도 잘 알거라 생각하지만, 이를 설명해보라는 질문을 받기 전까지는 자신의 지식에 결함이 있었다는 사실을 잘 깨닫지 못한다.
2008년 '탑코드 오픈(TopCoder Open)'이라는 컴퓨터 프로그래밍 토너먼트 대회에서 우승해 25,000달러의 상금을 탄 팀 로버츠는 지식 착각에서 벗어나는 일이 얼마나 중요한지 잘 알았다. 요구조건을 충족하는 프로그램 개발에 주어진 시간은 단 6시간이었다. 그는 다른 경쟁자들과 달리 처음 한 시간은 요구되는 사양을 연구하고 담당자에게 질문(적어도 30개)하느라 소모했다. 도전 과제를 완전히 이해한 후에 코딩을 시작한 로버츠는, 더도 말고 덜도 말고 요구된 사항만 정확하게 구현된 프로그램을 완성했다. 프로그램은 제대로 작동했고 작업도 제 시간에 끝났다.
"나는 부주의하고, 기억력이 나쁘고, 지능이 낮고, 멍청하다'와 같은 착각은 일어나지 않는다. 반대로 일상의 착각은 우리가 실제보다 더 많은 것을 알고 기억하고 있다고 믿게 만들며, 자신이 평균보다 우위에 있고, 세상과 미래에 대해 더 많은 것을 안다고 생각하게끔 속인다.
지식 착각에서 벗어나려면, 낯선 프로젝트에 대해 당신이 추정한 소요 기간과 비용 예상이 틀릴 수도 있다는 사실부터 인정해야 한다.
우리는 흔히 지식의 한계를 무시한 채 주장을 펼치는 사람을 선호한다. 자기계발서 저자들 중에서도 무엇을 해야할지 정확하게 말해주는("저거 말고 이거 먹어")식의 작가들이, 합리적인 메뉴 선택권을 주면서 독자 스스로 가장 효과적인 방법을 찾게 하는 작가들보다 인기가 많다.

결론: 이 책을 읽고 나면 최소한 SATA 케이블 음질 테스트 결과, "헉! 말도 안 돼"에 나오는 소위 전문가들의 자신감에 넘치는 설명(“SATA 케이블을 통해 전송·저장한 음원 데이터라면 차이를 못 느낄 수 있지만 SATA 케이블을 통해 실시간 재생을 할 경우엔 데이터 보정이 안 되어 노이즈에 따른 음질 차이가 보다 크게 느껴질 수 있다” 으으으으으으으응?) 정도는 가볍게 무시하고 지나갈 수 있을 것이다.

뱀다리: 이 책 중간 중간에 은근슬쩍 말콤 그래드웰을 디스하는 내용이 나오는데 의외로 꼼꼼하다. 그리고 구글 안경 쓰면 거리에 고릴라 지나가도 못 봐?라는 관련 기사도 떴네?

토요일, 5월 25, 2013

[독서광] 호감이 전략을 이긴다(likeonomics)

살다보면 재미있고 흥미로운 책을 많이 접하기도 하지만 종종 괴작(?)에 화들짝 놀라기도 한다. 오늘은 이런 괴작에 속하는 책 하나를 소개해드리겠다. 독자 여러분을 위해 괴작에 대해 잠깐 짚고 넘어가면 책을 구성하는 단위 내용은 나름 재미있고 그럴싸해보이는데, 전체를 합쳐놓고 나면 각 단위 내용이 서로 모순되거나 책이 의도하는 목적을 달성하지 못하거나 책이 주장하는 내용과 반대로 내용을 전개하는(응?) 문제가 있는 작품이라 보면 되겠다.

자 그렇다면 이 책이 괴작으로 선정된 이유를 살펴보자. 제목만 보면 사고 싶어지는 '호감이 전략을 이긴다(likeonomics)'는 원서 제목 'Likeonomics: The Unexpected Truth Behind Earning Trust, Influencing Behavior, and Inspiring Action'으로 상당히 길다. 신뢰, 영향력, 행동 유도, 호감이라는 멋진 단어를 동원한 제목만 딱 보고 이 책이 어떤 범주에 속하는지 한번 맞춰보기 바란다. 경제학? 자기 계발? 심리학? 사회학? 아니다. 놀랍게도 이 책은 '마케팅' 분류에 속해야 마땅하다. 이 책은 "물건을 많이 팔고 이미지를 높이고 정치에서 승리하기 위해서는 신뢰가 필요하다"로 요약 가능하며 다른 특별한 내용은 없다. 참으로 쉬운 이야기를 하기 위해 저자는 여러 가지 일화, 사례, TRUST로 불리는 다섯 가지 호감 경제학의 기본 원리를 소개하지만 너무나 졸립고 따분하고 지루해서 1부는 꾹 참고 읽으려 노력했지만 도저히 못 참고 2부부터는 건성으로 페이지를 넘기기에 급급했다. 본문에 나오는 좋은 문구? 미안하지만 이 책에서 그런 건 없다. T_T

국내와 해외 온라인 서점에서 독자들의 평은 그리 나쁘지 않았기에 B급 주인장의 편향된 의견일지도 모른다는 걱정이 살짝 들어 구글에서 검색해보니 국내외 블로그에 이 책이 언급되는 경우가 많지 않았다(일반적인 내용뿐이다). 왜 그럴까? 간단하다. 이 책은 알기 쉽고 평이하게 마케팅 이론을 설명하려는 전략을 세웠지만 책에서 그렇게 열심히 침 튀기며 주장하는 호감을 독자들에게 주지 못했기 때문이다. 설상가상으로 본문에 나오는 내용이나 근거도 상당히 자의적으로 해석하는 경우가 많아 타인 계발서의 특성까지 고루 겸비하고 있다. 재미도 없고 통찰력은 고사하고 호감을 불러일으키지 못하는 내용에 누가 시간을 투자해 열심히 읽고 블로그로 정리하겠는가?(예외: 독자 여러분을 위한 이 블로그)

결론: 신뢰에 대해 궁금하다면 [독서광] 위대한 기업의 조건을 읽어보자. 호감에 대해 궁금하면 로버트 치알디니의 '설득의 심리학'을 읽어보자. 괴작이 뭔지 궁금하면 likeonomics를 읽어보자.

주의 사항: 이 블로그 내용은 개인의 생각을 정리하고 있으므로 사실과 다를 수 있다. 따라서 어디까지나 참고 자료로만 활용해야 하며, 반드시 직접 온오프라인으로 목차와 본문 내용을 검토한 다음 본인의 판단에 따라 책을 구매하기 바란다.

화요일, 5월 21, 2013

[일상다반사] 20대 알았으면 좋았을 26가지 시간 관리 기법

20대에 알았으면 좋았을 26가지 시간 관리 기법(20 Time Management Hacks I Wish I'd Known at 20)이라는 슬라이드를 보니 여러 가지 좋은 이야기가 있어 독자 여러분들께 소개한다. 슬라이드 내용 중에 눈에 띄는 부분을 정리하면 다음과 같다.

  • 하루에 실제 작업 시간으로 4~5시간만 잡아라. --> 욕심내봐야 소용없다는 사실을 알면서도 하루가 마치 24시간인 듯이 계획을 짜곤 한다. 물론 밤샘을 하면 되긴 하지만... 대부분 역효과다.
  • 몰입했을 때 일을 더하고, 그렇지 않을 경우 쉬어라. --> 일하는 상태도 아니고 노는 상태도 아닌 어중간한 상태로 하루를 날리지 말자.
  • 시간은 황금이며, 여기에 걸맞게 대우하라. --> 말이 아니라 행동으로.
  • 멀티태스킹을 중단하라. 초점을 흐릴 뿐이다.
  • 마감 효과(마감이 닥쳤을 경우 열심히 하는 효과)를 잘 활용하자.
  • 일을 하려면 실제 일을 해야 한다. 짧은 작업을 여러 개 완료하는 식으로 눈을 굴려 커다란 눈사람을 만들자.
  • "Doing better than perfect." --> 페이스북 모토. 점진적으로 개선하자.
  • 더 많은 작업 시간이 높은 생산성을 담보하지는 않는다. 제약을 적극적으로 활용하자.
  • 단순 작업과 집중력이 필요한 작업을 분리하자. --> 또한 생각과 실행을 분리하자.
  • 우선 순위가 같은 작업이 존재해서는 안 된다. --> to-do에 기록된 우선 순위에는 동점이 없도록 한다.
  • 긴 작업은 여러 개로 나눠 성취감을 느끼도록 하자.
  • 작업을 적절히 남에게 위임하자.
  • 어제 친 홈런이 오늘 홈런을 보장하지는 않는다. 어제가 아니라 오늘과 내일에 초점을 맞추자.
  • 모든 작업에 마감일을 두자. 마감일이 없는 작업은 끝나지 않는다.
  • 항상 메모하자. --> 자신의 기억력을 믿지 마라.
  • 좋은 생각이 떠올랐을 때 메모하고 잊어버려야 현재 작업에 집중할 수 있다. --> 사람 머리는 컴퓨터처럼 정밀한 기억 용도로 만들어지지 않았다.
  • 종종 휴식을 취하자.

관리 기법은 알겠지만 어떻게 시작해야 할지 잘 모르겠다면, 직전에 소개한 [독서광] 라이프 해커에 나오는 여러 도구의 도움을 받아 지금 당장 작은 일이라도 실천에 옮기면 좋겠다. 자기 계발은 '자기'가 해야한다는 사실을 다시 한번 기억하기 바란다. 말보다 실천!

EOB

토요일, 5월 18, 2013

[독서광] 우리는 왜 실수를 하는가

사람들은 누구나 실수를 한다. 그리고 자기에게 불리한 내용은 기가 막힐 정도로 정말 잘 잊어먹는다(참고로 여기서 주어는 없다). 자신이 정말 대단한 존재라고 생각하면서 세상을 자기만의 시각으로 보고 싶은 것만 본다(역시 주어는 없다). 하지만 과유불급이라 도가 지나치면 자신뿐만 아니라 남들에게도 큰 민폐를 끼치기 마련이다. 오늘 소개드리는 '우리는 왜 실수를 하는가'는 사람들이 실수를 하는 이유와 이를 최대한 줄이기 위한 방법을 설명하고 있다. 물론 실수는 이성적으로 제어할 수 있는 성질이 아니므로 완벽하게 방지하지는 못하지만 어찌되었거나 최대한 인간의 내면에 숨겨진 실수 유발 인자를 억제해야 한 방에 훅 가는 상황을 피할 수 있을 것이다. 우선 서문에서 나오는 실수의 정의를 같이 살펴보자.

실수(mistake) 명사: 1: 무언가의 의미나 숨은 뜻을 잘못 이해하는 것. 2: 그릇된 판단, 부적절한 지식 또는 무관심 등으로 인한 그릇된 행동이나 진술.

이 책은 지금까지 심리학과 경제/경영학에서 연구된 결과를 토대로 사람들이 정의의 2번 항목을 저지르는 이유를 다양한 각도에서 설명한다. 물론 컴퓨터 vs 책 블로그를 애독하신 독자분들께서는 이 책에서 소개하는 상당수 주제와 사례들에 대해 이미 파악하고 계실 가능성이 높지만, 이 책은 '실수'라는 관점에서 특화된 주제를 다양한 각도에서 다루고 있기에 생각 정리에 도움을 준다. 각 장의 제목만 봐도 흥미진진한 목차를 간단한 설명과 함께 정리해볼까?

  • 평상시 보는 것의 일부만 인식하고 그 일부마저도 엉터리라는 내용을 소개하는 '인간은 보면서도 때로는 제대로 보지 못한다'
  • 세부 요소가 아니라 의미를 중요시하며 전부가 아니라 부분을 기억한다는 '인간은 의미를 추구한다'
  • 두뇌는 순간적 판단과 대상의 지엽적인 특징을 더 중요하게 생각한다는 '인간은 부분을 보고 전체를 파악한다'
  • 사후해석의 천재며 자기중심적이며 편향에 가득찬 인간을 그리는 '인간은 장밋빛 안경을 쓰고 있다'
  • 멀티태스킹이 독이라는 사실을 다양한 사례로 밝히는 '인간은 걸으며 껌을 씹을 수 있지만 더 이상은 어렵다'
  • 행동 경제학에서 많이 보던 내용을 다루는 '인간의 사고방식에는 문제가 많다'
  • 단어를 구성하는 철자의 앞부분과 정황을 파악해 자동으로 의미를 유추하한다는 '인간은 대충 훑어본다'
  • 지리적인 위치나 이야기를 외우기 위해 큰 줄기만 가져가고 세부 내용은 나중에 채워넣는다는 '인간은 정돈된 것을 좋아한다'
  • 과신, 위험과 보상을 다루는 '인간은 일단 저지르고 본다'
  • 자신의 외모, 지식, 능력에 대해 평균 이상으로 믿는 이유를 설명하는 '인간은 자신이 평균 이상이라고 생각한다'
  • 창의력과 연습, 틀에 박힌 사고를 다루는 '인간은 틀에서 벗어나지 못한다'
  • 대안들을 제안함으로써 정도를 유지하게 만드는 여러 기법을 소개하는 '인간은 스스로를 제약하지 못한다'
  • 행복에 대해 정리하는 '초원은 생각만큼 푸르지 않다'
  • 마지막으로 본문에 나오는 여러 가지 실수에 대한 대비책을 총정리하는 '맺음말_ 작게 생각하라!'

자 그러면 목차에 이어 독자 여러분들께서 기대하시던, 본문에 나오는 재미있는 구절을 같이 살펴보자.

상점이나 은행 같은 곳에서 줄을 설 때 조금이라도 짧은 줄을 찾고 싶다면 왼쪽부터 살펴봐야 합니다.
사람들은 표적을 손에 넣기 어려울 것으로 판단될 때는 서둘러 중단하는 경향이 있다. 그러고서도 아무런 문제도 없는 것처럼 말한다.
사람들의 얼굴을 기억할 때 머리카락이나 눈 같은 신체 부분이 아니라 성실함과 호감도 같은 감성적 특징을 바탕으로 인식한다.
직관으로 처음 선택한 답을 고수해야 한다고 지금도 많은 사람들은 생각합니다. 충분한 근거도 없이 말이죠.
사람들은 자신의 행동을 상기할 때 장밋빛 안경을 쓰는 경향이 있다. 의도적으로 왜곡하려는 뜻은 없지만, 과거의 말과 행동을 자연스럽게 미화하려고 하는 것이다.
사건의 결말을 충분히 알고 나면 과거의 그 사건을 인지하고 기억하는 방식도 달라진다는 것이 사후해석 편향의 핵심이다.
미국 전역의 국민을 대상으로 한 조사에서 남자들이 말한 평생의 섹스 파트너 수치는 일반적으로 여자들에 비해 최대 네 배나 많았다. 한 남자의 새로운 파트너는 결국 한 여자의 새로운 파트너와 수적으로 동일함에도 이런 결과가 나타났다.
자신은 부정(不正)하지 않다고 확신하는 사람들일수록 이후의 잇따른 상황에서 부정한 행위를 반복하는 것으로 나타났다.
결정의 결과가 모호할 때 사람들은 더 큰 도박을 하는 경향이 있다. 반대로 결과가 분명할수록 사람들은 보수적으로 변한다.
투자자들은 주초에 배포된 소식에는 각별한 관심을 보이면서 금요일처럼 주 후반에 나오는 소식은 대충 훑어보곤 한다.
특히 사람들은 익숙한 것일수록 대충 훑어보는 경향이 있다.
대화의 목적은 사실 전달이 아니라 이미지(인상)을 창조하는 데 있다. 대화에서 정확성은 이미지 관리보다 후순위라는 뜻이다.
남성은 자신의 매력에 대해서도 실제보다 호의적으로 평가한다.
여성보다 남성이 더 적극적으로 소프트웨어 오류를 수정하는 이유를 능력 차이라기보다는 자신감의 차이에서 비롯된다. 자신에게 회의적인 사람은 잘못된 전략을 과감히 버리지 못하고 대안도 받아들이려 하지 않는다. 그저 지금껏 해오던 대로 고수할 뿐이다.
남자들은 (길찾기 도중) 경로에서 벗어났다고 해서 반드시 방향을 상실했다고 생각지는 않는다.
경험과 전문성이 반드시 비례하지는 않는다. 즉 동일한 행위를 반복한다고 해서 반드시 더 나은 존재가 되는 것은 아니다. 연습이란 그 행위에 대한 기억력을 향상시키는 방향으로 진행되어야 한다. 장기간에 걸친 정확하고 신중한 연습만이 특별한 지식의 보고, 즉 머릿속에 소중한 지식의 도서관을 만들 수 있다. 머리속에 도서관을 보유한 전문가는 다른 이들이 인식하지 못하는 패턴을 재빨리 포착할 수 있다.
각 분야 전문가들의 머릿속에는 커다란 도서관들이 하나씩 있기 때문에 이들은 상황을 빠르게 이해하고 문제점도 재빨리 파악할 수 있다.
사람들은 설명서를 제대로 읽지 않을뿐더러 읽어도 무시하거나 잘못 이해하는 경우가 많다고 한다.
무척이나 생소한 상황에서도 사람들은 깊이 생각하기보다 행동을 먼저 시작하려고 한다.
사람들은 뭔가를 처리하는 방법을 배우고 나서는 그 방식 하나에만 집착하는 경향을 보인다.
인간은 당면한 문제를 해결할 때 그리 창의적인 편은 아닌 것 같다. 특히 현재와 비슷한 상황을 과거에 겪으면서 그 해결책을 이미 학습한 상황에서는 더더욱 그러하다.
인간의 행동이 반드시 자기 의지대로 이뤄지는 것은 아니다. 때로는 자신의 이익에 반하는 방향으로 행동할 수도 있다.
여러 사람이 동일한 실수를 반복한다면, 그 실수의 원인부터 파악해야 한다. 그 원인은 개인이 아닌 조직에 있을 가능성이 높다. 따라서 이런 조직적인 실수의 원인을 찾을 때는 개인보다 그 위, 다시 말해 '아래'가 아닌 '위'를 바라보아야 한다.
복잡한 뭔가를 판단할 때 사람들은 쉽게 지나칠 수 있는 것에 필요 이상으로 집착하곤 한다.
상황의 작은 변화가 사람의 행동에는 매우 큰 영향을 미칠 수 있다.
주식 투자를 한다면, 선택한 종목 이외 선택하려 했지만 결국 포기한 다른 종목들의 주가 변화를 살펴보자. 이 때 그 종목을 선택한 이유 또는 포기한 이유를 기록해둬야 한다. 선택한 종목과 포기한 종목의 상대적 실적은 어떤가?
행복하다고 생각하는 사람일수록 특정 과제에 대한 창의적인 해법을 많이 내놓았다. 흥미로운 사실은 사람들을 행복하게 만드는 데 많은 시간이 필요하지 않다는 점이다. (사탕이나 초콜릿만으로도 효과가 있다)

결론: 사람들이(아니 내가) 일상에서 저지르는 '실수'에 대해 일목 요연하게 정리한 이 책은 평상시 크고 작은 실수를 많이 하시는 분이라면 꼭 한번 읽어보면 좋겠다. 그런데 자신이 실수를 많이 한다고 생각하시는 분들은 실수를 전혀 안 한다고 생각하시는 분들에 비해 오히려 실수를 덜 하니 이게 치명적인 함정이다. T_T

EOB

화요일, 5월 14, 2013

[B급 프로그래머] quora, stackoverflow, serverfault 활용 팁

소프트웨어 개발자라면 누구나 한번 정도 quora, stack overflow, server fault에 들어가서 필요한 자료를 찾아봤을 것이다(주의: N에서 제공하는 지식*을 사용하는 분들도 계실지 모르겠지만... 소프트웨어 개발 관련 내용 검색은 지식*을 믿으면 난감한 상황에 빠질 가능성이 높다). 예전에는 MSDN이나 OTN이 가장 정리가 잘 된 개발자 문서를 제공한다고 알려졌지만, 오픈 소스 열풍이 불면서 점차 무게 중심이 이동하고 있다. 그렇다면 이런 질문/대답 사이트를 제대로 활용하는 방법은 무엇일까?

크게 다음과 같은 두 부류로 나눠질 것 같다. 1) 적극적으로 질문을 올리고 대답하는 방법 2) 필요할 때마다 정보를 검색하고 피드백을 주는 방법. B급 프로그래머는 개인 블로그를 운영하는 관계상 1)번까지 하기에는 시간이 많이 부족하므로 주로 2)번에 초점을 맞추고 있는데, 오늘 독자 여러분을 위해 몇 가지 활용 팁을 소개하려 한다. 뭐 다들 이미 충분히 알고 계시리라 믿어 의심치 않지만, 정리 차원에서 이야기를 풀어보겠다. ;)

  • 질문과 대답이 올라온 시각이 중요하다. 기술 관련 내용은 시간에 따라 빠르게 바뀔지도 모르므로 주의 깊게 읽고 최신 자료가 없는지 확인해야 한다. 물론 역사적인 이유 때문에 과거 사례를 알고 싶은 경우나 거의 고정 불변의 사실로 알려진 내용에 대해서는 시간이 지남에 따라 신뢰도가 높아지므로 고의로 과거 자료를 찾기도 한다.
  • 가장 인기 높은 대답부터 읽지만 경우에 따라서는 전체 답을 뒤져야 할지도 모른다. 아주 특이한 환경이나 특이한 요구 사항으로 인해 절대 다수가 인정한 대답 이외에 소수가 인정한 대답이 당신에게 딱 맞는 정답일 수도 있다.
  • 검색 결과 모순되거나 상충하는 여러 대답이 나올 경우 추가 조사가 필요하다. 구글에서 두 가지 입장을 모두 검색해본다.
  • 검색 결과가 없는 경우에는 두 가지를 의심해 봐야 한다. 1) 모든 사람이 다 알고 있는데 나만 모른다(즉 문제가 아니다). 2) 아무도 이 문제에 대해 관심이 없다(즉 문제가 아니거나, 다른 각도로 문제를 바라 봐야 한다) 문제가 아님에도 불구하고 문제라고 생각하면 여기에 대해서는 해법이 없으므로 정말 조심해야 한다.
  • 댓글을 유심히 살펴보자. 질문에 대한 대답에 댓글이 달릴 경우가 있는데, 의외로 유용한 정보를 담고 있는 경우가 많았다(예: 틀린 부분 지적, 보충 설명, 추가 자료).
  • 답변 내용을 100% 믿지 마라. 어디까지나 질문한 사람과 답변한 사람 사이에만 유효할지도 모르는(!) 대답이며, 100% 당신에게 유효하다는 보증은 그 어느 곳에도 없다.
  • quora 같은 경우에는 뉴스레터를 구독하면 사람들 관심을 많이 끄는 글을 접할 수 있다. 남들이 많이 읽은 글은 대화의 주제나 소재거리로 활용하기에 적합하므로, 평상시에 이런 글을 틈틈이 읽어두면 무척 유용하다.
  • 유익한 대답일 경우 시스템에서 제공하는 기능에 맞춰 피드백(예: 별점, 좋아요)을 해준다.
  • 좋은 질문과 답변 등은 북마크, 트위터, 개인 위키, 블로그를 사용해 정리하는 습관을 들이면 남들에게도 도움이 되며 자신의 정리력/기억력도 높일 수 있다.

자, 지금까지 몇 가지 팁을 소개했는데, 여러분만의 좋은 팁이 있으면 댓글로 알려주시면 감사하겠다. 정보는 공유될 때 가치가 더욱 올라가는 법이니...

EOB

토요일, 5월 11, 2013

[독서광] 라이프 해커

위키북스에서 보내주신 행운의 상자에서 꺼낸 책 한 권을 더 소개하려 한다. 이미 많은 분들께서 알고 계신 라이프해커의 일부 내용을 오프라인으로 옮겨놓은 동명의 책이다. 'The Guide to Working Smarter, Faster, and Better'라는 영어 부제에서 알 수 있듯이 이 책은 일을 똑똑하고, 빠르고, 제대로 하는 방법을 일목 요연하게 정리하고 있다. 컴퓨터 관련 팁이 많을 것으로 예상할지도 모르겠는데, GTD를 비롯한 각종 작업 프레임워크을 비롯해 개인의 습관을 바꾸는 여러 가지 방법과 도구를 소개하므로 단순 유틸리티 활용서와는 확실하게 스스로를 차별화한다.

목차의 큰 제목만 보면 알겠지만, 이메일 관리하기, 데이터 정리하기, 작업 잘 마무리하기, 생각 정리하기, 주의력 방화벽 설치하기, 자주 하는 일 간편히 하기, 반복 작업 자동화하기, 이동 중 데이터 활용하기, 스마트폰으로 똑똑하게 일하기, 웹 마스터하기, 컴퓨터 생존 기술 익히기, 여러 컴퓨터 관리하기 등, 일상에서 흔히 부딪히는 문제를 손쉽게 해결하기 위한 여러 가지 팁과 힌트를 담고 있다. 어떤 작업을 하기 위해 특정 플랫폼과 특정 도구를 중심으로 설명하는 대신, 윈도우, 맥OS X, 안드로이드, iOS 등 여러 플랫폼에서 동작 가능한 교차 플랫폼을 지원하는 도구를 중심으로 설명하고 있으므로 다양한 기기를 사용하는 독자에게 특히 도움이 많이 되리라는 생각이다.

개인적으로 가장 좋았던 내용을 정리해보면 다음과 같다.

  • [25] 할 일 목록을 할 수 있는 내용으로 채우기: '실제로 해야 하는 항목만 목록에 추가한다'라는 한 문장만으로도 진가를 발휘했다. 욕심으로 인해 해야 하는 항목 뿐만이 아니라 하고 싶은 항목도 할 일 목록에 추가하곤 했는데, 반성 중이다.
  • [30] 제리 제인필드의 체인을 통해 새 습관 들이기: '평범한 매일의 노력과 작은 행동이 쌓이고 시간이 지나면서 커지면 복리 이자처럼 엄청난 결과가 나오도록' 매일 하는 일이 끊어지지 않도록 연결하는 습관을 구축하기 위해 Don't Break The Chain이라는 사이트를 소개하고 있는데 나름 신선하게 다가왔다. 매주 하는 운동도 이렇게 기록을 해야겠다.
  • [39] 시간을 낭비하는 웹사이트 방문 제한하기: 급하게 끝내야 하는 일이 있음에도 불구하고 여러 사이트에 들어가곤 하는데, 강제적으로 이를 막아주는 여러 가지 기법을 보고서는 무릎을 탁 쳤다. 특히 구글 크롬 확장인 StayFocusd는 아주 마음에 들었다.
  • [49] 키 세 번으로 웹 검색하기: 원래 단축키를 조금씩 쓰곤 했었는데, 귀찮아서(T_T) 제대로 된 활용법을 익히지는 않았었다. 여기 소개한 각종 단축키를 보면서 다시 한번 생산성을 높이기로 마음 먹었다.
  • [92] 주소 표시줄에서 특정 웹사이트 내 빠르게 검색하기: 구글 크롬을 사용할 때 주소 표시줄을 나름 잘 활용하고 있다고 생각했으나... 방문한 사이트의 키워드 검색 폼을 자동으로 채워주는 기능에 대해서는 이번에 처음 알았다. 크롬에서 환경 설정으로 들어가 검색 엔진 관리 버튼을 눌러보면 크롬이 자동으로 인식하는 키워드 검색 서비스 목록이 나온다.

위에서 소개한 내용 이외에도 어렴풋이 알고 있으나 몇 가지 사소한 문제점이나 게으름으로 인해 실천으로 옮기지 못했던 좋은 사례가 곳곳에 나오므로 많은 도움을 받았다. 하지만 이렇게 좋은 내용에도 불구하고 몇 가지 아쉬운 점도 있었다. '해커'라는 제목에 어울리지 않게 '알집'(!)을 사용해 압축을 풀어라는 내용(339페이지)을 보고서는 기절할뻔했다(당연한 이야기지만 원서에서 '알집'을 언급했을리 만무하다). 그리고 스크립트/단축키 등을 설명하는 내용에 번역/편집 과정에서 끼어든 오탈자가 있어 구글의 도움을 빌어야 했다. 그리고 책 내용의 문제는 아니지만 한국 현지 사정상 미국에서만 서비스되는 일부 내용(특히 9장 '스마트폰으로 똑똑하게 일하기')은 그림의 떡이었다.

결론: 회사나 집에서 이 책을 옆에 두고 필요할 때마다 뒤적거리면서 점차 생산성을 발휘하는 좋은 습관을 들이면 인생이 더욱 풍요로와질 것 같다는 생각이 들었다. 이 책에서 주장하듯 단순 반복적인 작업은 컴퓨터에 맡기고 중요한 일을 하자!

EOB

화요일, 5월 07, 2013

[독서광] 큐브: The Cube

3x3x3 루빅스 짝퉁 큐브를 초등학교 때 처음 만져봤는데, 1면만 (그것도 엉터리로) 맞추는 선에서 만족하고 말았다. 세월이 흘러 다시 한번 큐브 맞추기에 도전했는데, 큐브: The Cube가 아니었다면 다시 한번 좌절을 맛봤을지도 모르겠다.

교보문고 퍼즐 서가에서 30분 정도 투자해 다양한 큐브 해설서를 읽어봤지만, 결론적으로 현재까지는 이 책이 최강이 아닐까 싶다. 이유는 간단한데, 기존 해설서와는 달리 이 책은 최초로 6x6x6과 7x7x7을 풀어낸 업적으로 유명한 웨이화 황이 무려 2x2x2, 3x3x3, 4x4x4, 5x5x5, 6x6x6, 7x7x7에 모두 사용 가능한 일반적인 표기법과 재사용 가능한 해법을 총정리했기 때문이라는 생각이다. 웨이와 황은 퍼즐/스도쿠 챔피언이며 구글에도 근무한 경력이 있는 이 분야의 전문가(?)이므로 무조건적인 암기를 넘어서 원리를 차근차근 잘 풀어쓰는 능력이 돋보인다.

기존 인터넷에서 흔히 볼 수 있는 (중앙부터 맞춰들어가는) 3x3x3 해법에 익숙한 분이라면 이 책에서 제시하는 해법이 느려터져 보이거나 어느 순간 큐브를 뒤죽박죽으로 만들었다 원상 복구하기에 머리가 핑핑 돌지도 모르겠다. 하지만 일단 이 책에서 나오는 해법을 익히고 나면 홀수나 짝수 모두 풀어낼 수 있으므로, 한 번에 3x3x3과 2x2x2를 둘 다 풀 수 있게 된다(물론 4x4x4 이상은 3x3x3에서 나온 공식 이외에 몇 가지 상황에 필요한 추가 공식을 익혀야 한다). 따라서 다양한 크기의 큐브에 관련된 일반적인 해법을 익히는 과정에서 약간의 속력 저하와 머리 아픔 따위야 충분히 극복할 가치가 있다고 느낀다면 이 책은 고유의 목적을 달성했다고 볼 수 있다.

예전과 달리 엄청나게 많은 오리지널과 복제품 큐브가 시중에 나와 있는데, 초염가형 제품을 살 경우 폭발(돌리다가 분해되는 경우)과 뻑뻑(손가락이 아플 정도로 잘 돌아가지 않는 경우)이라는 두 가지 문제점에 부딪혀 무척 괴로울테니, cubeNjoy와 같은 곳(부지런한 분이라면 오픈 마켓에서 발품을 팔아도 된다)에서 가격 대비 성능이 좋은 녀석을 골라서 구입하면 될 것 같다. 루빅스 오리지널과 V-큐브를 써봤는데, 가격이 착하지 않다는 점만 제외하고는 V-큐브가 최강으로 보인다. 가격 대비 성능을 생각하자면 셩쇼우 제품도 좋다고 한다. 사람마다 워낙 호불호가 갈리므로 적당한 제품(+ 스티커가 벗겨지는 경우를 대비한 여분의 시트지)과 큐브용 윤활유를 구입해 자신의 손에 맞춰 적절히 튜닝하는 방법이 최선으로 보인다. 아, 큐브가 폭발하거나 윤활유를 바르기 위해 분해했을 경우 조립을 위해 유투브 동영상을 참고하면 좋겠다. 다양한 크기와 다양한 제품을 키워드로 넣어 검색해보면 다양한 결과가 나오므로 큐브 분해/조립 설명서와 함께 보면 된다.

결론: 처음 큐브를 선물받았거나 옛날에는 포기했지만 아직도 큐브에 미련이 있는 분이라면 이 책을 강력하게 추천한다. 오늘 뽐뿌질은 여기까지.

토요일, 5월 04, 2013

[독서광] 퍼펙트 프리젠테이션

어쩌다 보니(아니 직업상...) 책장에 프리젠테이션 관련 서적이 잔뜩 꽃혀 있게 되었다. 그런데 또 다른 프리젠테이션 책을 읽고 좁아 터진 책장에 추가할 필요가 있을까? 대답은 '그럴지도'. 이와 관련해 오늘은 에이콘출판사에서 온 행운의 상자에 들어있었던 책 중에서 '퍼펙트 프리젠테이션'이라는 프리젠테이션 관련 서적을 소개하겠다.

이 책은 발표 기획에서 시작해 프리젠테이션 자료의 디자인을 거쳐 청중 앞에서 발표와 최종 평가에 이르는 프리젠테이션 전 주기를 다루고 있으므로, 처음 시작하는 입장에서 프리젠테이션 관련 서적을 딱 한 권만 골라야 할 경우 주저하지 않고 선택할만하다. 본문을 한번 볼까? 프리젠테이션 책에 어울리도록 편집이 깔끔하게 본문 설명에 잘 부합되도록 적절하게 예를 잘 배치하고 있다. 본문에서 주장하는 바와 실제 본문에 사용한 예가 완전히 불일치하는 괴작(?)도 시중에 나와 있는 반면, 이 책은 본문에서 제시하는 내용과 실제 예제가 잘 맞아 떨어지므로 본문에 나온 예제만 잘 응용하더라도 프리젠테이션 기획이나 디자인 과정에서 품질을 높일 수 있다.

기획 과정에서 처음부터 파워포인트와 같은 소프트웨어 사용을 지양하고 종이나 포스트 잇으로 생각부터 정리해야 한다는 조언은 시간에 쫓겨 충분히 구상하지 않은 상태에서 발표 자료를 만들 경우 벌어지는 여러 가지 문제점을 제대로 지적하고 있기에 많은 분들이 뜨끔할 것이다(앗, 뜨끔!). 젠 스타일과 컨설팅 보고서 스타일 중 무엇을 선택할지 고민하는 분들께 똑 부러지게 기준을 정의해주기도 한다. 내가 발표하는 주제를 'TV 광고 형태로 찍을 수 있나?'라는 질문에 '예'일 경우 젠 스타일을 적용하고 '아니오'일 경우에는 컨설팅 보고서를 작성하면 된다는 힌트를 읽고서 애정남이 따로 없다는 생각이 들었다.

구체적인 발표 자료 작성 부분에 들어가면, 클립 아트 검색 과정에서 추상적인 개념을 명사로 전환하는 팁, 젠 스타일로 자료를 만드는 과정에서 텍스트 삽입 위치를 알려주는 팀, 엑셀 등으로 만든 그래프를 강조하는 팁 등은 읽는 즉시 써먹을 수 있기에 바쁜 현대인에게 딱 맞지 않을까 싶다. 또한 글을 활용하는 과정과 이미지 선택 과정에서 주의해야 할 사항, 내용을 체계화하는 슬라이드 분할 기법, 조화로운 색상 사용 팁 등도 기본적이지만 튼튼한 발표 자료 구성에 큰 몫을 하므로 프리젠테이션 품질을 높이는 데 도움이 될 것이다.

중반 이후부터는 프리젠테이션을 위한 준비 과정과 연습, 그리고 최종 발표시 주의해야 할 점에 대해 정리하고 있는데, 흔히 실수하기 쉬운 부분을 잘 지적하고 체크리스트까지 제공하므로 큰 욕심내지 말고 이 책에 나온 사항만 잘 숙지하고 실천하면 성공적인 프리젠테이션을 향해 한 걸음 전진할 수 있을 것이다.

결론: 프리젠테이션 과정이 어렵고 힘들다고 생각하는 모든 분들께 이 책을 추천한다.

EOB