Skip to content

Kyunghwa Yoo

<실용주의 사고와 학습> 요약

book14 min read

1책 제목: 실용주의 사고와 학습
2저자: 앤디 헌트

이 책을 읽기로 결정한 이유는 개발 공부를 좀 더 효과적으로 하고 싶어서 였다. 어떻게하면 같은 시간을 들이더라도 더 효과적으로 학습할 수 있을까? 이 책이 그 해답을 조금이나마 줄 수 있을 것 같았다. 에자일 코치로 유명하신 김창준님이 감수하셨다는 것도 선택에 큰 영향이 있었다.


초보자에서 전문가에 이르는 여정

늘 맥락을 고려하라!

드라이퍼스 모델

초보자에서 전문가로 가는 과정을 다섯 단계로 구분해서 설명하는 개념. 드라이퍼스 모델은 구성 이론으로 분류된다.

  • 이론에는 이벤트 이론과 구성 이론으로 나눌 수 있다.
  • 이벤트 이론은 측정 가능하여 검증할 수 있고 증명할 수 있다.
  • 구성 이론은 추상적 개념이라 증명할 수 없지만 유용성으로 평가를 한다.

드라이퍼스 모델은 우리의 능력, 자세, 실력, 관점이 기술 수준에 따라 어떻게 바뀌는지, 또 왜 바뀌는지를 설명해준다. 드라이퍼스 모델은 기술별로 적용가능하다.

단계1: 초보자

  • 초보자는 뭔가를 배우고 싶어하기보다 당면 과제를 달성하고 싶어한다.
  • 초보자는 레시피가 필요하다. 레시피만 있으면 당장의 과제를 해결할 수 있다.
  • 하지만 규칙은 모든 사항을 완벽하게 정의할 수 없다.
  • 규칙이 있으면 시작할 수는 있지만 더 앞으로 나아갈 수는 없다.

단계2: 고급 입문자

  • 고급 입문자는 고정된 규칙을 조금씩 벗어나기 시작하고 자신만의 작업을 시도하기는 하지만 그래도 여전히 문제 해결에는 어려움을 느낀다.
  • 정보를 빨리 얻고자 하는 욕구도 커진다.
  • 적절한 상황에서 자신의 경험 중 비슷한 상황을 활용하기 시작한다.
  • 고급 입문자는 아직 큰 그림을 필요로 하지 않는다.

단계3: 중급자

  • 문제를 스스로 해결하고 새로운 문제를 해결할 방법을 찾아내기 시작한다.
  • 경험이 부족하기 때문에 문제를 해결할 때 어디에 초점을 맞추어야 하는지를 판단하는데 어려움을 겪는다.
  • 자기 자신을 돌아보고 잘못을 스스로 교정할 수 있는 능력이 부족하다.

단계4: 숙련자

  • 숙련자가 되면 큰 그림이 필요해진다. 해당 기술에 대한 큰 개념적인 틀을 찾아서 이해하고자 한다.
  • 이전에 잘못했던 일을 스스로 교정할 수 있다. 더 잘할 수 있는 접근법을 찾는다.
  • 다른 사람의 경험에서도 배운다.
  • 격언을 이해하고 적용할 수 있는 능력이 생긴다.
  • 격언의 맥락을 이해할 수 있는 경험과 판단력이 있다.

단계5: 전문가

  • 늘 더 나은 방법과 수단을 찾는다.
  • 늘 적절한 맥락에서 써먹을 수 있을 만큼 방대한 경험을 갖추고 있다.
  • 전문가는 직관으로 일한다.
  • 전문가는 세부사항 중에서도 중요한 것과 그렇지 않은 것을 가려낼 수 있다.

규칙은 전문가의 생산성을 갉아먹는다.

초보자는 규칙을 활용하고 전문가는 직관을 활용하라

초보자가 전문가가 되는 과정에서 다음 3가지가 변화한다.

  • 규칙에 의지하던 것에서 직관에 의존하는 것으로 변화한다.
  • 모든 것을 고려하던 것에서 중요한 문제에 집중하게 된다.
  • 문제에서 유리된 관찰자에서 전체 시스템의 일부가 되어 사고하게 된다.

네가 모른다는 것을 알라

대다수의 사람들은 대부분 고급 입문자다. 자기 자신이 모른다는 것을 알아야 한다. 전문성을 얻기까지 10년 가량의 노력이 필요하다. 여기서 사려깊은 연습이 필요하다. 다음 조건들을 기억하자.

  • 작업이 잘 정의되어 있어야 한다.
  • 작업은 적당히 어려워야 한다. 도전적이지만 할 수 있는 수준이어야 한다.
  • 작업활동에 대한 풍부한 피드백을 받을 수 있어야 한다.
  • 반복하면서 잘못을 교정할 기회가 필요하다.

특수한 상황에서 벌어지는 다양한 변화에 맞춰서 현장에서 바로 결정을 내리려면 개개인이 책임을 받아들일 수 있어야 한다. 이러한 태도의 변화를 이끌어내려면 고급 입문자를 중급자 수준으로 올려야 한다. 이걸 달성하는 좋은 방법은 같은 근무환경에 모범이 될만한 사람이 있는 것이다.

보고 따라 하면서 배우라!

전문가를 남아 있게 만들어라!

