일요일, 5월 27, 2012

[B급 프로그래머] What makes a good engineering culture?

Quora에 다음과 같은 질문이 올라왔다.

Quora and Facebook both have strong, well-known engineering cultures. What makes a "good" engineering culture - free time to commit to projects, a commitment to open source, or is it the leadership being technical by trade?

한글로 번역하자면... "쿠오라와 페이스북에는 강력하고 잘 알려진 공학적인 문화가 있습니다. '훌륭한' 공학적인 문화를 만드는 요인은 무엇일까요? 프로젝트에 전념하기 위한 시간? 오픈 소스에 대한 기여? 전문가가 되기 위한 리더십?"

여러 가지 다양한 의견이 나왔지만, 질문의 당사자(아니 해당 회사)로 쿠오라 엔지니어인 Edmond Lau가 직접 대답한 내용이 대박이다. 그냥 읽고 넘어가기에 좋은 정보이기에(라 쓰고 '나중에 참조할 목적으로'라고 읽는다. ㅋㅋ) 간략하게 요점을 정리해보았다

  1. 반복 속력을 최적화한다: 빠른 반복 속력은 작업 동기와 흥미를 유발한다. 코드 배포와 기능 출시를 방해하는 구조적이며 관료적인 장벽은 엔지니어가 회사를 떠나는 이유 중에 가장 짜증나며 공통적인 요인으로 작용한다. 조직적인 관점에서 보면, 빠른 반복 속력은 엔지니어와 디자이너에게 매일 일어나는 결정을 허가를 얻지 않고 자율적이고 유연하게 내리도록 만든다. 반복 속력은 또한 제품 개발을 시작하기 위한 잘 정의된 프로세스가 정립되어 투자가 많이 일어났을 경우에 개발 취소가 기대치 않은 방식으로 일어나지 않음을 의미한다. 팀 관점에서, 빠른 반복 속력은 팀 노력을 조율하고 이끌어내기 위한 강력한 리더십을 의미한다.
  2. 무지막지하게 자동화를 추구한다: 제품이 커저나감에 따라, 엔지니어당 운영 부하도 커져나간다. 페이스북은 엔지니어당 백만 가입자를 뒷받침하는 확장 측정 기준을 내세우는 것으로 유명하다. 자동화와 스크립트화는 개발팀이 실제 제품에 전념하도록 만들어주므로, 단기적인 땜빵이라는 유혹에서 벗어나 장기적인 수정과 테스트에 집중해야 한다.
  3. 올바른 소프트웨어 추상화를 이룬다: MIT 교수인 다니엘 잭슨은 소프트웨어 추상화의 중요성을 다음과 같이 말했다. "올바른 추상화를 고른다면, 설계부터 자연스럽게 프로그램이 흘러가도록 만들며, 모듈을 작고 단순한 인터페이스로 유지하며, 새로운 기능은 광범위한 재조직화 없이 기존 틀에 맞아 떨어지게 된다." 팀이 땜방질 해법으로 추상화를 조각내는 대신 소수의 핵심 추상화에 집중하게 되면 공통 라이브러리가 좀더 튼튼해지며, 모니터링이 지능화되며, 성능 지표를 쉽게 이해할 수 있게 되며, 포괄적인 테스트가 가능하게 된다.
  4. 코드 검토로 고품질 코드에 집중한다: 고품질 코드 기반을 유지하면 전체 엔지니어링 팀의 생산성을 높인다. 깨끗한 코드는 이해하기 쉽고, 개발하기 쉽고, 변경하기 쉽고 버그를 (미리) 노출하기 쉽다. (커밋 전이 되었든 커밋 후가 되었든) 시의 적절한 코드 검토를 위한 프로세스 수립은 코드 품질을 여러 가지 방식으로 개선한다. 누군가 코드를 검토한다는 사실이 엉망인 코드 작성에 대한 유혹을 강하게 압박하며, 코드 검토자와 코드 작성자가 더 나은 코드를 작성하는 방법을 배울 기회가 생기기 때문이다.
  5. (서로) 존중하는 작업 환경을 유지한다: 동료 사이의 존중은 열린 의사 소통의 토대를 형성한다. 서로의 생각에 도전하는 행위가 다연스러운 장소에서 건전한 아이디어가 나온다. 서로 물고 뜯는 환경에서는 제대로 된 피드백이 존재하지 않는다. 엔지니어들은 다양한 범위에서 전문가이며, 모든 사람이 각 분야마다 경험치가 다르다. 강력한 팀은 특정 분야에는 강하지만 다른 분야에는 약한 개인들로 구성되지만, 서로 존중하는 문화가 강점을 살려준다.
  6. 코드의 소유권을 공유하자: 코드 소유권을 공유할 경우, 유지 보수 담당이 자리를 비운 상황에서도 유지 보수 담당과 해당 팀원의 스트레스가 줄어든다(백업 요원이 있기 때문에). 또한 팀원들이 특정 분야에 너무 깊이 빠져들지 않기에(예: 난 이 모듈만 책임진다!) 참신한 통찰력을 제공할 수 있게 된다. 마지막으로 전략적인 목표를 빨리 끝내야 할 필요가 있는 시급한 문제를 여러 명이 함께 해결할 수 있게 된다.
  7. 자동화된 테스트에 투자하자: 단위 테스트 커버리지와 통합 테스트 커버리지는 끊임없이 빌드나 제품을 깨먹지 않고서도 대규모 개발자들이 대규모 코드 기반을 관리하도록 만드는 확장 가능한 유일한 방법이다. 자동화 테스트는 팀이 커짐에 따라 지속적인 배포 작업이 가능하도록 만드는 핵심이다.
  8. 20% 시간을 할당하자: 구글, 아틀라시안, 페이스북, 쿠오라는 모두 엔지니어들에게 20%의 시간을 줘서 일반적인 프로젝트 이외에 하고 싶은 뭔가를 하도록 유도한다. 미친 듯이 보이는 아이디어를 실행할 수 있는 시간을 주게 되면 뭔가 색다른 결과를 만들어내며, 장기적으로는 서비스나 제품에 많은 도움을 준다.
  9. 지속적인 개선과 학습 문화를 만들자: 주간 기술 회의는 엔지니어들에게 설계안과 작성 중인 코드를 공유하는 장을 만들어줘서 엔지니어들이 자신들의 작업에 긍지를 느끼고 팀이 당면한 작업 범위를 벗어나 넓게 볼 기회를 제공한다. 배우는 문화를 구축하려면 기초적인 알고리즘, 시스템, 제품 기술을 모든 직원이 보유할 수 있도록 멘터링하고 훈련하는데 집중한다. 엔지니어링 조직이 커지고 사람을 뽑는 노력이 더 들어갈 수록 멘터링과 훈련에 투자하는 노력도 커진다. 새로 뽑은 신입에 대해 매일 한 시간씩 멘터가 시간을 투자하는 행위가 부담으로 느껴질지 모르겠지만, 신입이 성공을 위한 준비를 마치는 과정에서 상당히 큰 지렛대 구실을 한다.
  10. 최고 개발자를 고용하자: 스티브 잡스는 다음과 같이 말했다. "A급은 A급을 뽑고, B급은 C급을 뽑는다" 페이스북 Yishan Wong은 "최고 개발자를 고용하는" 것과 "인터뷰한 최고 후보를 고용하는" 것 사이에는 차이가 있음을 강조한다. 쿠오라도 처음에는 엄청난 고객 요청에 압도 당해 고용 기준을 낮출뻔 했지만 그렇게 하지 않았다. 낮은 품질의 코드와 취약한 엔지니어로 기인한 기술 빚은 팀과 제품을 망가 뜨리기 때문이다.

