지식
으로 반영구적으로 저장하는 공간 (ex : 언어의 문법 지식 등)정보
를 수집할 때 일시적으로 저장하는 공간사람의 STM은 정보를 최대 6개까지만 저장이 가능하다.
그런데 LTM 내 지식이 풍부할수록, (코드를 읽는 도중에서 얻는) 많은 정보를 청크
라는 하나의 묶음
으로 STM에 저장이 가능해진다. 즉, STM 과부하가 적어진다.
실험 결과 가장 긴 간격을 두고 반복했던 그룹이 더 기억하는 비율이 높았다. 즉, 오랜 간격을 두고 학습해야 한다.
(연습을 긴 시간에 걸쳐 정기적으로 고르게 하자.)
ex) cs 공부 2달에 1번씩 복습하기
개인 경험 상으로도 cs 면접 대비할 때, 화이트 보드에 직접 설명하는 방식 (두뇌 인출 방식)이 단순히 책이나 그림만 보는 것보다 몇배는 효과적이었다.
실험 결과 풀이된 예제
(해답, 레시피 등)를 분석해서 학습한 그룹이 스스로 문제를 풀면서 학습한 그룹보다 학업 성과가 좋았다. 전자의 경우는 일반적인 규칙을 새로운 문제에도 적용할 수 있었지만, 후자의 경우는 당면한 문제에 더 집중했다고 한다.
개인적인 경험에서도, 일주일 동안 끙끙 고민해도 안 풀리는 알고리즘 문제는 안풀리더라. 그래서 공부 방식을 바꿔서 고민하는 시간을 30분으로 줄였다. (30분 내로 방향이 안 잡히면 내 지식 커버 범위가 아니라고 봤다.)
예를 들자면, 선형 탐색만 알고 있는 사람은 해당 방법으로만 문제를 풀려고 할 것이다. 그런데 요구 사항이 시간 복잡도 log(n)이라 하자. 과연 이 사람이 계속 끙끙 앓아도 해당 문제를 풀 수 있을까? 대부분은 무리일 것이다. 이 경우엔 이분 탐색이라는 새로운 지식을 학습하는 게 더 효율적이다.
즉, 단순히 생각을 바꾸라는 등의 사고 전환 요구는 비효율, 비현실적인 방식이다. 생각을 바꾸려면 일단 많이 알아야 한다. 많이 알아야만, 알고 있는 여러 가지를 조합해서 새로운 생각을 해낼 수 있는 것이다.
검색 : 코드베이스 살피기 + 특정 정보 검색하기 -> STM 부하 초래
(노트 또는 주석문을 활용하여 코드를 살펴본 이유를 적어 놓으면 도움이 된다.)
이해 : 코드 읽기 + 이해하기 -> 작업 기억 공간 부하 초래
전사 : 단순 코딩 -> LTM 부하 초래
증가 : 검색 + 이해 + 전사 -> 세 곳 모두 부하 초래
탐구 : 코드 작성 + 실행 + 테스트 수행 + 리팩토링 등 -> 세 곳 모두 부하 초래
작업에 몰입하다가 누가 질문하는 등의 일이 생기면, 그 몰입의 흐름이 끊긴다. 이를 중단
이라 한다.
이를 대비하는 방법은 다음과 같다.
1. 주석문을 활용하여 코드의 목표
, 해당 접근 방식을 선택한 이유
와 같이 왜 이런 결정을 하게 됬는 가
를 적어 놓자.
2. 나중에 뭐 해야할지 메모하자.
3. 하위 목표를 주석으로 작성해 놓자.
하위 목표를 예를 들면, 다음과 같다.
# 파일 읽기
# 파싱 하기
# 파일 닫기
새로운 팀원은 도메인, 코드베이스 등 기존 팀원보다 모르는게 너무나 많다. 그래서 적응하기 어려워하는 사람이 많다. 이 경우엔 검색
, 이해
, 전사
, 증가
, 탐구
모두를 새 팀원에게 시키면 멘붕이 온다. 따라서 이 5가지 종류 중 하나를 선택해서 하나씩 해결하게 하자.
별점 : 4.5 / 5