성공적인 소프트웨어를 만들기 위해서는 전문가들이 편안한 환경이 되어야 하고 전문가를 남아 있게 만들어야 한다.

창의성, 직관, 고안력이 필요하다면 정형화된 방법론은 피하라

소프트웨어 개발에서 도구와 모델은 적절한 환경에서 유용할 수 있지만 만병통치약이 되진 못한다.

드라이퍼스 모델의 가장 중요한 교훈은 초보자들에게는 상황에 무관한 규칙이 필요하지만 전문가들은 맥락에 의존적인 직관을 사용한다는 것이다. 맥락에서 떼어놓고 객관적이려고 하는 것은 위험하다.

초보자에게는 빨리 성공을 맛보게 해야 하고 맥락에 무관한 규칙이 필요하다. 필요한 지원을 하되, 불필요한 큰 그림으로 혼란스럽게 하지 마라. 이와 반대로 전문가들은 큰 크림을 볼 필요가 있다. 제한적이고 관료적인 규칙을 강요하면 판단력을 잃을 수 있다.

배우는 기술을 배워라!

전문성으로 가는 길에 오르기 위해서는 다음과 같은 것을 해야 한다.

  • 더 많은 직관을 함양한다.
  • 맥락과 상황적 패턴 관찰의 중요성이 점점 커진다는 것을 깨닫는다.
  • 자신의 경험을 더 잘 활용한다.

이것이 뇌다

인간의 뇌는 2개의 CPU 모드를 가지고 있다.

L모드(Linear)는 논리적인 생각, 그리고 언어 처리를 담당한다. 상대적으로 느리고 전체 뇌용량의 작은 부분을 사용한다.

R모드(Rich)는 구글처럼 검색과 패턴 매칭을 담당한다. 무엇인가를 생각할 때 그 결과를 비동기로 반환한다.

R모드는 직관, 문제 해결, 창조성에 필수적이다. L모드는 세부적인 것들을 통해서 작업하는, 무언가 일을 되게 만드는 힘을 준다.

두 모드는 하나의 메모리를 두고 경합을 벌이기 때문에 둘 다 진행될 수는 없다.

떠오르는 모든 아이디어를 잡아라. 그러면 더 잘 활용하게 될 것이다.

모든 사람은 좋은 아이디어를 갖고 있다. 그 중 소수만이 다음 단계로 간다.

훌륭한 아이디어를 가진 사람 -> 그것을 기록하는 사람 -> 행동하는 사람 -> 실현할 수 있는 사람

L모드의 특성

  • 언어: 이름을 붙이고 묘사하고 정의하기 위해 단어들을 사용하는 것
  • 분석: 어떤 대상을 단계별, 부분별로 분석하는 것
  • 상징: 무언가를 나타내는 상징을 사용하는 것
  • 추상: 정보의 작은 조각을 가져와서 전체를 표현하는 데 활용하는 것
  • 시간: 시간을 기록하고 일의 순서를 정하는 것
  • 추론: 이유와 사실에 근거해서 결론을 이끌어 내는 것
  • 수치: 숫자를 세는 것처럼 수치를 활용하는 것
  • 논리: 논리(정리, 잘 정리된 논증)에 기초해서 결론을 이끌어 내는 것
  • 선형: 연결된 아이디어라는 관점에서 생각하는 것. 하나의 생각에 바로 다른 생각이 이어지고 종종 하나의 결론으로 수렴한다.

R모드의 특성

  • 비언어적: 언어를 검색해서 가져올 수는 있지만 만들지는 못한다.
  • 비합리적: 결과를 내기 위해 이유나 사실에 기초할 필요가 없다.
  • 종합적: 사물을 모아서 전체를 형성함으로써 배우는 것을 좋아한다.
  • 공간적: 공간적으로 동작하며 어디에 사물이 다른 사물과 연결되어 있는지, 각 부분이 어떻게 전체를 형성하는지 본다.
  • 구체적: 현 시점에서 사물을 있는 그대로 연관 짓는다는 의미에서 구체적이다.
  • 직관적: 불완전한 패턴, 예감, 느낌, 시각적 이미지에 기초해서 직관적으로 동작하고 도약적인 통찰을 한다.
  • 유추적: 사물의 연관 관계를 평가하는데 유추를 사용한다.
  • 전체론적: 패턴과 구조를 지각하면서 한 번에 전체를 보려고 한다.
  • 비선형

R모드의 처리 방식에 많은 장점이 있음에도 우리는 별로 사용하지 않는다. 많은 능력이 낭비되고 있다.

전문가가 되기 위해서는 R모드가 필수적이다. R모드의 유추적이고 전체론적인 사고방식은 소프트웨어 아키텍처와 설계에서 아주 중요하다. 세부적인 것을 보는게 아니라 종합적인 것을 만들어 보는것이 더 많은 학습기회를 제공한다.

분석을 통해서 배우는 것 만큼 종합을 통해서 배우라

인간은 L모드의 사고와 연관된 활동으로 편향되어 있다. R모드가 필요할 때조차 L모드에 지나치게 의존하면서 핵심적인 능력을 상실했다.

동물을 우리에 가둬놓고 있으면 새로운 뉴런이 생성되지 않는다. 즉 사무실에서 개발자를 칙칙한 칸막이에 가둬두면 결코 새로운 뉴런은 발생하지 않는다.