이 정도면 아주 좋은 출발점으로 보인다. 하지만 훌륭한 문화를 만들기 위해서는 무엇보다 _실천_이 우선이다. 아무리 좋아도 이론은 이론일 뿐이니까. 그런 의미에서 바쁘다는 핑계로 차일피일 미루던 (사내 정보 공유를 위한) 수요 기술 세미나를 내주부터 다시 열어야 겠다. :)

EOB

금요일, 5월 25, 2012

[독서광] 부의 기원(3)

다른 책을 소개하느라 부의 기원을 잊어먹고 있었다. 오늘은 3부 '진화는 어떻게 부를 창출하는가'를 간략하게 정리해보겠다. 3부는 게임이론으로 많이 소개된 '죄수의 딜레마'를 다루며 시작한다. 죄수의 딜레마는 '비제로섬 게임'이라는 측면에서 무척 흥미롭다. 다시 말해 둘 이상의 사람들이 협력하면 모두에게 유리한 결과를 얻을 수 있게 된다. 하지만 현실은 어떨까? 내가 도우려고 했지만 남이 나를 속인다면? 그냥 제로섬 게임으로 흘러갈 가능성이 높다. 1970년대 후반 로버트 액설로드가 수학적인 계산 대신 실제 경연 대회를 열어 어떤 전략을 써야 가장 유리할지 알아내는 놀라운 실험을 했는데, 놀랍게도 결과는 '일단 처음 만난 상대에게는 무조건 협조하는 편을 선택하며, 그 다음부터는 상대방이 내린 결정을 보고 그대로 반복한다'는 팃포탯 전략이 최고로 좋은 결과를 얻었다. 내가 먼저 남을 '신뢰'해야 남도 나를 '신뢰'한다는 원칙이 그래도 적용된 사례다. 이를 컴퓨터 상으로 가져와서 인생(Life) 게임에 죄수의 딜레머 규칙을 적용한 방법으로 시물레이션을 진행한 결과 영원히 승리하는 전략은 없었다. 물론 시간이 아주 오래 지속된다면 팃포탯과 같은 단순한 전략이 계속해서 살아남게 되긴하지만 절대 판을 독식할 수는 없다.

