배우고 익혀야 할 것들은 산더미처럼 많은데, 시간은 아무리 아껴도 부족합니다. 이런 생각들이 쌓이고 쌓이면 눈깜짝할 새에 불어나 그 압박감에 압도당하고 맙니다.

때문에 어떤 것들을 배우고 어떤 것들을 포기하거나 뒤로 미룰 것인가- 라는 과제는, 지식을 습득하는 것보다 더 중요하다고 생각합니다. 활용할 수 없는 지식을 많이 아는 것보다는 적게라도 제대로 활용할 수 있는 지식을 아는 게 좋겠죠.

이는 물론 당연한 이야기이지만.. 여기에 제 사족을 더해 학습 주제를 선정하는 기준과 배운 것들을 어떻게 정리하면 좋을지에 대해서 이야기해보겠습니다.

두 가지 기준 - 범용성과 중요도

제가 제시하는 방법은 업무의 우선 순위를 정하는 방법과 비슷합니다. 범용성중요도의 두 가지 기준을 가지고 나누는 것이죠. 이 기준을 적용하면 배우고자 하는 지식은 다음과 같이 나누어집니다.

  • 범용적이면서 중요한 것
  • 특수하지만 중요한 것
  • 범용적이지만 중요하지 않은 것
  • 특수하면서 중요하지 않은 것

위에서부터 차례대로 하면 됩니다.

범용적인 지식은 특정 기술 도메인에 관계없이 적용될 수 있는 일반적인 지식을 의미합니다. 아키텍처 패턴이나 프로그래밍 패러다임같은 것들을 예로 들 수 있겠죠.

범용성은 독립적인 요소인 반면 중요도는 현재 내가 처한 상황에 따라서 달라질 수 있습니다. 가령 당장 3D 시각화 앱을 만들어야 하는 사람은 컴퓨터 그래픽스가 중요하겠지만, 금융 서비스 앱을 만드는 사람에게는 중요하지 않겠죠. 현재 진행하고 있는 프로젝트나 관심사에 따라 적절하게 설정하면 됩니다.

배우면서 정리하기

학습 효율의 극대화를 위해서 배운 내용을 어떠한 형태로든 정리하는 것을 권합니다. 이전 글에서도 이야기했던 것처럼, 인출 효과는 학습에 큰 도움이 됩니다.
제 경험을 예로 들면, Dagger2 튜토리얼을 따라 하면서 각각의 단계마다 노트를 작성해서 Commit하는 식으로 공부를 했습니다. 핵심적인 문구들은 인용구로 옮기고, 머릿속에서 정리된 내용을 표현할 때는 리스트로 작성을 했습니다.

Dagger Note

제안 - Notion을 활용하자

우선 순위에 따라 분류를 하고 배운 내용을 정리하는 것에 더해, 이러한 과정을 관리하고 배운 내용을 체계적으로 저장할 방법이 필요합니다. 몇 가지 고민 끝에 가장 괜찮겠다 싶은 방법은 Notion의 칸반 보드를 활용하는 것이었습니다.

Notion Board

전체적인 관리는 다음과 같은 방식으로 이루어집니다.

  • Property로 범용성와 중요도를 두고 아직 배우지 않은 것들을 모두 Not Started에 추가합니다.
  • In Progress인 카드는 하나로 제한합니다. In Progress가 비어있지 않을 경우 그 주제에만 집중합니다.
  • In Progress가 비어있을 경우 Not Started의 상위에 있는 것들에서 하나를 가져옵니다.

Notion을 사용했을 때의 또 다른 장점은, Notion이 근본적으로 문서를 기록하고 저장하는 툴이기 때문에 공부한 내용을 정리하기에도 좋다는 점이죠.

  • 학습을 하면서 In Progress의 카드에 학습한 내용을 기록합니다.
  • 학습을 완료하면 In Progress의 카드를 Completed로 이동시킵니다.

그 동안 배운 내용을 살펴보고 싶을 때는 아래와 같이 View를 List로 변경해서 볼 수도 있습니다.

Notion List

정리

끊임없이 학습을 해야하는 시대에서, 학습 주제를 선별하고 체계적으로 지식을 기록하는 자기만의 방법을 가지고 있다면, 범람하는 지식의 홍수를 헤쳐 나가기가 한결 수월할거라고 생각합니다.

여기에서 소개한 내용들이 글을 읽는 여러분들에게 맞지 않거나 혹은 마음에 들지 않을 수도 있습니다. 그렇다면 스스로 이런 주제에 대해서 고민해보시고, 공유해주시면 감사하겠습니다 :)