좋은 디자인을 위해 노력하라. 훨씬 더 나은 결과를 얻을 수 있다.

알려진 문제 (코드 속의 버그나 조직의 나쁜 프로세스, 형편없는 인터페이스, 바보같은 관리)가 해결되지 않고 남아 있으면 그 문제가 스스로 생맹력을 가지고 더 많은 문제를 일으키게 된다. 훨씬 더 나은 결과를 얻기 위해 더 아름다운 디자인을 만들어야 한다. 아름다움은 수 많은 선택지 중에서 적절한 것을 선택하는 것에서 나온다. 어떤 맥락에서 무엇을 선택해야 하는지를 아는 것은 '패턴매칭'에서 나온다. 패턴 매칭은 전문가가 보여주는 능력 중에서도 핵심이다. 전체론적인 패턴을 찾을 때는 R모드를 사용하며, 부분을 분석하고 세부사항을 보고 싶을 때는 L모드를 사용한다. R모드와 L모드를 잘 통합시킬 때 최고의 효과를 낼 수 있다.

마음속 들여다보기

뇌를 문제 해결과 창의적인 일에 더 많이 쓰게 만드는 방법은 평소보다 더 많은 신경 회로를 활성화하는 것이다. 즉, 평소와 다른 감각을 사용한다는 뜻이다. 예를 들면 객체지향 설계를 레고를 이용해서 하는 것이 있겠다.

뇌를 더 많이 활용하고 싶다면 감각적인 경험을 늘려라

공감각적 피드백을 활용하는 것도 필요하다. 설계할 때 다음과 같은 것을 해보는 것도 좋다.

  • 평상시에 쓰는 형식대로 써본다.
  • 그림을 그려본다.(UML같은 다이어그램이 아닌 일반 그림으로) 어떤 시각적 메타포가 적당할까?
  • 말로 표현해본다.
  • 팀 동료와 토론을 해본다. 질문과 비판에 응답하거나 하는 것이다.
  • 연관된 역할을 연출해본다.

역할극은 부가적인 감각을 연관시키고 다양한 형태로 상호작용하게 만든다. 입력이 하나 더 늘어나면 뇌에서 더 많은 영역을 활성화할 수 있다. 그러면 그만큼 처리 능력이 올라간다.

뇌는 끊임없이 변하는 환경에 지속적으로 적응하도록 만들어져있다. 그러니 환경을 주기적으로 바꾸고 뇌에 자양분을 주어야 한다.

R모드로 시작해서 L모드의 흐름을 타라. 처음에는 공감각적이고 실험적인 상황을 주고 우리가 '머리 전체'를 활용할 수 있게 한다. 그리고 나서 전통적인 사실 위주의 지식을 얻는 것이다.

R모드가 이끌고 L모드가 따라오게 하라

사고의 두 모드 중 어떤 것도 무시할 수 없다. 두 모드가 협력해야 한다. 주 모드는 R모드다. R모드가 원천이기 때문에 R모드에 자유롭고 제약 없는 주도권을 주어야 한다. 아이디어에 제약을 가하려는 것 때문에 창의성이 죽을 수 있는 것처럼 학습도 전체 그림을 모르는 상태에서 자잘한 것을 기억하려고 하면 제대로 되지 않는다. 서두르지 말고 전체를 봐야 한다. 그 다음 L모드로 흘러가는 것이다. 불확실해도 괜찮다. 완벽을 달성하기 위해 세부내용 하나하나를 살펴보는 것은 사람을 옥죄이고 미치게 만든다.

페어프로그래밍이 L모드와 R모드가 조화를 이룰 수 있는 방법 중 하나다. 코드를 타이핑하는 드라이버와 지시를 내리는 네비게이터가 있다. 드라이버는 L모드로 세부 코딩에 집중하고 네비게이터는 R모드로 전체 그림을 본다. 만약 페어프로그래밍을 하지 않는다면 개발하다가 자주 멈추고 키보드에서 떨어져서 볼 필요가 있다.

L모드와 R모드가 만나는 점으로 메타포를 활용하라

L모드와 R모드는 메타포에서 만난다. 유추를 만들어내는 것이다. 메타포를 이용해 어떤 추상적인 개념을 무언가 구체적이고 일상에서 찾을 수 있는 것에 연관시키면 이해하기 쉬워진다. 일관성있는 준거 체계에서 다른 예상치 못한, 양립하기 힘든 준거 체계로 급작스럽게 바뀌는 것은 강항 메타포의 기초가 된다. 이러한 두 가지 다른 틀의 결합을 이중 연관(bisociation) 이라고 한다. 이중 연관이 멀면 멀수록 창조의 크기도 더 거대해진다. 이러한 생각은 포(PO) 테크닉의 기초가 되었다. 포의 테크닉 중 하나는 무작위로 병렬배치하는 것이다. 전혀 무관한 두 단어를 매칭시키는 것 같은 일이다.

익스트림 프로그래밍에는 매력적인 실천방안, 시스템 메타포가 있다. 소프트웨어 시스템을 적절한 메타포로 연관 짓는 것이다. 메타포적인 준거 체계를 활용하면 그 자신을 시스템에 각인시킬 수 있다. 잘 이해하고 있지만 암묵적인 실세계의 속성을 그대로 소프트웨어에 전달할 수 있다. 명확한 메타포는 배우기도 쉽고 논리적으로 생각하고 코드를 확장하기도 쉽다.