단순한 시물레이션이 아닌 실제 경제에서도 승리의 규칙을 찾아내려면 어떤 사고 실험을 해야할까? 대니얼 데닛이 제안한 '바벨의 도서관'이라는 디자인 공간을 사용하면 어느 정도 힌트를 얻을 수 있을 듯이 보인다. '바벨의 도서관'은 영어로 쓰일 수 있는 500페이지 분량의 모든 책들이 소장된 초대형 도서관이다. 500쪽 분량이라면 권당 문자가 약 100만개 들어 있으며, 대소문자, 숫자, 구두점을 포함하면 영문자가 총 100자가 넘으므로, 도서관에는 100의 1,000,000승 만큼 책이 소장되어 있다. 이런 책을 뒤지다보면 별의별 책이 다 나오기 마련이다. 예를 들어, 윌리엄 세익스피어의 작품과 2042년의 베스트 셀러 작품, 심지어 여러분의 자서전까지 존재한다. 여기서 만일 이 도서관에서 특정 기업의 사업 계획서를 찾는다고 가정하자. 공격적인 내용, 보수적인 내용, 수익성이 높은 내용, 수익성이 떨어지는 내용 등 온갖 종류의 사업 계획서가 존재하지만, 현재 특정 기업의 상황에 맞는 사업 계획서가 아니라면 효용이 떨어진다. 하지만 시간이 흘러감에 따라 점진적으로 사업 계획서의 형태는 성공을 위한 공진화를 밟아왔다는 사실은 확실하다. 엄청나게 많은 경로(책) 중에서 성공적인 사업을 위한 경로(책)는 자연계의 진화와 유사한 방식으로 선택이 이뤄지게 된다.

다음으로 물리적인 기술을 설명한다. 구석기 시대 말에 이르러 다양한 도구가 등장하게 된 배경을 인간 언어 능력의 형성에 기인한다고 설명한다. 물리적 기술이 대대손손 이어져 내려오는 과정에서 정보 전달에 최소한의 신뢰성이 있어야 하는데, 언어의 출현이 복잡한 대규모 기술을 코드화하고 전달하고 정확하게 수행하는 데 돌파구를 마련했기 때문이다. 이렇게 물리적인 기술을 요소와 구조를 코드화했다고 추상화하면, 요즘 나오는 수많은 제품들에 대한 설명이 가능해진다. 자동차의 경우 엔진, 본체, 의자, 문과 같은 다양한 구성 요소와 배기량, 토크, 시트 제질, 문 개수와 같은 다양한 구조가 결합되어 나타난다. 따라서, 인텔이 새로운 마이크로프로세서를 만들 때마다 가능한 SKU(Stock Keeping Unit)이 늘어나며 물리적인 기술 공간이 늘어난다. 여기서 물리적인 기술 혁신이 일어나는 이유 역시 진화를 사용해 설명이 전개된다. 연역적인 논리적 사고, 실험으로 추론하는 방법, (연역도 아니고 귀납도 아닌) 뭔가에 열광하는 인간의 속성(임의 점프가 가능해진다)이 결합해 현존하는 디자인의 범위를 넓혀나가게 된다. 그렇다면 선택 받고 살아 남는 기술은 무엇일까? 주어진 환경에서 벅찰 정도로 많은 디자인이 출현해 경쟁이 불가피한 상태가 될 경우 선택이 일어나고, 기록이 돌에 새겨지거나 책으로 인쇄되거나 웹 페이지에 올려지며 복제되며 확산되면 살아 남은 성공한 기술이 된다. 나머지 복제가 일어나지 않는 (즉 모방되지 않는) 기술은 급격히 사라져버린다. 하지만 영원히 살아남는 기술이 없는 이유를 '파괴적 기술' 관점에서 바라볼 필요가 있다. 기존 기술로 성공할 기업일수록 기술 적합도 지형에서 새로운 기술로 갈아타기가 어렵다. 즉 정상에 있을 때는 다른 정상으로 올라가기보다 밑으로 내려가기가 훨씬 쉬울 뿐 아니라, 다른 정상으로 점프는 정말 위험하다. 새로운 시장에 진입하는 벤처 입장에서 보면 산 위로 올라갈 수 있는 새로운 길도 많고 도전할 수 있는 정상도 많지만, 계곡에서 산 위로 올라가 정상에 이르기 전에 깊은 계곡으로 빠져들거나 낮은 봉우리에 만족해 끝나는 경우도 많기에 그렇게 엄청난 성공을 거두기가 힘들다고 볼 수 있다.

