학습의 본질, 내 학습 방법

img
자유를 만끽하는 모습

부스트 캠프 챌린지가 끝나고 난 후 워터파크도 가고, 집에서 뒹굴거리기도 하고.. 한 달 동안 쉬지 못한 만큼 푹 쉬었다. 거의 일주일 만에 본격적으로 뭔가를 해보려 했고, 챌린지가 끝난 시점에서 적었던 내 학습 방향을 다시 읽어 봤다.

우선 내가 사용할 언어인 JS에 대해 깊은 이해를 가지려 한다. 물론 파도 파도 끝이 없겠지만 내가 이 언어로 잘 말하는 데 지장이 없을 때까지 이해를 할 것이다. 그리고 객체지향, 함수형에 대해 이해하고 디자인 패턴, 아키텍처 패턴에 대해 알려고 할 것이다(JS라는 언어로 내가 이해한 걸 설명해 보면서). 그 후에 다시 챌린지에서 했던 16개의 프로젝트를 리팩토링할 것이다. (다른 사람들의 코드도 보면서)

‘자! 그럼 이제 시작해 볼까?’ 하면서 “모던 JS 딥 다이브”를 꺼냈다. 단순히 순서대로 읽으려 해서 그런지 글도 잘 안 읽히고, 이게 맞나.. 싶었다. 챌린지에서 내가 뭔가를 빨리 배운 방법은 뭐였지? 그 당시 문제를 해결하기 위해 알아야 할 사전 지식에 대해서 빠르게 학습하고, 그것에 대한 실습을 진행했다. 하지만 지금 그 실습을 잘하기 위해서 JS 학습을 진행하고 있지만 이게 양도 방대해지다 보니 며칠이 걸리게 되고, 단순히 이 책의 완독을 위한 학습이 되어버렸다는 것이다.

기간이 길어지게 되니 본질을 잃어버리게 됐다. 본질은 학습은 써먹기 위해 궁금한걸 알게 되는 과정이어야 한다는 것이다. 막연히 내 성장을 위한 학습이라 생각을 하니 당장에 와닿지 않고, 언젠가는 알게 될 것이라는 나태한 습관이 날 방해한다. 그렇다고 이론을 버리자는게 아니다. 체계적인 학습은 분명히 필요하다. 기말고사의 벼락치기와 부스트 캠프 챌린지를 떠올리며 다시 한번 내 학습방법을 정리해보자.

  1. 먼저 진행할 프로젝트를 구체적으로 정하고, 프로젝트의 마감일을 정한다.
  2. 해당 프로젝트를 위해 알아야 할 사전 학습을 정한다. 인지
  3. 마감일 까지 프로젝트를 가장 잘 마무리 짓기 위해 필요한 것들을 프리쉘처럼 재귀로 채운다. 이해

프로젝트를 정하고, 그 프로젝트를 진행하기 위해서 다시 책을 읽으니 한 문장을 이해하는게 즐겁다. 당장의 원하는 동작을 위해서 무작정 삽질을 했던 시간들이 거의 무의미하다는 것을 느끼고 있다.