현재의 맥락에서 생성력이 있는 좋은 메타포를 떠올리는 것은 어렵다. 메타포를 설계에 활용해 보고 그게 도움이 되는지 관찰해 본다. 결과물이 어느정도 불확실성이 있어도 받아 들이고 관찰하기만 한다. 이 때 도움이 되는 것은 유머이다. 서로 연관되지 않은 것을 연관시키거나 아이디어의 한계점을 넘어 확장하는 것 등이 필요하다.

강력한 메타포를 만들려면 유머 감각을 키워라

메타포를 많이 만들어보는 연습이 필요하다. 유머집이나 유의어 사전을 보는 것도 좋다.

많은 아이디어가 비언어적이다. R모드는 그 아이디어를 시각적인 형태로 울타리를 넘게 만들어야 한다. R모드의 인지를 활용하는 두 가지 다른 방법은 다음과 같다.

  • Image streaming
    • R모드의 심상에서 뭔가 얻을 수 있도록 만든 방법
    • 눈을 감고 문제거리에 대한 이미지를 떠올리고 그 이미지를 주의 깊게 바라보면 이미지에 대한 경로를 더 많이 점유하고 연결을 강화할 수 있다.
    • 이미지를 무언가로 표현하려고 함에 따라 R모드에 검색 파라미터가 많아진다.
  • Free-form journaling
    • 자유 형태로 글을 쓰는 것은 우연히 철학적인 보석을 찾아낼 수도 있다.
    • 무의미한 글도 많겠지만 핵심을 찌르는 통찰과 세상을 바꿀 수 있는 아이디어의 싹도 보인다.

Free-form journaling 기법 중 효과적인 방법으로 모닝 페이지 기법 이 있다.

  • 모닝 페이지에 그날 아침 처음 떠오른 일을 쓴다.
  • 최소한 3페이지 정도로 길게 쓴다. 타이핑하지 않고 컴퓨터도 쓰지 않는다.
  • 쓴 것을 검열하지 않는다.
  • 하루도 빠지지 않는다.

자다 일어난 상태는 아직 무의식이 중요한 역할을 하는 순간이다. R모드가 활약하기 좋을 때다. 또는 익숙하게 반복되는 순간도 R모드가 활약하기 좋다. 샤워를 하거나 설거지를 할 때 등등 많을 것이다. 중요한 것은 R모드는 절대 의도적으로 만들 수 없다는 것이다. L모드는 집중하면 작동할 수 있지만 R모드는 단지 초청만 할 수 있을 뿐이다.

어려운 문제를 풀려면 키보드에서 떨어지세요

문제를 푸는 시각을 바꾸어 보라

당신의 마음을 디버그하라

인간의 마음에서 다음과 같은 부분에서 버그가 발생한다.

  • 인지적 편향: 어떻게 생각이 나쁜 길로 이르는가?
  • 세대별 기호: 또래집단이 어떻게 영향을 미치는가?
  • 개인적 성향: 자신의 성격이 생각에 어떤 영향을 미치는가?
  • 하드웨어 버그: 뇌의 오래된 영역이 더 똑똑한 영역을 어떻게 덮어버리는가?

이러한 버그를 인식하는 것이 버그를 완화하는 첫걸음이다.

인지적 편향

이 정신적인 버그는 의사결정이나 기억, 지각, 이성 등에 영향을 미친다.

  • 고착화: 어떤 숫자를 보면 어떤 양을 추측하거나 결정하는데 영향을 미친다.
    • 100권의 책을 판다고 이야기하면 100이 각인되어 85달러에 판매할 때 85가 마치 할인된 것처럼 느껴진다.
  • 기본적 귀인 오류: 다른 사람의 행동을 상황이나 그 행동이 일어난 맥락과 상관없이 그 사람 개인 탓으로 돌리는 경향
  • 이기적 편향: 프로젝트가 성공했다면 내 덕분이라고 믿는 경향
  • 종결 욕구: 의심이나 불확실성을 빨리 해결해서 종결 지으려고 하는 욕구
  • 확증 편향: 자신의 선입관이나 좋아하는 이론에 들어맞는 사실만 보려고 한다.
  • 노출 효과: 익숙하다는 이유로 무엇인가를 좋아하는 경향
  • 호손(hawthorne) 효과 : 자신이 연구 대상이라는 것을 알 때 다르게 행동하는 경향.
    • 새로운 도구를 팀에 도입할 때, 초반에는 자신이 관찰대상이라 노력하는 자극제가 된다. 하지만 새로움이 사라지면 다시 기존으로 돌아간다.
  • 잘못된 기억: 뇌가 상상한 사건과 진짜 기억을 혼동하는 경우
  • 표상적 축소 오류: L모드는 복잡한 물체나 시스템을 나타내는 간편한 표상을 좋아한다. 그렇게 되면 문제의 본질을 놓칠 수 있다.
  • 명목 오류: 이름을 붙인다고 유용한 이해에 도달했다고 볼 수 없다.

뇌는 복잡한 시스템을 단순하고 쉽게 조작할 수 있는 표상으로 축소하려 한다. 이럴 경우 표상적 축소 오류에 빠지기 쉽다.