물리적인 기술에 이어 사회적인 기술을 설명한다. 미국 경제의 생산성이 빠르게 증가한 이유를 물리적인 기술에서 찾으려던 학자들은 생산성을 증가시킨 요인이 회사들이 스스로를 조직화하고 관리하는 방식의 변화, 즉 사회적 기술의 혁신임을 알고 깜짝 놀랐다. 월마트의 경우 1980년대와 1990년대 초반에 경쟁 업체에 비해 40%나 더 생산적으로, 1990년대말까지 생산성을 22%나 더 향상시켜 경쟁 업체를 따돌렸다(B급 프로그래머: 지금은 아마존이 그 자리를 차지하고 있다. 낄낄). 그렇다면 사회적 기술이 무엇일까? "목표를 추구하면서 사람들을 조직하는 방법과 디자인"이라는 정의가 있다. 앞서 설명한 도서관과 유사한 사회적 도서관을 구성해 비슷한 방법으로 사고 실험을 하게 되면 역시 사회적 기술에도 진화가 개입될 수 있음을 알 수 있다. 돈이 발명되자 회계학이 만들어졌고, 이에 따라 주식 회사가 생겼고, 주식을 팔고 사는 주식 시장이 활성화되었다. 사회적 기술 공간에서도 연역적 추론과 실험적 추론이 역시 적용된다. 하지만 물리적인 기술과는 달리 사회적 기술에서는 실험적 추론이 우세하다. 시간이 지날수록 성공적인 디자인은 계속 지속되고 복제 되어 더 많은 자원을 끌어 당기고 확산되면서 증폭된다. 이렇게 물리적인 기술과 사회적인 기술이 공진화하며 농업 혁명, 산업 혁명, 정보 혁명을 이끌어 내게 되었다. 사회적인 기술에서도 앞서 설명한 협력이 아주 중요하다. 상호 협력을 기초로 하는 팃포탯과 같은 전략이 성공을 이끌어낸다는 사실은 서로 협력하는 사람들이 사기꾼을 몰아내어 건전한 사회를 만드는 과정을 설명할 수 있다. 마지막으로 경제적인 성공과 계층적인 구조가 존재하는 이유를 설명한다. 분업과 규모의 경제적 장점을 이용하려면 업무를 분할하고 실행을 조정하고 상황을 다시 결합해 결과물을 할당해야 하는데, 일단 계층 구조가 만들어지자 이런 계층 구조 내에 다시 계층 구조를 충첩해 분업과 정보 처리를 촉진하는 방법을 고안하게 되었다. 이런 계층 구조는 수렵/채집 부족부터 지역 볼링 리그와 대기업에 이르기까지 사회를 지배하는 기본적인 구조에 스며들게 되었다.

다음 주제인 '경제적 진화' 상당히 복잡하므로 오늘은 여기까지.

토요일, 5월 19, 2012

[독서광] 네트워크 속의 유령

최근 EBS 해킹 사고로 인해 다시 한번 보안에 대한 경각심이 높아지는 상황이다. 따라서 오늘은 정말 간만에 보안 관련 책을 하나 소개하려고 한다. 컴퓨터 보안에 관심이 있는 분이라면 누구나 한번 쯤 케빈 미트닉이라는 이름을 들어봤을 것이다. 1995년 체포될 당시 미국에서 1급 수배자로서 악명을 떨쳤으며 대규모 보안 사건이 터질 때마다 언론에서 유력 용의자로 지목했던 보안 분야의 유명인이다. 이 책은 바로 전설의 블랙 해커인 케빈 미트닉이 펼치는 화려한(어지간한 책과는 스케일과 레벨이 다르다. 낄낄. 이중 스파이에 헬리콥터 추격전까지 나오는 한 편의 영화다.) 무용담을 장장 600페이지에 걸쳐 숨가쁘게 펼쳐내고 있다. 보안 쪽에 관심이 있고 시스템(특히 유닉스) 관리 지식이 있으며 평상시 사회 공학적인 장난(?)을 좋아하는 분들이라면 이 책을 정말 재미있게 읽을 수 있으리라는 생각이다.

