니시오 히로카즈 / 김완섭 옮김 | 제이펍
(IT에 몸담은 이들을 위한) 지적 생산 기술은 고난이도이다
인터넷에서 접하고 제목에 이끌려 주저없이 구매하였다. 제목만으로 급변하는 IT 웹기술을 습득하는 방법론을 제시해 줄 것이라는 기대를 했고, 기대한것처럼 시작은 좋았지만 책의 중반부로 갈수록 점점 저자의 글이 눈에 들어오지를 않았다.
책의 목차를 보면, "새로운 것을 배우려면", "동기부여를 하려면", "기억력 단련하기", "효율적으로 읽으려면", "생각을 정리하려면", "아이디어를 떠올리려면", "무엇을 배울지 결정하려면" 과 같이 학습에 목말라 있는 나에게는 꽤나 흥미를 유발시키는 텍스트로 구성되어 있었다.
하지만 초반의 "새로운 것을 배우려면" 을 넘어가면서 저자가 하고싶은 이야기는, IT에 몸담지 않은 그냥 모든 사람들이 "학습을 하기 위한 뇌구조 운동"에 대해 설명하는 글 같았고 텍스트의 예제를 개발적인 예시를 드는 부분을 제외하고는 왜 이 책이 IT에몸담은 이들을 위한다는 건지 이해 하기가 힘들었고 몇몇 사이트에 있는 서평에 속은 듯한 느낌을 받았다. 어느덧 후반부까지 힘들게 읽고 있는 나 자신을 발견하고 책을 덮을까 했지만 저자가 정리하는 마지막을 들어보고 싶어서 완독했지만 별 다른 내용은 없었다.
전체적으로 저자가 선택한 문장의 내용이 어려웠고 다시 한번 읽으면 좀 나으려나 생각했지만, 다시 읽고 싶은 만큼의 내용은 아니라고 판단하고 책을 덮었다. 그래도 흥미롭게 읽었던 몇몇 내용은 정리는 아래와 같다. 정리를 하다가 후반부에는 따로 정리하지 않았다.
지적 생산이란?
지식을 이용해서 가치를 창출하는 것이다. 구체적으로는 집필이나 프로그래밍 등이 이에 해당한다.
프로그래밍 학습 과정은 '정보 수집, 모델화, 검증'의 3요소를 반복하는 것이라 생각한다.
p6
시행착오의 과정은 다른 사람에게는 잘 보이지 않지만, 적어도 나는 하나의 성공 사례를 공개하기 위해 수많은 시행착오를 거치고 있어서 이것을 잘 알고 있다.
상자를 예로 들면, 시행착오는 상자가 안쪽 방향으로 놓이는 것과 같다. 정면에서 보면 마지막에는 성공한 방법의 상자만 보인다. 다른 사람의 활동을 보고 '어떻게 이 방법을 생각해 낸 거지? 나는 할 수 없는 생각이야. 이 사람은 천재야'라고 생각할 수도 있다. 이것은 가장 앞에 놓인 상자만 보고 있기 때문이다.
p8
일반 사회인이 되면 학생 때 학습을 위해 사용했던 시간은 일을 위해 사용된다. 학습을 위한 시간을 별도로 주는 사람이 없으므로 자신이 스스로 시간을 확보해야 한다. 출근 시간이나 새벽 시간을 학습에 사용하는 사람도 있다. 근무 시간 중에 배우고 싶은 것을 배울 수 있는 환경이라면 매우 운이 좋은 경우다.
p16
'알고 싶다'는 생각이 '의욕'을 높이고, 학습 사이클을 계속 회전시켜 준다. 특히, 구체적으로 만들고 싶은 것이 있다면 적절한 기회다. 손을 움직이기 시작하면 알고 싶은 것들이 막 생겨난다. 이렇게 생겨난 호기심을 해소해 가다 보면 높은 의욕을 유지하면서 학습할 수 있다.
p18
학습 사이클을 돌리려면 의욕을 유지하는 것이 중요하다. 그리고 목표가 멀면 의욕을 유지하기 어렵다. 그렇다면 '미래에 필요한 것'이 가까운 목표일까? 아니면 먼 목표일까? 먼 목표다. 이런 먼 목표를 바라보는 것이 아니라 더 가까운, '지금 자신이 하고 싶은 것'을 향해 가는 것이 의욕을 높이는 방법이다.
알고 싶은 것부터 배우기 위한 전제 조건
- 목표가 명확할 것
- 목표가 달성 가능한가?
- 대략적인 전체 모습 파악하기처음부터 전부를 자세하게 알려고 하는 것은 잘못된 목표 설정이다. '전부를 자세히 안다'라는 목표는 매우 멀리 있기 때문이다.
- 프로그래밍 언어의 각종 라이브러리에서 사용되는 모든 함수명을 미리 알고 있을 필요는 없다. 어디에 그 정보가 정리돼 있는지를 알아두면 된다.
제1장 새로운 것을 배우려면
학습 사이클
학습 사이클을 돌리는 원동력: 의욕
정보 수집의 세 가지 방법
알고 싶은 것부터
알고 싶은 것부터 배우기 위한 전제 조건
대충 보기
알고 싶은 것부터 배우려면 대략적인 전체 모습을 파악하는 것이 중요하다. 일부분만 자세하게 보는 것이 아니라 전체를 대충 보는 것이다. 그렇게 하면 무언가 필요한 것을 찾으려 할 때 '분명 이쯤에 있었지'라며 찾는 범위를 줄일 수 있다.
- 1,000페이지 이상의 자료도 목차는 단 6페이지
- 목차부터 읽자. 그러면 정말 대충이긴 하지만 전체 모습을 파악할 수 있다.
- 코드를 단계적으로 읽기
- 내부 구조를 해설한 문서가 있으면 읽기 ⇒ 도입부
- 디렉터리 구조 읽기
- 파일 구성 읽
- 약어 조사하기
- 데이터 구조 파악하기
- 함수 간 호출 관계 파악하기
- 함수 읽기
- 코드를 읽을 때에도 역시 대략적인 부분부터 시작해서 깊이 있게 읽어간다.
- 문서의 대략적인 구조
- 영어 논문의 대략적인 구조
- 과거의 지도
처음부터 찾기
대략적인 정보 수집이 어려운 경우에는 처음부터 시작할 수밖에 없다. 대충 작성된 설명을 읽고서 머릿속에 윤곽이 그려지지 않는다면 윤곽을 그리기 위한 지식 자체가 부족한 것이다.
- 필사라는 기술'왜 이렇게 돼 있는 거지?'나 '여기를 이렇게 바꾸면 어떻게 되지?'와 같은 생각을 해보는 것도 좋다. 이것은 '의문을 해결하고 싶다', '바꿔서 실행해 보자'라는 '명확한 목적'으로 연결된다. 생각한 것은 주석이나 메모로 남겨 두면 더 좋다.
- 새로운 프로그래밍 언어를 배울 때 '필사'(베껴 쓰기)라는 기법이 도움이 된다. 교과서 등 같은 곳에 있는 코드를 직접 키보드로 입력해서 실행하는 것이다. 효율은 매우 나쁘지만, 아무런 지식이 없는 초보자가 첫걸음을 내딛기 위한 방법으로 유용하다.
- 수학대충 읽어도 이해가 안 가는 책은 제대로 읽을 수밖에 없다. 그리고 제대로 읽어도 모르겠다면 한 장씩 넘기며 정독하는 방법밖에 없다.
- '모델화 및 추상화'에서 설명한 것처럼 짧은 지식을 나열하고 그 위에 탑을 쌓아 간다면 얼마 가지 않아 무너지고 만다. 시간이 걸리더라도 토대를 단단하게 만드는 것이 중요하다.
- 시간을 세분화하자
- 책 한 권을 다 필사하려면 어느 정도의 시간이 걸릴까? 목표가 보이지 않는다면 하고 싶은 마음도 생기지 않는다. 그래서 시간을 세분화하는 게 좋다. '지금부터 25분 동안 할 수 있는 곳까지 필사하자'와 같은 목표를 설정한다.
- 필사는 보조 바퀴
- 필사는 수단이지 목표가 아니다. 필사는 먼저 해보는 것이다. 해보면 점점 효율적인 학습이 가능해져서 필사의 필요성을 느끼게 될것이다. 그리고 왜 보조 바퀴에 비유했는지도 실감할 수 있게 될 것이다. '더 이상 보조 바퀴는 필요 없어'라고 생각한 시점에 보조 바퀴를 빼도 상관없다. 필사가 필요 없다고 느낀 시점에 필사를 중단해도 좋다.
- 다시 필사가 필요해질 때
- 이해가 깊어질수록 필사의 필요성이 줄어들게 된다. 필사는 프로그래머의 경력에서 초기 단계에만 필요한 것으로, 이 단계를 지나면 필요성을 크게 못 느끼게 된다. 하지만 그것은 착각이다. 필사가 필요 없다고 느끼는 것은 새로운 분야에 도전하고자 하는 마음이 없기 떄문이다. 자신이 필사를 잊고 있었다는 것을 알고 왜 잊고 있었는지 생각한 끝에, 자신이 새로운 분야에 도전하지 앟고 있음을 깨닫게 된다. 지금은 필사하지 않으면 안 될 정도의 새로운 분야에 정기적으로 도전하는 것이 중요하다고 생각한다.
추상이란 무엇인가?
'추상'이라는 개념은 아주 강력한 도구다. 추상적인 개념은 그것을 다른 추상적인 용어로 설명해도 이해하기 어렵다. 먼저, '추상'이란 무엇인지 구체적인 정보를 많이 수집해서 그것을 비교하자.
추상
모델, 모형
모듈
- 상호작용 제한하기
- 중요하지 않은 부분을 숨긴다 = 중요한 부분을 추출한다
모델, 뷰, 컨트롤러
패턴의 발견
디자인패턴
추상화가 필요한 이유?
- 패턴 발견에 의한 일반화
- 참새나 비둘기, 제비 등이 나는 것을 보고 '새는 나는 것이다'하고 생각하는 것은 패턴의 발견이다. 이렇게 만들어진 '새는 나는 것이다'라는 추상적인 지식은 틀린 경우도 있다. 펭귄은 새이지만 날지 못한다. 하지만 설령 틀린다고 해도 추상화는 필요하다. 추상화하지 않으면 꾀꾀를 보고 '날 수 있는지는 아직 관찰하지 않아서 모른다'라고 생각하게 된다. '본 적이 없으니까 모른다.', '생각해 본 적이 없어서 모른다'라는 태도로는 새로운 문제에 대처할 수 없다.
추상화는 어떻게?
비교를 통해 배우기
- '같은 것'과 '다른 것' 사이에 주목
- 비유
- 다른 것에 주목
역사를 통해 배우기
패턴 책을 통해 배우기
제대로 알지 못하면서 잘 알고 있다고 믿어 버리는 경우는 흔한 일이다. 그 차이를 이해하고 학습을 지속하려면 이해를 검증하는 것이 중요하다.
검증
만들어서 검증
제대로 이해했는지는 이해한 것을 바탕으로 무언가를 만들어 보고, 그것이 생각한 대로 동작하는지 여부로 검증할 수 있다.
프로그래밍 학습은 검증이 매우 쉬운 분야다. 제대로 이해하지 않은 상태에서 프로그램을 작성하면 오류가 발생하기 때문이다. 그리고 오류가 난 프로그램을 수정해서 재실행할 수도 있다.
프로그래밍은 만들어서 검증해 보는 것에 매우 적합한 소재다. 그리고 프로그래밍을 배움으로써 '사이클을 돌리는 학습법'을 배울 수 있다.
- 해설도 만드는 것의 일종
- 배운 것을 다른 사람에게 이야기해 보는 것도 좋다. 이야기를 하면서 상대방의 얼굴을 보고 잘 모르겠다는 표정을 하고 있다면 제대로 설명하고 있지 않은 것이다. 잘 설명할 수 있게 개선 사이클을 돌리면 이해도를 높일 수 있다.
시험을 통한 검증
검증이 어려운 분야
정리
제2장 동기부여를 하려면
의욕이 없는 사의 65%는 태스크를 하나로 추리지 못한다
추려내기 위해서 먼저 전체 모습을 파악하자
Getting Thing Done: 먼저 모두 정리한다
전부 모아서 나중에 처리하기
어떻게 하나의 태스크를 선택할 것인가?
- 방 정리와 비슷하다
- 먼저 기지를 만들어라
- 태스크가 너무 많다
긴급성 분리 이론 오늘 해야 할 것이 오늘 할 수 있는 이상의 양이 되는 것을 '긴급 사태'라고 한다.
- 질을 낮출 수 있는가?
- 양을 줄일 수 있는가?
- 납기일을 늦출 수 있는가?
- 방법을 바꿀 수 있는가?
- 다른 것으로 대체할 수 있는가?
- 돈으로 해결할 수 있는가?
- 위의 것으로 해결되지 않는다면 포기할 것
'우선순위 정하기'는 그 자체가 어려운 태스크
소트(Sort)의 계산량
1차원이 아니면 대소 관계를 알 수 없다
미확정 요소가 있는 경우의 대소 관계는?
- 탐색과 사용 사이의 균형
- 불확실한 때는 낙관적으로
- 리스크와 가치의 우선순위
중요한 것을 먼저하라
- '통지된 것'은 '긴급'하지 않은 것
- 가치관은 상향식으로 언어화하기
우선순위를 지금 정하지 않아도 괜찮다
하나의 태스크를 위한 동기부여
태스크가 너무 크다
- 집필이라는 큰 태스크
타임박싱
아주 큰 태스크를 작은 단위로 나누는 쉬운 방법은 '시간으로 나누는 것'이다. 태스크에 맞추어 시간을 정하는 것이 아니라, '정해진 크기(시간)의 상자에 태스크를 넣는다'고 생각하는 것으로 타임박싱(Timeboxing)이라고 한다.
- 집중력의 한계
- 뽀모도로 기법
- 오늘 1일분의 태스크를 만든다.
- 태스크의 크기를 뽀모도로 개수로 계산한다.
- 1뽀모도로 동안에는 태스크를 변경하지 않고 하나에 집중한다.
- 만약 자신 또는 타인에 의한 간섭이 발생한다면 그것을 기록한다.
- 1뽀모도로에서 집중 상태가 계속된다면, 서서 몇 발자국 걸어 보는 등 기분 전환을 한다.
- 타임박싱의 개념을 개인 태스크 관리에 적용한 것이 프란체스코 시릴로가 제창한 뽀모도로 기법이다. 뽀모도로 기법에서는 25분을 1뽀모도로라고 부른다. 뽀모도로 기법은 간단히 말하면 다음과 같이 정리할 수 있다.
- 예상 시간 측정 능력 단련하기
- 분 단위로 계산하는 태스크 슈트 시간 기법
- 계측하고, 피하고, 모은다.내가 관찰한바에 의하면, 성과를 올리는 사람은 일에 바로 뛰어들지 않는다. (중략) 계획부터 하는 것도 아니다. 시간이 어디에 어느 정도 걸리는지를 명확히 파악하는 것부터 시작한다. 다음은 시간을 관리해야 하므로 시간에 대한 비생산적인 요구를 피한다. 그리고 마지막으로 그렇게 얻은 자유시간을 모은다. 따라서 시간 기록하기, 정리하기, 모으기의 3단계에 걸친 프로세스가 성과를 올리기 위한 시간 관리의 기본이 된다. <프로페셔널의 조건>(피터 드러커 저, 이재규 역, 청림출판, 2012)
- 사회생태학자인 피터 드러커는 다음과 같이 말했다.
정리
제3장 기억력 단련하기
기억이 구조
해마
해마를 제거한 사람
1953년 어떤 사람이 수술로 해마 주변을 제거했고, 수술 후에는 기억을 할 수 없게 됐다. 이 발견이 있기까지, 다른 부위를 제거하는 수술도 했었지만, 기억력에는 영향을 주지 않았다. 이로 인해 해마가 기억력에 중요한 역할을 한다고 생각하게 됐다.
모리스의 수중 미로
기억은 한 종류가 아니다
사람은 언어로 표현할 수 있는 기억과 손을 움직이는 운동 기능의 기억을 가진다고 볼 수 있다. 예를 들어, 자전거를 탈 수 있는 사람이라도 자전거 타는 법을 말로 설명하는 것은 어렵다. 이처럼 언어로 표현할 수 없는 지식을 '비선언적 기억'이라고 한다.
기억과 근육의 공통점
신호를 전달하는 시냅스
시냅스의 장기강화
먼저 금방 사라질 방법으로 만들고, 점차 오래 지속되는 방법으로 바꾼다
반복해서 사용하면 강해진다
출력이 기억을 단련시킨다
시험은 기억의 수단
시험을 보고 나서 다시 공부한다
자신은 없지만 성적은 높다
틀리는 것이 나쁘다고 생각하거나 화를 내는 사람도 있을 수 있다. 하지만 학습 초반에 틀리는 것은 틀린 것을 중점적으로 공부해서 결국에는 좋은 성적으로 연결될 수 있다. 이것을 직접 경험하면 틀리는 것에 대한 공포심을 줄일 수 있다. 틀렸을 때 '배울 기회를 얻었다'하고 긍정적으로 생각하는 것이다.
적응형 부스팅
시험을 통한 학습 사이클의 빠른 회전
지식을 오래 유지하는 간격 반복법
잊어버린 후에 복습한다
라이트너 시스템
문제의 쉬운 정도
지식을 구조화하는 20가지 규칙
앙키
난이도 자동 조정
교재는 스스로 만들기
- 만드는 과정을 통해 깊이 있게 이해한다
- 개인적인 정보를 이용할 수 있다
- 저작권과 사적 사용을 위한 복제
정리
반복이 중요하지만, 단순히 반복해서 읽는 것이 아니라 시험을 보는 것이 좋다. 시험을 보면 주관적으로는 자신감을 잃을 수 있지만, 객관적인 성과는 높아진다. 컴퓨터를 사용해서 테스트(시험)의 반복 간격이나 출제 난이도를 자동으로 조절해 주는 구조(소프트웨어)가 이미 존재하지만, 이런 구조를 적용한 교재는 아직 많지 않다. 20가지 규칙을 참고로 직접 만드는 것이 기억 강화를 위해 유용하다.
제4장 효율적으로 읽으려면
'읽기'란 무엇인가?
책을 읽는 목적
읽는 목적을 세 가지로 나눌 수 있다. 오락, 정보찾기, 이해를 조합하기다.
- 오락은 대상 외
- 정보를 찾는 것이 목적인가?
- 정보 전달의 역사
- 1차원 정보를 머릿속에서 조합하기
- 책의 내용만으로 새로운 것을 조합할 수 없다
- '찾는 것'과 '조합하기'를 그러데이션
'읽기' 종류가 속고
보통 때 읽는 속도는?
읽기 속도의 피라미드
장애 요소는 어디?
속독의 고통
- 유지할 수 있는 속도 파악하기
읽지 않는다
- 읽지 않고 지식을 손에 넣는다
댓글