'드물다' 는 ' 결코 일어나지 않는다' 와 다르다.

예외를 살펴보라: '드물다'는 것이 '결코 일어나지 않는다'를 의미하지는 않는다.

불완전한 상태에서 급하게 불확실성을 제거하려 하지 마라. 결정을 내려버리면 선택사항이 줄어든다. 중요한 문제가 오랫동안 결정되지 않으면 불편해진다. 이러한 압박을 이겨내야 한다. 자연스럽게 결정에 이르면 문제가 해결될 것이다. 잘 모른다는 사실에 익숙해져야 한다.

불확실성을 편하게 생각하라

기억을 신뢰하지 말라. 자신의 오해나 편견을 유효한 것이라고 믿게 한다.

기억보다 글로 쓴 것을 신뢰하라. 모든 기억은 읽기와 쓰기가 함께 일어난다.

세대별 기호를 인지하라

자신을 또래집단과 환경이라는 맥락 속에서 봐야 한다. 사람들의 태도는 다음과 같은 축으로 나눌 수 있다.

  • 위험을 감수하는 사람 vs 위험을 피하려는 사람
  • 개인주의 vs 팀워크
  • 안정성 vs 자유
  • 가족 vs 일

4가지 세대적 전형이 존재한다.

  1. 예언자: 비전, 가치
  2. 유목민: 자유, 생존, 명예
  3. 영웅: 공동체, 풍요
  4. 예술가: 다원주의, 전문성, 의무

이 4가지 유형은 계속해서 순서대로 바뀐다. 특정 유형이 옳은 것은 없다. 맥락에 따라 적합한 유형이 존재한다.

과격한 주장을 억제하고 다양성을 열어두라

개인적 성향을 파악하라

기초적인 성격 유형을 분류하는 MBTI는 사람들의 성향을 네 가지 축의 선상 어딘가에 놓습니다.

  • 외향적 vs 내향적
    • 외향적인 사람은 사교적이다.
    • 내향적인 사람은 자기 영역을 지키려 하고 정신적 환경적으로 사적인 공간을 필요로 한다.
  • 감각적 vs 직관적
    • 감각적인 사람은 실용성과 사실을 중시하며 세부사항에 관심이 많다.
    • 직관적인 사람은 상상력이 풍부하며 메타포를 좋아하고 혁신적이며 많은 가능성을 본다.
  • 사고적 vs 감정적
    • 사고적인 사람은 규칙에 의거한 결정을 내린다.
    • 감정적인 사람은 규칙에 대해 개인적이고 감정적인 영향을 평가한다.
  • 판단 vs 인식
    • 판단형은 빠른 결정을 원한다.
    • 인식형은 결정을 내렸을 때 불안감을 느낀다.

사람마다 다른 버그를 갖고 있다는 것을 인지하라

하드웨어 결함 노출하기

진화한 생명체답게 행동하라. 숨을 쉬되, 뱀처럼 쇳소리는 내지 말라

너무 즉각적으로 반응하지 말고 고수준의 인지 사고 처리가 진행될 수 있도록 시간을 두어라

직관은 강력하지만 크게 틀릴 수도 있다. 직관이 전문가의 경험일 수 도 있지만 선입견이나 편견일 수 도 있다. 그렇게 때문에 반드시 검증이 필요하다.

직관을 신뢰하되 검증하라

검증은 프로토타입을 만들어 단위 테스트를 돌려보거나 벤치마크 그래프를 그려볼 수도 있다. 자기 자신에게도 단위 테스트가 필요하다. 다음과 같은 질문을 해볼 수 있다.

  • 어떻게 알았는가?
  • 누가 말한 것인가?
  • 구체적으로 어떠한가?
  • 내가 하고 있는 일이 당신에게는 어떤 영향을 주는가?
  • 무엇이랑 비교하면? 혹은 누구랑 비교하면?
  • 항상 일어나는가? 예외는 없는가?
  • 당신이 했다면 어땠겠는가? (혹은 당신이 한 일이 아니라면?)
  • 무엇 때문에 못하는가?

무언가를 정의했다면 그 반대도 정의해 보라. 이를 통해서 정의한 것에 대해 더 깊이 파고 들어서 더 비판적이고 사려 깊게 살펴볼 수 있다.

마지막으로 모든 결정에 대가가 따른다. 동전에는 언제나 양면이 있기 때문에 어떤 대가를 치러야 하는지 자세히, 긍정적인 측면과 부정적인 측면을 모두 세심히 살펴야 한다. 그러면 상황을 좀 더 완전하게 평가할 수 있게 된다.

의도적으로 배우기

기술 자체보다는 지속적으로 배우는 것이 중요하다. 교육은 누군가에게 이끌어내짐을 당하는 것이다. 교육으로는 학습이 되지 않는다. 이유는 다음과 같다.

  • 학습은 누군가가 자신에게 해주는 것이 아니다. 자신이 직접 하는 것이다.
  • 지식을 경험 없이 그 자체로만 습득하는 것은 효과적이지 않다.
  • 목표와 피드백 없이 무작위로 접근하게 되면 무작위적인 결과를 낳는다.

SMART 목표 세우기

  • S(specific): 구체적인
  • M(measurable): 측정가능한, 점진적인
  • A(achievable): 달성할 수 있는, 적당한 수준의
  • R(relevant): 당면 과제에 적절한, 의미 있는
  • T(time-boxed): 시간제한이 있는, 마감일이 있는