미트닉의 어린 시절(어린 시절부터 이미 선수(?)였음을 알 수 있다)부터 결국 FBI에 잡혀 풀려날 때까지 연대기 순으로 미트닉의 관점에서 이야기를 서술하고 있으므로 기존 언론이나 영화에서 그려진 미트닉의 모습과는 또 다른 흥미로운 여러 가지 사실을 알 수 있다. 예를 들어, 미트닉은 해킹한 정보를 토대로 금전적인 이익을 얻거나 정부와 기업에 엄청난 피해를 입혔다고 주장하는 내용을 일관성 있게 부인하고 있으며, 자신을 잡는데 결정적인 기여를 했다고 알려진 시모무라도 사실상 FBI의 도움을 받았기에 다른 책이나 영화에 나오는 해커를 때려잡는(?) 영웅과는 거리가 멀다고 주장한다.

이 책은 미트닉이 사용한 사회 공학적인 접근 방법이 아주 상세하게 연대기 순으로 (게다가 서로 연관을 맺으며) 등장하므로 훌륭한 보안 지침서로 생각해도 무방할 정도다. 물론 미트닉이 쓴 다른 책인 '해킹: 침입의 드라마'를 보면 좀더 체계적이고 정리된 설명이 나오지만, 아무래도 실제 현장에서 벌어지는 가감없는 자신의 경험담이 훨씬 더 현장감이 느껴지므로 따분한 보안 관련 표준안을 읽느니 이 책을 읽는 편이 실제 보안 사고를 줄일 확률이 높다는 생각을 잠시 해봤다. 미트닉은 10명이 지켜도 1명 도둑을 못막는다는 옛말이 있듯이 완벽한 보안 정책과 기법과 제품이라는 존재하지 않는다는 사실을 적나라하게 보여준다.

미트닉이 사용한 기법을 잠시 같이 살펴볼까?

-------------
"혹시 .rhosts 파일이 있나요?"

"그게 뭐죠?"

하하 내가 기대하던 답변이었다. .rhosts 파일을 모른다는 말은 해킹을 하기 딱 좋은 대상이라는 의미였다. <중간 생략>

나는 제프에게 다음과 같이 입력하라고 말했다.

echo "+ +" > ~/.rhosts (B급 프로그래머: 번역서에는 ~.rhosts라고 나와있지만 명백한 오탈자다. .rhosts라는 사용자의 홈을 덮어쓰라니... T_T)

맞다. 이것은 .rhosts 해킹에 사용되는 명령이다. 나는 제프에게 입력을 지시할 때마다 매번 아주 태연하게 그럴싸한 설명을 해줬고, 따라서 제프는 자신이 지금 시스템에 어떤 명령을 내리는지 안다고 착각했다. <이하 생략>
-------------

뭐 요즘이야 누구나 알고 있는 전형적인 .rhosts 해킹이지? ㅋㅋ

-------------
나는 진저에게 전화로 도움을 줄 수 있다고 말했다. 나는 문제를 해결하는 절차를 가르쳐주면서 진저에게 시스템에 다음과 같은 명령문을 입력하게 했다.

nc -l -p 53 -e /bin/sh&

진저는 그 명령문을 입력하면 내가 법률사무소의 게이트웨이 서버에 접속할 수 있는 권한을 가지게 된다는 걸 몰랐다. <이하 생략>
-------------

