목적의식 있는 연습을 통한 효과적인 학습

May.02.2019 박재성

Education

나는 우아한형제들에서 우아한테크코스(이하 우테코) 교육 과정을 진행하고 있다. 우테코를 설계하면서 고민스러웠던 부분 중의 하나는 ‘선발 과정을 어떻게 하면 의미 있는 시간으로 만들 것인가?’였다. 보통의 선발 과정은 경쟁을 통해 누군가를 선발해야 하는 것이 가장 큰 목적이다. 선발도 중요하지만 선발 과정에서 배움을 만들고 성장할 수 있는 시간으로 만들어 보고 싶었다. 이 목표를 달성하기 위해 선발 과정에 프리코스라는 3주간의 과정을 추가했다.

우테코는 지식 중심의 교육 과정이 아니다. 경험 중심의 교육 과정으로 매주마다 미션을 부여하고, 이에 대한 피드백을 받는 방식으로 진행한다. 약간은 생소한 교육 과정이기 때문에 본 과정을 미리 경험해 보는 단계로 프리코스를 추가한 이유도 있다. 이 과정을 통해 지원자는 본 과정을 미리 경험해 보면서 교육의 참여 여부를 결정할 수 있고, 우테코는 본 과정을 소화하는데 어려움이 없는지 판단하는 시간으로 설계했다.

지난주에 모든 선발 과정이 끝났다. ‘선발도 진행하면서 그 과정에서 배움과 성장을 만들어 보겠다.’는 처음의 목표를 일정 부분 성공한 측면이 있어 공유하려고 이 글을 시작한다.

목적의식 있는 연습이란?

이를 평생 닦는다고 이를 닦는 기술이 좋아지는가? 20대 이후부터 운전을 한다고 운전 기술이 나아지는가? 나는 평생 동안 같은 방법으로 이를 닦는다. 20년 이상 운전을 했지만 아직도 주차할 때 전진과 후진을 반복하는 경우가 다반사이다. 몸치인 아내가 에어로빅을 시작한 지 10년이 되었지만, 웨이브는 뻣뻣하고 다이어트도 성공하지 못했다. 체중이 늘지 않으면 다행이다.

우리는 최초 무엇인가를 배울 때 책, 인터넷, 교육 기관을 통해 전반적인 개념, 기술을 익히고 배운다. 일정 수준에 도달할 때까지 반복 연습을 한다. 연습을 반복하다 보면 의식하지 않아도 기계적으로 할 수 있는 수준에 도달한다. 만족해하며 자신이 연습한 일을 즐기며 기계적으로 반복한다. 이렇게 5년, 10년을 반복해 경험을 쌓으면 자연스럽게 역량이 향상되리라 믿는다. 우리가 학습과 관련해 흔히 잘못 알고 있는 오해이다. 운전을 하고, 피아노를 연주하고, 테니스를 치는 것이 연습이라 생각하고 반복한다. 하지만 기계적으로 같은 연습을 반복한다고 해서 역량이 좋아지지 않는다.

자신이 새로운 무엇인가를 배울 때를 떠올려 보자. 시작하는 단계는 익숙하지 않기 때문에 상당히 의식적으로 노력해야 한다. 긴장감 때문에 몸이 굳어지거나 부자연스러운 경험을 한다. 하지만 반복 연습을 하다 보면 의식하지 않아도 기계적으로 할 수 있는 단계가 된다. 이와 같이 몸이 굳어지고, 부자연스러운 상태를 벗어나기 위해 의식적으로 노력하는 순간이 진정한 배움과 학습이 일어나는 순간이다. 내가 현재 수준에 만족하고 더 이상의 의식적인 노력을 하지 않는다면 그 순간 성장이 멈추는 단계이다. 무작정 반복하고 경력을 쌓는다고 해서 성장하지 않는다. 20년 경력의 의사가 5년 경력의 의사보다 환자의 병을 잘 진단한다고 볼 수 없다. 경력을 쌓는 과정에서 의식적인 노력을 통해 다음 단계로 성장하기 위해 노력했느냐에 따라 달라지는 것이다.

3주라는 짧은 기간에 효과적으로 연습하도록 하기 위해 의식적인 연습을 기반으로 미션을 진행하도록 설계했다. 교육자로 살다 보니 효과적인 학습 방법에 대한 관심이 높아졌다. 효과적인 학습 방법을 찾던 중 "1만 시간의 재발견"이라는 책을 통해 의식적인 연습의 중요성을 느낄 수 있는 계기가 되었다.