목적을 달성하기 위해 SMART 목표를 만들어라

SMART 한 목표는 목적을 달성할 수 있도록 해준다. 목표를 개인적으로, 긍정적으로 구체화하면 도움이 된다. 그리고 현재 시제로 하거나 명확한 시간을 넣어서 말하는 것도 좋다. 또한, 국지적인 관점에서 목표를 바라보는 것과 함께 자신의 일과 삶이라는 넓은 맥락에서 목표가 어떤 영향을 줄지를 고려해 보는 것도 필요하다.

시간은 '남는' 시간이 없다. '~할 시간 내기' 같은 표현은 잘못된 표현이다. 시간은 만들 수도 없앨 수도 없다. 오로지 할당할 수 있을 뿐이다. 학습을 의도적으로 해내려면 적당한 시간을 할당해야 한다. 그리고 그 시간을 현명하게 써야 효율적으로 학습할 수 있다.

실용주의 투자 계획

  1. 구체적인 계획을 세우라
    • SMART 목표와 목적의 아이디어를 활용하라
    • 목표의 수준을 시간에 따라 다르게 설정하라
      • 지금 당장 할 수 있는 일
      • 내년의 목표
      • 5년 후의 목표
  2. 다각화하라
    • 위험과 수익의 비율을 고려하여 분산시켜라
  3. 적극적으로, 수동적이지 않은, 투자를 하라
    • 계획을 늘 냉정하게 평가하고 어떻게 되어가고 있는지 현실적으로 판단해라
  4. 정기적으로 투자하라 (매입 비용 평균화)

의도적인 학습을 위한 투자를 계획하라

학습자의 유형

  • 시각적: 자료나 강사를 봐야 한다. 그림이나 그래프가 좋고 몸짓과 표정에 민감하다.
  • 청각적: 자료를 들어야 한다. 강의나 세미나, 팟캐스트 등이 좋고 목소리의 성조, 속도, 뉘앙스 등에 따라 차이가 생긴다.
  • 운동감각적: 움직이거나 만지면서 배운다. 자료에 대해 물리적인 경험을 할 필요가 있다.

자신에게 맞는 최고의 학습 방법을 찾아라

스터디 그룹은 아주 유용한 학습 방법이다. 형식을 갖춘다면 의도적인 단계를 밟을 수 있다.

  1. 제안 요청하기: 관심사를 모아 놓고 넓은 다양성을 가진 주제를 요청하라
  2. 선택하기-리더의 역할: 스터디 그룹을 이끌 수 있는 누군가가 필요하다. 배우는데 있어서 열정적이어야 한다.
  3. 책 구매
  4. 점심 모임 계획: 점심시간에 이야기한다.

서로 배우고 가르치기 위한 스터디 그룹을 만들어라

의도적으로 독서를 하고 학습 교재를 요약하는 더 나은 방법들

SQ3R 기법

  1. 훑어보기(Survey): 목차와 장 요약을 훑어보면서 전체적인 개요를 파악한다.
  2. 질문(Question): 생각나는 질문들을 적어놓는다.
  3. 읽기(Read): 전체를 다 읽는다.
  4. 낭송(Recite): 요약하고, 메모하고, 스스로 표현해 본다.
  5. 복습(Review): 다시 읽고, 메모를 확장하고, 동료와 토론한다.

테스트 주도 학습

  • 같은 소재를 읽고 또 읽는 것은 뇌의 자극면에서 매우 지루하다.
  • 공부하고 있는 언어로 프로그램을 짜보거나 동료에게 신기술의 핵심을 설명해보라.
  • 자신이 학습한 것을 기억하고 있는지 반복적으로 테스트 하는 것이 효과적이다.
  • 뇌의 망각곡선을 활용해서 기억을 해라.

의도적으로 읽으라

마인드맵을 사용해서 패턴과 관계를 찾고 탐험하기

단순히 메모만 하는 것은 부족하다. 다양한 색과 표현력으로 마인드맵을 그린다. 다른 질감의 종이, 다른 타입의 펜들을 활용하면 보다 R모드를 살릴 수 있다. 계층구조로 그리는 것은 피해야 한다. 공간적인 단서를 강조해라. 이 정보가 어디에 위치해야 하는지를 고민하면서 더 의미있는 활동을 하게 된다.

프로그램을 이용하지 말고 손으로 그려야 한다. 정제되지 않은 메모를 공식적인 메모로 변환하면서 정제하는 과정이 가장 중요한 가치를 가진다.

R모드와 L모드를 모두 사용해서 메모하라

마인드맵은 무엇을 찾아야 할 지 정확히 알지 못할 때 가장 효과적이다. SQ3R을 하면서 메모할 때 마인드맵으로 기록한다면 복습단계에서 다시 마인드맵을 그려본다. 그러면 기억을 새롭게 하는데 훨씬 더 효율적일 것이다.

마인드맵은 불확실한 문제를 해결하는데 도움을 줄 수도 있다. 상징적인 단어들로 핵심 아이디어를 표현하면서 빠르게 그린다. 주제가 뭔지도 모르는 영역에서 작업을 한다면 마인드맵은 광범위한 생각들을 긁어 모으는데 아주 큰 도움이 된다.