netcat 명령은 B급 프로그래머도 즐겨쓰기에 미트닉의 순발력에 한참을 웃었다. 미트닉이 사용하는 수법은 위 사례를 보면 알겠지만 절대 어려운 공격 방법이 아니다. 그런데 이런 내용이 정말 말이 된다는 사실은 B급 프로그래머 경험으로 보증할 수 있다. 10년 전(아니 그보다 더 오래 전이구나)에 모 프로젝트를 진행하며 Solaris 운영체제로 동작하는 시스템에 소프트웨어를 설치해줬는데, 문제가 생겨 지원이 필요했다. 직접 들어가서 해결하는 방법이 최선이지만 거리상 원격으로 해결하려 마음먹고 생각해보니 외부에서 접속할 방법이 마땅치 않았다. 시스템 담당자가 문헌_정보_학과를 나온 신입 사서(상당히 귀여운 미인이었던 걸로 기억한다)라서 유닉스와 시스템에 대해 그야말로 기초적인 지식(로그인 방법 정도 T_T)만 알고 있었기에 전화를 붙잡고 즉석에서 vi 명령어도 가르치고 간단한 셸 스크립트도 작성하게 만들고 무려 root 권한으로 데몬을 재시작하고... 여튼 성공리에 문제를 해결했다. 물론 다음 번에도 여러 번 이 친절한 미인 사서의 도움을 받았던 걸로 기억한다(나의 시스템 관리 아바타라고나 할까? 응?). 만일 이런 상황에서 정상적인 업무가 아니라 사회 공학적인 공격을 마음먹었다면 어떻게 될까? 그냥 내부 시스템을 다 뒤지고 다니고도 충분할 상황이라고 생각하면 틀림없다.

내 맘대로 교훈: 요즘에는 기업과 기관들이 USB 장치를 막고 와이파이 재머를 가동하고 휴대폰 카메라에 스티커를 붙이고 온갖 보안 정책을 다 세우지만, 트럭이랑 탱크가 지나다닐 구멍은 도처에 존재한다. '도구'와 '기교'가 아니라 '사람'이 핵심이라는 평범한 진리를 다시 한번 곱씹어보자.

토요일, 5월 12, 2012

[일상다반사] 방문객 30만명 돌파 이벤트

지난 2006년 6월에 블로거로 이전한 다음에 지속적으로 애독자 여러분들께서 찾아주신 덕분에 지난 주에 30만명을 돌파했다. 딱딱한(매일 책 이야기만 하니... T_T) 내용에도 불구하고 블로그를 방문해주신 여러분들께 다시 한번 감사 말씀을 드리며, (피드버너 통계에 따르면) 2790분 정도 되는 RSS 구독자분들께는 감사를 두 배로 드린다. 그래서 오늘은 색다른 이벤트를 한번 기획해보겠다. ㅋㅋ

RSS 구독자와 애독자 중에 _세 분_을 모시고 맛있는 저녁 식사를 대접하려 한다(정확한 날짜와 장소는 아직 미정이다. 단, 장소는 이동이 편리한 서울 강남 지역으로 정할 예정이다). 지금까지 이벤트만 하면 매번 걸리는 분들만 걸린다는(진짜로 그렇다! 부지런한 분들이 늘 책을 가져가셨다) 민원이 많이 들어왔기에 이번에는 공정하게 난수를 발생시켜(응?) 독자분을 뽑을 예정인데, 선정 규칙에 약간 변화를 가하기로 했다.

행사에 참여하시는 분들께서는 반드시 성함(이번 이벤트에는 개인적으로 알고 있는 지인분들이 신청하실 경우 우선 순위가 뒤로 간다. 설마 동명이인이 많기야 할까? ㅋㅋ)과 자기 출생 연도 4자리(예: 1980)를 알려주시기 바란다(이 네자리 숫자가 작을수록 확실히 우선 순위가 앞으로 온다. 단, 미성년자분들께서는 아쉽지만 다른 기회를...). 젊은 분들과 이야기를 나누고 싶기에 이런 규칙을 만들었으므로 어르신(!)들께서는 양보를 부탁드리겠다. 아, 컴퓨터 관련 직종에 근무하거나 관련 학과에 다니시지 않아도 신청 가능하다. 다른 분야에 계신 분들을 더욱 환영한다.

jrogue 애뜨 gmail 닷컴으로 5월 15일(화)까지 신청해주시기 바란다. 다른 이벤트와는 달리 블로그 댓글은 필요하지 않다. 당첨자 명단과 이벤트 안내는 개별적으로 5월 19일(토)에 알려드리겠다.

EOB

토요일, 5월 05, 2012

[독서광] 생각의 속도로 실행하라

간만에 경제/경영 블로그답게 흥미로운 책을 하나 소개하겠다. 번역서 제목을 다소 자극적인 '생각의 속도로 실행하라'고 바꾼 이 책은 원서 제목인 'Knowing-Doing Gap'(한국어로 번역하자면 '지행격차' 정도가 되지 않을까 싶다)을 집중적으로 다루고 있다. '말보다 실천이 어렵다'는 명제를 기업의 흥망성쇠와 연결해 소개하는 책 중에서는 최고봉이 아닐까 싶다.