이 책은 의식적인 연습과 목적의식 있는 연습을 구분해 설명하고 있다. 이 글에서 둘의 차이점을 설명하기 어려운 점이 있기 때문에 둘을 같다고 가정하고 글을 진행한다. 의식적인 연습과 목적의식 있는 연습의 차이점에 대해 알고 싶다면 이 책을 읽어볼 것을 추천한다. 이 책에서는 ‘목적의식 있는 연습’의 특징을 다음과 같이 제시하고 있다.

  • ‘목적의식 있는 연습’은 명확하고 구체적인 목표를 가지고 있다.
  • ‘목적의식 있는 연습’에는 집중이 필요하다.
  • ‘목적의식 있는 연습’에는 피드백이 필요하다.
  • ‘목적의식 있는 연습’은 자신의 컴포트 존에서 벗어날 것을 요구한다.

컴포트 존은 자신이 편안함을 느끼는 상태를 의미한다. 즉, 일정 수준의 연습을 통해 의식하지 않아도 기계적으로 할 수 있는 상태가 컴포트 존이라 할 수 있다. 우리가 헬스클럽에서 벤치 프레스를 할 때 이전에 했던 횟수보다 한 개를 더 하는 시점에 진정한 운동 효과가 있다는 이야기가 있다. 이와 비슷한 맥락으로 자신의 익숙한 환경을 깨고 벗어나려는 노력 속에서 진정한 성장을 맛볼 수 있는 것이다.

목적의식 있는 연습으로 프리코스 설계

3주라는 짧은 기간이다. 하지만 우테코에 합격하고 싶은 동기부여는 높다. 따라서 ‘목적의식 있는 연습’의 특징 중 ‘집중이 필요하다’, ‘자신의 컴포트 존에서 벗어날 것을 요구한다.’ 두 가지는 자연스럽게 달성할 수 있으리라 기대했다. 나머지 ‘명확하고 구체적인 목표’를 가지고 연습하도록 과정을 설계하고, 피드백을 준다면 ‘목적의식 있는 연습’의 특징을 달성할 수 있겠다.

매주 미션은 구현한 프로그램에 대한 기능 요구사항, 프로그래밍 요구사항, 미션 진행 요구사항 3가지로 나뉘었다. 매주 구현할 기능에 대한 요구사항의 난이도를 조금씩 높여 나갔지만 그리 어려운 문제는 아니었다. 미션 진행을 위한 요구사항은 3주 동안 다음과 같았다.

  • 기능을 구현하기 전에 README.md 파일에 구현할 기능 목록을 정리해 추가한다.
  • git의 commit 단위는 앞 단계에서 README.md 파일에 정리한 기능 목록 단위로 추가한다.

‘목적의식 있는 연습’에 집중한 부분은 프로그래밍 요구사항이었다. 지금까지 프로그래밍을 연습하면서 의식적으로 신경 쓰지 않았던 부분에 대한 제약사항을 제시했다. 제약사항은 ‘명확하고 구체적인 목표’가 되도록 하기 위해 정성적으로 제시하지 않고 정량적으로 제시했다. 매주 제약사항의 난이도를 단계적으로 높이도록 설계했다. 3주간의 과정을 다음과 같이 진행했다.

1주일 후에 과제를 제출하면 평가를 진행한다. 평가를 진행하면서 공통적으로 실수하는 부분을 2주 차 요구사항을 부여하면서 피드백으로 같이 제공했다.

프리코스_1주차_피드백.pdf

1주일 후에 과제를 제출하면 평가를 진행한다. 평가를 진행하면서 공통적으로 실수하는 부분을 3주 차 요구사항을 부여하면서 피드백으로 같이 제공했다.

프리코스_2주차_피드백.pdf

3주 과정이 끝난 후 마지막 미션에 대한 피드백을 제공했다.

프리코스_3주차_피드백.pdf

프리코스 진행 결과

3주 동안 프리코스를 진행하면서도 참여자들의 실력이 많이 향상되고 있음을 느꼈다. 3주 동안 프리코스를 진행하고 오프라인 최종 테스트를 진행했다. 오프라인 최종 테스트가 4시간이라는 짧은 시간 동안 진행하기 때문에 큰 기대를 하지 않았다. 그런데 테스트 결과는 기대 이상이었다. 3주 동안 요구한 부분을 충실하게 지키면서 최종 테스트를 진행했다. 그중 2개의 테스트 결과물을 공유해 본다.

응시자 1

응시자 2

테스트 시간이 4시간밖에 되지 않았는데 README.md 파일에 구현할 기능 목록을 정리하고, 기능 단위에 따라 커밋 로그를 작성한 점이 인상적이었다. 구현한 코드 또한 프로그래밍 요구사항을 충실히 지키면서 구현하려고 노력한 모습을 보면서 3주 동안 정말 열심히 연습했다는 인상을 받을 수 있었다.