문서화의 진짜 힘을 활용하라

자신의 주의를 내부로 돌리면 마인드맵을 할 떄와 마찬가지로 뇌에 번쩍하는 아이디어가 떠오르게 하는 어떤 조건을 갖추게 된다. 그래서 문서화는 문서보다 더 중요하다. 특히 손으로 문서화를 할 경우 R모드의 처리가 강화된다. 또한 나중의 활동을 위한 마음의 준비가 된다.

글을 써라: 문서화는 문서보다 중요하다.

가르치며 배우기

버그를 발견했을 때 동료에게 설명을 해본다. 동료가 짜증낼 수도 있지만 설명하는 중에 버그를 찾을 수도 있을 것이다. 아니면 다른 분야의 사람에게 설명하는 것도 좋다. 그리고 듣는 사람의 관점에서 사물을 보고 학습 자료를 명확하게 표현할 수 있는 메타포를 개발하는 것은 좋은 훈련이 된다. 마지막으로 더 크고 활발한 청중을 대상으로 가르치는 시도를 해보는 것도 좋다.

보라, 하라, 가르쳐라

지속적으로 되새겨보는 것은 학습에 아주 효과적이다.

경험 축적

우리는 단순히 정보를 받아들이기보다 스스로의 정신적인 모델을 형성하도록 설계되어 있다. 문제를 찔러서 탐험하고 '익숙해질' 수 있어야 한다. 재미도 매우 중요하다. 새로운 것을 활용하거나 문제를 풀 때 재미있는 방법을 찾으면 더 즐겁게 할 수 있지만 더 배우기 쉽게 만들어주기도 한다. 중요한 것은 학습 프로세스에 자기 스스로를 흠뻑 빠지게 하는 것이다. 언어적으로, 시각적으로, 음악적으로, 수학적으로, 온 몸의 동작으로, 손가락의 작은 움직임으로 하는 것이다.

더 많이 배우려면 더 많이 놀아라

새로운 기술을 배울 때 기존의 지식을 활용하는 것을 경계해야 한다. 물론 이전의 해결책에서 유사성을 찾는 작업은 유용하다고 할 수 있다. 위험한 것은 짬뽕된 접근법에 고착되어 새로운 기술을 완전히 받아들이지 못하는 것이다.

유사성에서 배우고, 차이점에서 배운 것을 버려라

실패는 성공에 필수적인 요소이다. 배우기 위해서는 자유롭게 탐험하는 것이 필요하다. 하지만 탐험은 상대적으로 위험으로부터 자유로워야 한다. 시도하는 것을 두려워 하면 안된다.

자신의 환경에서 탐험하고, 발명하고, 적용하라, 안전하게

이너게임

어떠한 학습도 이끌어내 내지 못한 실패를 경험 했을 때, 실패를 인지하고 극복하려면 이너게임을 알아야 한다. 이너게임을 이해하면 학습을 방해하는 요소를 제거하고 학습을 도와주는 좋은 피드백을 강화할 수 있다. 우리는 지시가 아니라 발견을 통해서 배운다.

상황적인 피드백은 이너게임의 주요한 기법으로, 방해를 제거하여 더 효율적으로 학습할 수 있게 해준다. L모드를 활용하는 것이 아니라 스스로 인지하는 것이다. 개별 세부사항을 보는데 집중하지 말고 그저 인지하게 두는 것이다. 바로 잘하려고 하기보다 무엇이 잘못됬는지 알아차린 뒤 교정하는 것이다.

판단하지 말고 지켜본 후 행동하라

압박은 인지를 죽인다. 시야는 좁아지고 다른 선택사항을 고려하지 못하게 된다. 더 나쁜 것은 R모드의 활동이 거의 차단된다.

실패를 허락해야 한다. 실패를 허용하는 것이 성공으로 이끈다.

스스로에게 실패를 허락하라. 그것이 성공으로 가는 길이다.

압박이 사라지면 주의력이 더 높아진다. 편안해지고 그저 관찰하게 된다. 실패 허용 지대를 만들어라.

대부분의 인지는 예측에 기초한다. 그리고 예측은 상황과 과거의 경험을 기반으로 한다. 이것이 심할수록 현재의 실시간 입력은 뒷자리로 물러난다.

실력을 끌어올리려면 기술 수준이 높은 사람들에게 둘러싸여 있어라. 우리는 타고난 모방자다.

마음속으로 성공을 그려라

성공의 느낌에 익숙해지는 것은 처음에는 성공한 척이라도 할 가치가 있을 만큼 중요하다. 즉, 그 수준에서 해내는 법을 배웠을 때 경험할 것 같은 조건을 인위적으로 만들어 보는 것이다. 경험한다고 상상하는 것으로도 마치 정말 그걸 해본 것처럼 효과적으로 배울 수 있다. 뇌는 그 차이를 모른다.

초점 유지하기

원하는 정보에 집중할 수 있어야 하고 쏟아지는 정보를 걸러내고 적시에 정확한 정보를 잡아낼 수 있어야 한다.

주의집중력 향상

시간은 부족한 것이 아니라 할당하지 않는 것이다. 즉, 주의력 이라는 자원이 부족하면 뭔가를 놓치게 된다. 명상을 하면 명상을 하는 순간 이외의 시간에서도 주의력을 향상시켜준다.