이 책은 조직 성과와 성과를 내는 방법을 잘 아는 경영자들이 나름 일도 열심히 하고 있음에도 불구하고 망가지는 이유를 아는 것과 실행하는 것의 격차라는 관점에서 설명하고 있다. 실제로 지금까지 엄청나게 많은 경영/경제/자기 계발서가 쏟아져 나왔고, 하버드 비즈니스 리뷰를 비롯한 각종 논문과 연구 결과들이 속속들이 출간되고 있음에도 불구하고 망가지는 회사들은 어김없이 망가지고 있다(심지어 유명한 컨설팅 업체의 도움을 받아 회생하려 노력하다 더 망가진 회사들도 많다). 하지만 모든 실패는 '개인'의 문제로 치부하는 경우가 많다. 최고 경영진이 무능해서, 직원들이 복지부동해서, 부정부패가 만연해서, ... 이렇게 설명을 하면 명쾌하고 단순하긴 하지만 문제를 풀 가능성은 점점 멀어지고 만다. 희생양을 하나 잡은 다음 죽도록 비판하고는 다시 예전으로 돌아갈테니까. 하지만 이 책에서는 다른 각도로 접근한다. 망가지는 회사들의 특징 중 하나로 지행격차가 크다는 사실을 날카롭게 파해치면서 어떻게 하면 지와 행을 가까이 붙일 수 있는지 사례를 들어 설명한다.

지행격차라는 제목부터 센스 작열인데, 이 책의 각 장 제목을 보면 손발이 더욱 오그라 든다. 간단하게 핵심 목차를 살펴볼까?

  1. 지식의 부족이 아닌 실행의 부족이 문제
  2. 말이 행동을 대신할 때
  3. 기억이 생각을 대신할 때
  4. 두려움이 지식 실행을 가로막을 때
  5. 숫자가 판단을 가로막을 때
  6. 내부 경쟁이 친구를 적으로 만들 때

우리들은 지금까지 묵묵히 일하는 사람보다는 말만 번지르한 빅마우스(!)를 대접하고, '우리는 이렇게 하지 않소!'라며 과거 관행을 집착하며, '내 말 안 들으면 모가지야' 공포감을 조성해 직원들을 복지 부동 모드로 만들고, 객관적이고 정량적인 평가가 필요하다는 명분을 새워 이리 꼬고 저리 꼬은 BSC나 KPI와 같은 시스템을 도입해 내부 인력들을 동지가 아니라 적으로 만들고, 철저하게 내부 경쟁을 붙여 조직내 정보 교류를 막고 타인을 방해해야만 성과급을 받도록 만드는 회사를 얼마나 많이 목격해왔는가! 이 책은 알면서도 실천하지 못하도록 이리 막고 저리 막는 기업의 나쁜 관행을 시원하게 까발린다. 물론 사례 연구에 BP를 넣은 심각한 오류를 범했지만(참고로 이 책이 나온지 10년 넘었을거다), 이 정도는 용서하고 봐주자. 평생 승리하는 회사는 없으며 모든 회사는 실수를 극복하면서 성장하니까 말이다.

자, 그러면 책에서 나온 재미있는 내용을 함께 살펴보자.