프리코스 참여 후기

선발 과정에서도 배움과 성장을 만들어보려고 최초 목표를 달성했는지의 여부는 오프라인 최종 테스트 결과물을 통해 느낄 수 있었다. 또한 3주 차 프리코스를 끝낸 후, 최종 발표 이후 참여한 친구들의 참여 후기를 통해서도 느낄 수 있었다. 참여 후기 중 일부를 공유함으로써 프리코스 과정에 참여하는 동안 이 친구들이 느꼈던 감정을 전해 본다.

  1. 프리코스는 project driven, 자기 주도적인 학습 방식으로 진행됩니다.
  2. 좋은 코드를 짜는 것, 너무나 중요합니다.
  3. 코스 정말 재미있고 배울 것들 너무 많습니다. 그리고 어디 가서 이렇게 코드리뷰 받아볼 수 있는 기회 별로 없습니다.

[우아한 테크코스] 프리코스 후기 글 중에서

누가 앞에서 공자왈 맹자왈 하지 않았는데도 스스로 느끼고 알아낸 점도 정말 정말 뿌듯한 일이다. 주도적으로 문제를 해결하려 하면, 알아야 하는 지식들이 어렵지 않고 오히려 재밌어지는 것을 다시 한번 확인했다.

그리고 무엇보다, 같은 코스를 진행하는 그 분과의 대화. 가장 즐거운 경험이었다. 내가 생각한 방법, 그가 생각한 방법, 그분이 나에게 해준 좋은 말… 지극히 즐겁고 감사한 일이다. 내가 세계 속에 있음을 느끼게 했다.

우아한테크코스 – 프리코스까지 글 중에서

여담인데, 실제로 최근의 저의 상태를 지켜보던 여자 친구가 했던 말입니다.

세상에 취업 준비를 이렇게 즐거워하면서 하는 사람이 어디 있어!

우아한 테크코스 – 프리코스 후기 글 중에서

가장 좋았던 점은 매주 과제에 대한 피드백이 이루어졌다는 것이다. 물론 많은 인원이 진행되는 과정이었기 때문에 개인별 피드백은 아니었지만, 참가자들의 과제를 리뷰하시면서 많은 사람들이 어려워하거나 알았으면 하는 점을 모아 전달해주는 점이 무엇보다 좋았다. 피드백을 통해 느끼는 점이 정말 많았으며 이로 인해 정말 많은 도움이 됐다.

2019년 우아한테크코스 프리코스까지의 후기 글 중에서

최종 탈락 메일을 받은 후 다음과 같은 메일을 보내온 친구도 있다.

우아한 테크코스는 우물 안의 개구리였던 저에게 신세계의 존재를 가르쳐준 고마운 경험입니다. 그 자체로도 저는 이미 얻은 것이 많아서 행복합니다.

뭘 어떻게 공부해야 될지 추상적이었던 저에게 아직도 성장할 수 있는 부분이 많음을 깨우쳐주셔서 감사합니다.

이 같은 참여후기와 메일을 받고 보니 과정을 설계하고, 평가하고, 피드백을 준 모든 과정이 보람으로 다가왔다. 프리코스에 적극적으로 참여한 모든 친구들에게 감사의 말을 전하고 싶다.

프리코스 진행을 통해 느낀 점

3주라는 짧은 기간 동안 프리코스를 진행하며 느낀 점을 정리하면서 글을 마친다.

첫째, 지금까지 프로그래밍 연습을 하면서 코드 컨벤션을 지키라는 피드백을 받아본 경험이 있는 친구가 거의 없었다. 소프트웨어 교육을 진행할 때 최소한의 코드 품질 관련 교육이 진행되면 좋겠다.

둘째, 동기부여가 높은 상태에서 ‘명확하고 구체적인 목표’를 달성하도록 과제를 제시한다면 과제를 진행하는 것이 고통이 아니라 즐거움이 될 수 있다. 과정을 잘 설계하면 학습이 재미있다는 경험을 전달할 수도 있겠다.

셋째, 오프라인 과정을 최소화하고 온라인 과정을 통해서도 충분히 의미 있는 성장을 만들어 낼 수 있겠다. 지금까지 온라인과 오프라인을 병행해야만 의미 있는 과정을 만들 수 있겠다는 생각을 했는데 온라인 만으로도 충분히 의미 있는 결과를 만들 수 있는 과정을 설계할 수 있겠다.

선발 과정을 통해 참 많은 것을 보고 배웠다. 하지만 본격적인 교육은 이제 시작이다. 본 교육 과정을 통해 또 다른 즐거움을 경험할 수 있기를 기대해 본다. 본 교육이 시작되는 5월 7일이 기대된다.