효과적으로 공부하기 (feat. 프로그래밍, 어떻게 공부할 것인가?)

EenSung Kim·2021년 10월 11일
1


intro

프로그래밍을 공부하다 보면 '역시 이쪽도 재능의 영역일까?' 싶은 생각이 들기도 합니다. 오늘은 마인드스케일의 "프로그래밍, 어떻게 공부할 것인가" (김창준 애자일 컨설팅 대표) 라는 제목의 강의를 토대로, 효과적으로 프로그래밍을 공부하는 방법에 대해 정리해보려고 합니다.


공부하다 보면 드는 생각들

부트캠프 과정 동안 여러 가지 고민이 있었습니다. 이런 저런 생각들로 방해받을 때가 많았거든요.

  • 이과적 머리가 역시 따로 있는걸까?
  • 실력이 늘고 있는걸까?
  • 이렇게 공부하는게 맞을까?

다양한 질문인 것 같아 보여도 결국 핵심은 하나입니다. 성장해나가고 있는지에 대한 확신이 부족한 것이죠. 나보다 이해가 뛰어난 동기 수강생들을 만나거나 내용이 하나도 이해되지 않을 때 이런 의심이 커져 갑니다. 그리고 의심이 어느 수준에 도달하면 '이제라도 포기하고 다른 것을 알아봐야 하나' 고민하게 되죠.


고민 해결 어떻게 했었나?

좌절감이 찾아올 때면 아내에게 고민을 털어놓곤 했습니다. 아내는 지금도 충분히 잘 하고 있다면 격려해줬죠. (본격 결혼 장려글?!)

가끔은 블로그에 작성했던 글들을 돌아볼 때도 있었습니다. 아 내가 이때는 이랬구나, 변수가 뭔지도 몰랐던 때가 있는데 참 많이 성장했구나 하며 스스로를 다독일 수 있었습니다.

어떻게든 부트캠프를 잘 마쳐야겠다는 다짐으로 고민을 돌파하기도 했습니다. 여기까지 왔는데 이제 와서 포기할 수는 없다는 마음이었죠.

아마 많은 분들이 나름의 방식으로 고민을 해결하고 계실 겁니다. 코드스테이츠에서는 학습에 대한 고민이 있을 때 교육 엔지니어 분들과 대화할 수 있는 통로를 제공하고 있는데요. 이런 기회를 활용하는 것도 방법이 될 수 있습니다.


효과적인 공부 방법

그러나 앞서 말한 방법들은 다 정서적인 안정감에 관한 것입니다. 정서적인 안정감이 물론 중요하지만 실제로 효과적인 공부 방법을 몰랐던 것은 아닐까요? 강의에서는 인지심리학의 한 분야인 "전문성 연구(Expertise Research)"를 통해 효과적으로 공부하는 방법에 대해 이야기하고 있었습니다.

공부에는 왕도가 없다는 말이 있지만 비교해서 더 효과적인 공부방법이 반드시 존재합니다. 어떤 내용을 단순히 여러 번 반복해서 읽는 것보다는, 다양한 테크닉을 적용할 때 더 빠르게 실력이 성장할 수 있다는 것이죠.

여러 내용 중에 제가 개인적으로 적용해봐야겠다 싶었던 몇가지 테크닉을 정리해보겠습니다.

분산 반복

분산 반복이란 공부를 하면서 어떤 내용을 시간적인 간격을 두고 읽어나가는 것입니다. 하나의 내용을 한 번에 오랜 시간에 걸쳐 공부하지 말라는 것이죠.

섞어서 공부하기

섞어서 공부하기란 순서대로가 아닌 뒤죽박죽으로 공부하는 방법입니다. 자바스크립트 공부를 예로 들자면, 변수를 공부했다가 함수를 공부했다가 객체를 공부했다가 하는 식이 되겠죠.

시험 치기(혹은 질문하기)

내가 공부한 내용이 무엇인지, 책 또는 자료를 덮어두고 질문을 정해 대답해보는 과정입니다.


핵심 내용

앞서 말씀드린 여러 테크닉에는 모두를 관통하는 이론적인 핵심이 있습니다. 사람은 망각과 실패를 통해 성장하며, 해당 주제에 관해 얼마나 고민했는지에 따라 성장한다는 것입니다.

분산 반복의 테크닉을 예로 들어보겠습니다. 사람들은 분산 반복으로 공부하면 효과가 떨어진다고 느낀다고 합니다. 분명히 공부했던 내용인데도 잊어버리기 때문이죠. 기존에 공부한 내용을 자꾸 까먹으니 실패한다고 생각하고, 이러한 테크닉이 효과가 떨어진다고 느끼는 것입니다.

그러나 실제로는 이렇게 까먹는 실패의 경험이 장기적으로 더 오래 기억할 수 있는 단초가 된다고 합니다. 효율적이지 않다고 본인이 느끼는 것과는 다르게 실제로는 더 오래 기억하게 된다는 것이죠. 섞어서 공부하는 것, 시험을 치거나 질문하는 것도 비슷합니다.

실패하는 경험에 자발적으로 뛰어들고 이를 반복하는 과정이 필요합니다. 그리고 이러한 과정 속에서 공부하고자 하는 주제들에 관해 직접 고민하고 사고해야 합니다.


outro

그동안 블로깅을 하면서 가능한 오류가 없는 글을 쓰기 위해 여러 자료를 늘어놓고 참고하며 블로깅을 진행했습니다. 이 과정을 통해 저 또한 공부를 하고 있다고 생각했지만, 자신감만 생겼을 뿐 실제로는 효과적이지 못한 공부 방법이라는 것을 알게 되었네요. 성장하는 기록으로써의 블로깅과 공부 방법으로써의 블로깅을 분리해야겠다는 생각이 들었습니다.

효과적인 프로그래밍 공부에 대해 더 자세한 내용이 궁금하시다면 위의 강의를 참고해보시는 것도 좋을 것 같습니다. (비용이 저렴한 편은 아닙니다;;)

profile
iOS 개발자로 전직하기 위해 공부 중입니다.

2개의 댓글

comment-user-thumbnail
2021년 10월 19일

항상 블로그 글 잘 보고 있습니다 !

1개의 답글