실행되는 지식은 독서/경청/생각을 통해 학습한 지식일 가능성이 낮다. 그보다는 행동을 통해 학습한 지식일 가능성이 훨씬 높다.
위대한 기업들은 보통 사람으로부터 위대한 성과를 뽑아낸다. 위대하지 않은 기업들은 재능있는 사람을 뽑아 그 인재의 재능과 통찰과 의욕이 줄 수 있는 혜택을 어떻게든 무력화한다.
적어도 미국에서는 '하면 알게 된다'라는 철학이 일을 잘못하면 목숨을 잃을 수도 있는 직업에서 가장 일관성 있게 적용되고 있는데, 이는 시사하는 바가 크다.
많은 기업에서 사람들은 똑똑하고 생산적인 것들을 '실행'하면서가 아니라, 똑똑하게 '말함'으로써 남을 앞서가는 것 같다.
사람들은 이견을 공공연히 표현하지 않고 공적으로는 결정을 수용하지만, 실행을 위해서라면 아무 것도 하지 않을 수도 있다.
용기를 내어 실질적인 뭔가를 제안한 사람들이 밀려난다면, 조직은 영리한 반박꾼들로 넘치고 행동이라고는 전혀 찾아볼 수 없게 될 것이다.
발언 내용의 질과는 무관하게 더 길게 더 많은 논평을 한 사람들이 덜 수다스러운 집단 구성원들보다 새로운 집단에서 리더로 떠오를 가능성이 크다.
경영 컨설팅은 말을 파는 직업이다.
모두와 정보를 공유하려면 남이 모르는 것을 알기 때문에 누릴 수 있는 힘과 특권을 포기해야 함을 의미한다.
SAS에는 모든 간부가 '일하는 간부'다. 이는 심지어 공동창립자이자 CEO인 제임스 굿나이트에게도 적용된다.
루소는 사람은 언제나 뭔가를 하지 않을 구실을 찾을 수 있다고 말했다.
유용하고 필요한 뭔가가 왜 되지 않는지에 대해 늘어 놓는 말을 어떻게 할 수 있을까에 대한 말로 바꿔놓아야 한다.
기존 방식에 의문을 제기할 만큼 용기를 내고 기존 관행이 폐기되고 새로운 관행을 세워야 하는 그럴듯한 이유를 제시하는 사람들은 무시되거나 혼나기 쉽상이다.
두려움은 과거의 실수를 되풀이하고 과거의 문제를 재발시킨다. 더 좋은 일처리 방식을 알 때조차 두려움에 사로잡힌 사람은 과거를 반복하곤 한다.
'상황이 어쩔 수 없었다'라는 생각은 정당성이 없다.
기업들이 전략, 문화, 인센티브 제도 등에서는 엄청나게 다르면서, 관리적 측정과 보고 시스템에서는 본질적으로 비슷하다는 것이 이치에 맞아 보이는가?
사람들을 다양한 유닛에서 경험을 쌓도록 하는 것도 팀 중심 문화를 강화하는 데 도움이 된다.
어느 사회나 회사에서든 경쟁은 대체로 선택 사항이지 인간 본성의 어떤 성질 때문에 필연적으로 빚어지는 결과는 아니다.
회사(마이크로소프트 사)가 인지하는 대로 개인의 전문성에 따라 연봉과 보너스가 결정되기 때문에 자신의 결점을 다른 사람에게 들키지 않으려는 경향이 커진다.
불안 속에서 생존을 다퉈야 하는 경쟁적 환경에서는 기존의 사람들은 새로운 사람들로부터 배우려는 노력이 아닌 그들을 깔보고 헐뜯음으로써 새로운 사람들의 능력을 폄하하려는 노력을 하게 된다.
연구에 따르면, 일단 어느 개인, 집단 또는 부문이 성과 경쟁에 져서 '패배자'라는 꼬리표가 붙고 나면, 그 후 성과는 더 나빠진다.
되풀이되는 일상적 과업을 잘 하기 위해 필요한 것과 새로운 지적 과업을 잘 하기 위해 필요한 것, 이 두 가지를 사람들은 헷갈리곤 한다.
과업이 매우 어렵거나 복잡해 타인의 도움이 필요하고 정보 공유가 요구될 때 내부 경쟁은 특히 더 파괴적이다.
보통 조직 내 여러 구성원들 간의 상호의존성이 높을수록 개별 기여의 측정이 어려워진다.
대체로 우리 회사의 리더들이 그 자리까지 오를 수 있었던 것은 리더십 능력뿐만 아니라 경쟁 능력도 뛰어난 덕분이었다. 따라서 리더들 대부분이 업무 환경에 경쟁을 도입하면 성과가 높아질 거라고 믿는 것은 당연하다.
지행격차에 대해 아는 것과 지행격차에 대해 어떤 읽을 '하는 것'은 다르다. 원인을 이해하면 그 이해를 바탕으로 행동의 방향을 잡을 수 있기 때문에 도움은 된다. 그러나 아는 것만으로는 충분치 않다. 행동이 반드시 따라야 한다.

오늘은 보너스로 지식 실천을 위한 8가지 지침을 정리하며 마무리하겠다. 여러분이 지금 다니는 회사는 얼마나 '실천'에 강한지 다시 한번 점검해보시기(그리고 지금 회사의 실천 능력이 0에 가깝다는 사실을 알게 되면 아까운 인생을 더 이상 낭비하지 마시고 얼른 다른 길을 찾아보시기) 바란다.

  1. '어떻게'보다 '왜'가 먼저이다: 철학이 중요하다
  2. 실행하고 가르치면서 지식을 얻는다
  3. 계획과 개념보다 행동이 중요하다
  4. 실수 없는 실행 없다. 회사의 반응은?
  5. 두려움은 지행격차를 벌린다. 두려움을 몰아내라
  6. 끼리끼리 싸우지 말고 경쟁사와 싸우라
  7. 지식 실천에 도움이 되는 것을 측정하라
  8. 리더가 어떻게 시간과 자원을 쓰는지 중요하다
EOB