주의를 기울이는 법을 배우라

  1. 조용한 곳으로 간다. 산란하게 만드는 것이나 방해 요소가 없는 곳이다.
  2. 등을 쭉 펴고 바른자세를 하고, 몸에서 긴장하고 있는 부분이 있다면 그 긴장을 푼다.
  3. 눈을 감고 호흡에 집중한다. 공기가 몸으로 들어왔다 나가는 작은 지점에 집중한다.
  4. 호흡의 리듬을 느낀다. 들숨과 날숨의 길이와 퀄리티, 주기 등을 느낀다.
  5. 호흡에 모든 정신을 집중한다. 자신과의 대화도 하지 않는다.
  6. 문득 자신이 어떤 주제에 대해 생각하거나 자신과의 대화를 하고 있는 것을 발견한다면 흘려보낸다.
  7. 마음이 방황한다면 다시 돌아오는 연습을 한다.

집중하기 위해 집중을 풀어라. 의식적으로 문제를 흘려보내서 그 문제가 생각에 절여지게 만들어야 한다.

생각할 시간을 만들어라

지식 경영

외부 뇌세포를 구축한다. 예를 들면 개인 Wiki가 있다. 생각을 절이고('소금에 절인다' 할 때 절임을 의미) 분류하고 발전시키고자 할 때 가장 효과적인 도구가 될 수 있다.

위키를 이용해 정보와 지식을 관리하라

메모를 위키에 옮겨 쓰면 뇌가 그 자료를 기억하는 데 도움이 된다. 회의나 교육에서 적은 메모를 옮겨 쓰는 것만 해도 그 자료를 두 번 깊이 있게 노출하는 것이기 때문에 신경망의 연결을 강화할 수 있다. 그것을 더 많이 다룰수록 전에 인지하지 못했던 새로운 관계나 패턴을 많이 발견할 수 있다. 그리고 그 중 더 재미있는 부분을 마인드맵을 그린다든지 해서 통찰을 이끌어내고 다시 위키에 적을수도 있다. 의도적으로 패턴을 찾을 수 있게 되는 것이다.

현재 맥락의 최적화

맥락은 지금 작업 중인 것과 관련돼서 현재의 단기 기억에 올라와 있는 정보의 집합이다. 컴퓨터와 다르게 인간은 컨텍스트스위칭이 어렵다. 컨텍스트 스위칭이 반드시 필요한 경우 의식적으로 하는 것이 방법이 된다. 현재 작업중인 것을 닫고 심호흡을 한 후 새로운 활동에 정면으로 마주하는 것이다.

작업을 효율적으로 조직화하고 처리하기 위한 세 가지 핵심적인 관점이 있다.

  1. 입력은 단 한번만 훑는다. 한 번 훑어보고 나서 새로 들어온 것을 분류해서 필요한 곳에 넣는다.
  2. 각 일 더미를 순서대로 쌓고 처리하라.
  3. 머릿속에 목록을 담지 마라. 동적으로 머릿속의 목록을 되새기는 것은 아주 비용이 큰 작업이다.

인터럽트를 의식적으로 처리하는 방법으로 다음과 같이 제안한다.

  1. 프로젝트의 작업 규칙을 설정하라
    • 프로젝트를 시작하기 전에 다른 작업들을 먼저 끝낸다.
    • 하루 중 아무 방해도 받지 않는 시간을 설정한다.

인터럽트를 관리하기 위해 작업 규칙을 세우라

  1. 이메일을 통제하라
    • 이메일 알림을 끈다.
    • 수신 알림 주기를 올린다.
    • 이메일을 더 적게 보낸다.

이메일을 더 적게 보내라. 그러면 더 적게 받을 것이다.

이메일 대화를 위한 자신만의 템포를 선택하라

  1. 컨텍스트스위칭의 물리적인 비용을 높여 정신적인 비용을 떠오르게 한다.
    • 노트북을 배터리로 동작하면 쉽게 노트북을 닫고 일어날 수 있지만 전원과 냉각패드 등을 연결해놓으면 귀찮아서 잘 안일어나게 된다.
  2. 집중하는 기간에 DND(Do Not Disturb) 를 설정한다.

집중을 유지하기 위해 인터럽트에 마스크를 씌워라

  1. 스택을 저장하라. (인터럽트에 대비하라)

    • 인터럽트를 받게 될 것이라는 신호를 받았을 때 현재 작업 중이던, 생각하던 내용과 관련된 몇 개의 단어를 재빨리 끄집어 낸다.
  2. 모니터를 여러 개 쓴다.

모니터를 여러 개 쓰면 컨텍스트 전환을 피할 수 있다.

  1. 작업 초점 유지하기
    • 한 화면에 비슷한 컨텍스트의 것들로만 구성한다.
    • 커뮤니케이션 화면, 코딩화면, 웹서핑화면 등등

컨텍스트를 최대화하기 위해 개인 작업흐름을 최적화하라

정신을 똑바로 차리는 방법

  • 재잘거리는 L모드를 입 다물게 하는 법을 배운다.
  • 과정 중에 의식적으로 일하고 생각을 더해간다.
  • 컨텍스트스위칭이 얼마나 비싼지 자각하고 비용을 줄인다.
© 2020 by Kyunghwa Yoo.