코드트리, 코테 공포증을 몰입의 시간으로 바꾸는 방법
들어가며
글또를 하면서 좋은 기회를 얻어 코드트리라는 서비스를 이용해볼 수 있게 되었다. 그동안 코딩테스트를 준비하는 것은 일종의 고역에 가까웠는데, 코드트리를 사용하면서 이런 고역이 즐거움으로 바껴가고 있다.
코드트리는 코딩테스트를 준비하는 학생, 취준생, 이직자를 위한 학습 커리큘럼 및 실력진단 서비스를 제공하는 코딩테스트 학습 플랫폼으로 코딩테스트를 위한 맞춤형 커리큘럼을 진단하고 해당 커리큘럼을 추천해준다. 약 한 달간 코드트리를 이용하면서 내가 느꼈던 장점과 코드트리 서비스는 어떤 서비스인지 솔직하게 설명해보려고 한다.
코딩테스트 준비가 어려운 이유 😨
그전에 코드트리를 사용하면서 이전의 내가 코딩테스트를 준비하는 방법과 비교하며 코딩테스트 준비가 어려운 이유를 분석한 결과, 다음과 같은 이유들을 도출해볼 수 있었다.
- 나의 현재 위치(실력) 파악 어려움
- 내가 어떤 유형을 잘하는지.
- 내가 어떤 유형이 취약한지.
- 나의 실력에 맞는 유형을 선택의 어려움에서 오는 막막함
- 몰입하기 힘든 환경
- 내 실력과 맞지 않는 문제의 난이도
- 잘못된 난이도 선택으로 느끼는 지루함과 절망감
- 시간 소요 많음
- 나에게 맞는 난이도와 유형을 파악하기 위해 많은 시행착오를 겪어야 함.
- 문제가 막힐 경우 이곳 저곳 찾아가면서 해설과 개념을 익혀야 함.
- 끝이 없는 듯한 막연함, 답답함
- 시작의 어려움, 두려움
- 이전의 힘든 코딩테스트 준비 경험으로 인한 학습된, 선입견된 감정.
- 코딩테스트 = 문제 선택 과정, 문제 풀이 과정, 올바르지 않는 난이도 선택으로 느낀 좌절감
- 시작도 하기 전부터 하기 싫다는 본능적인 저항감
코드트리를 이용하기 전까지 내가 코딩테스트에 대해 느꼈던 감정은 “막막함”, “지루함”, “절망감”, “막연함”, “저항감”이었다. 이전에 코딩테스트를 준비하면서 억지로 힘을 짜내며 문제들을 찾았고, 너무 어려운 문제를 만났을때 느껴지는 좌절감과 막연함. 어디부터 시작해야할 지 모르겠는 답답함. 한마디로 "아..하기 싫다.. 그치만 해야하고.." 이런 기분이었다.
코딩테스트 준비라는 활동은 즐거움과 몰입의 시간과는 정반대의 활동이었다. 위를 간단하게 정리해보면 다음과 같다.
어려움 요소 | 이유 | 감정 |
---|---|---|
1. 자신의 실력 파악 어려움. | 나의 실력에 맞는 유형을 선택의 어려움 | 막막함 |
2. 몰입하기 어려운 환경. | 내 실력과 맞지 않는 문제의 난이도 | 지루함, 절망감 |
3. 시간 소요가 많음. | 난이도와 유형을 파악하기 위해 많은 시행착오에 드는 시간 | 막연함, 답답함 |
4. 시작의 어려움 | 이전의 힘든 코딩테스트 준비 경험으로 인한 학습된, 선입견된 감정 | 저항감 |
사실 저 어려움 요소들은 각각 개별적인 요소들이 아니라 서로 복합적으로 영향을 주고 받는 요소들이다. 그 중 내가 가장 힘들어하면서 코드트리로 유용하게 극복한 어려움은 바로 “2. 몰입하기 어려운 환경“이었다.
코드트리를 사용하여 어떻게 코테 준비를 몰입의 시간으로 바꾸어 가고 있는지 코드트리의 서비스와 개인적인 사용 후기를 통해 풀어가보고자 한다.
코드트리로 코테 몰입하기 🚀
1. 나의 현재 실력 파악
코드트리에서는 실력 진단이라는 기능을 통해 현재 실력 파악과 목표하는 바에 진입할 수 있도록 학습 플랜을 제시해준다. 현재 목표하고 있는 것이 무엇인지, 그리고 현재 진단자의 실력이 어느정도 인지를 파악해 취약 유형을 분석해준다.
개인적으로 좋았던 점은 내가 취약한 유형이 무엇인지 파악해서 해당 파트의 문제를 추천해주는 점이 좋았다. 다음은 내가 취약한 유형의 파트를 세세하게 알려주는 점이다.
실력 진단 기능은 별도의 비용이 들지 않고 꾸준히 계속 도전할 수 있다. 따라서 현재 나의 실력이 증가하고 있는지 아니면 머물러 있는지 객관적 판단 지표를 제공해준다.
코드트리를 이용한지 한달 정도 지난 시점에서 총 3번의 실력진단을 실시했는데 꾸준히 우상향하는 그래프를 보여주고 있다. 개인적으로 나는 실력진단으로 부족한 유형을 파악하고 해당 유형 파트를 집중적으로 공부하는 방법으로 진행했다. 적절한 실력 지표가 없다면 우리의 감에 의지해 내 실력을 파악해야 한다.
2. 몰입 환경 조성
내가 가장 만족했던 부분은 바로 이 점이다. 이것은 코드트리의 “몰입환경“과 같은 특정한 서비스가 있는 것은 아니지만, 코드트리에서 제공하는 기능들이 같이 상호작용하면서 자동적으로 사용자에게 몰입의 환경을 만들어주는 효과를 낸다.
본 그래프는 미하이 칙센트미하이라는 심리학자가 고안한 몰입에 관련된 이론에 나오는 그래프이다. 미하이의 몰입은 어떤 행위에 깊게 몰입하여 시간의 흐름이나, 공간, 나아가서 자신에 대한 생각까지 잊게 되는 심리 상태를 말하는데, 이러한 몰입의 전제조건에는 3가지가 있다고 한다.
- 명확한 목표
- 분명한 피드백
- 도전, 실력의 조화
이러한 조건속에서 몰입에 다가가기 위해서는 높은 실력과 높은 도전과제가 필요하다.
하지만 실력이 높지만 도전과제가 낮은 경우(A2) 지루함에 빠지거나, 도전과제 난이도가 높지만 그에 맞는 실력이 부족할 경우(A3) 불안의 감정을 느끼기 쉽다. 그래서 앞의 코드트리의 실력진단을 사용하여 취약 유형을 분석하고 문제를 풀이하면 나의 실력과 도전과제의 난이도를 맞추어 몰입할 수 있는 환경을 만들어볼 수 있다.
코드트리의 학습 구성은 이러한 몰입 상태에 놓일 수 있도록 실력과 난이도를 점진적으로 조절하도록 크게 3가지 파트로 구성되어있다.
기본개념
기본 개념에서는 해당 유형의 개념, 풀이 방법, 관점을 주로 두어야하는 포인트를 찝어 설명해준다. 조금 복잡한 개념의 경우 많은 이미지 자료와 동영상 자료가 포함되어 있어 개인적으로 단계별로 진행되는 알고리즘을 이해하기 편했다. 기본 개념에서 나오는 유형으로 간단하게 풀이해볼 수 있는 문제가 준비되어 있으면서 앞의 설명을 충분히 숙지했다면 어렵지 않게 통과할 문제가 준비되어있다.
연습문제
연습 문제부터는 문제를 풀이할 수록 서서히 난이도가 올라가도록 체감되었다. 앞선 기본개념에서 살짝 변형되었거나, 이전에 배웠던 개념을 추가하여 복합적으로 풀이해야한다거나, 조금씩 올려가며 나의 실력과 난이도를 맞춰볼 수 있다.
개인적으로 내 실력보다 높은 난이도를 만나 풀 수 없는 경우 문제에 기재된 예상시간 보다 풀이시간이 2배로 넘어갈 경우 문제 해답을 보곤한다.
테스트
테스트 문제는 해당 유형을 정확히 이해했는지의 의도를 물어보는 문제로 구성되어있는 것 같았다. 난이도는 연습문제의 어려움보다는 상대적으로 낮은 느낌이었고, 연습문제를 충분히 풀었다면 테스트문제도 무난히 넘길 수 있었다.
3. 시간 절약
앞선 코딩테스트 준비에 어려움을 겪는 이유중 하나로 나에게 맞는 난이도와 유형의 문제를 찾기까지 많은 시행착오가 걸린다는 점이다. 누군가의 문제 모음집을 봐도 나의 실력과 다른 문제들이 더러 있는 경우도 있고, 나에게 맞는 문제 유형 모음을 찾는 것도 하나의 일처럼 다가오기 때문에 선뜻 시작하기가 쉽지 않다.
하지만 코드트리에서는 난이도 별로, 그리고 유형별로 별도의 코스가 나뉘어져 있어, 이러한 시간을 줄일 수 있다. 실력진단을 보고 해당하는 코스를 선택하면 된다.
그리고 해당 문제에 대해 모르는 내용이나 개념을 물어봐야할 경우 토론 창을 이용해서 질문을 주고 받을 수 있다. 거진 하루 안에는 답변을 해주시는 편이며, 문제의 정답을 바로 알려주는 것이 아닌 정답에 이르도록 반례를 제시해주거나, 힌트를 제공해주는 점에서 문제 풀이에 큰 도움이 된다.
이런 점은 혼자 진행할 때보다 훨씬 시간적으로 절약이 많이 된다. 시간적인 측면에서 효율성을 가져갈 수 있다는 의미이다.
4. 시작을 가볍게
코드트리는 개인적인 목표를 설정할 수 있다. 문제마다 풀이시 얻을 수 있는 경험치 시스템이 존재하는데 이를 통해 하루 목표를 설정하고 달성하는 시스템이 있다. 목표는 크게 5가지로 나뉘어져 있으며, 내가 투자할 수 있는 시간을 예시로 선택을 도와준다.
나는 이 기능을 코딩테스트 문제에 대한 저항감을 낮추는데 사용했다. 처음에 시작할때는 “가볍게”로 시작하여 조그만 성취감을 늘려갔다. 문제를 풀이하면 목표치 그래프 바가 갱신되는데, 이게 생각보다 성취감이 들고 재미로 다가온다. 마치 게임의 던전을 클리하는 기분이다. (개인적으로는 성취시 나오는 이펙트가 더 화려했으면 더 성취감이 부각되지 않을까 싶다!)
목표시스템을 활용해서 조금 더 가벼운 마음으로 시작할 수 있는데 큰 도움이 되었던 것 같다.
또 코드트리내에서는 업적이라는 시스템이 있는데, 특정 활동 조건을 만족하면 열리는 뱃지 같은 개념이다. 개인적으로는 잘 들여다보지 않는데 생각보다 나에게는 큰 감정이 들지 않는 기능이었다. 이유는 뒤에서 부가적으로 설명하려고 한다.
더 멋진 몰입을 위해 🙌
여태까지 느낀 코드트리의 서비스는 훌륭했다. 정해진 커리큘럼이 있어 코딩테스트를 처음 접하거나, 어디서부터 시작해야할지 모르는 사람들에게는 더 없이 적합한 서비스라고 느낀다.
나는 이 서비스를 몰입의 관점에서 바라보았는데, 서비스의 주요 기능들이 몰입할 수 있는 환경을 사용자가 눈치채지 못하게끔 잘 만들어 주고 있다고 생각했다. 여기서부터는 내 개인적인 욕심이다. 이러한 점들이 더 추가되면 좋을 것 같다는 개인적인 의견이다.
나를 더 잘알고, 취약 유형 극복하기
학습하는 곳에서 내가 틀렸던 문제나 시간이 오래 걸리는 문제 유형들을 따로 볼 수 있는 기능이 추가되면 좋을 것 같다. 내가 정확한 기능을 못찾은 건지 모르겠지만, 내가 틀렸던 문제들을 모아볼 수 있는 기능이 눈에 띄진 않았다.
내가 잘하는 유형과 내가 취약한 유형을 눈으로 시각화해주면 좋을 것 같다.
그리고 내가 취약했던 유형을 조금 더 극복할 수 있도록 학습하기에서 나온 문제들 뿐 아니라 기타 다른 문제들도 추천해주어 취약 유형에 대한 자신감을 더 키울 수 있도록 보충해주는 시스템이 있다면 더할 나위 없을 것 같다.
현재 개인 페이지는 다음과 같은데 주로 활동 일지, 로그에 관한 내용이 많다. 실력진단의 점수도 있지만, 조금 더 내가 어떤 유형에서 잘하고 못하는지를 알려주는, '내'가 '코딩테스트'에서 어떤 역량들을 가지고 있는지. ‘나’ 파악할 수 있는 피처들이 들어갔으면 어땠을까 했다. 코드트리에 익숙해진 유저들이 자신만의 코딩 역량 메타인지를 기를 수 있도록 도와주는 기능 추가되고 이와 관련된 서비스도 함께 연계되면 좋을 것 같다.
업적 시스템의 동기부여
특이하게 코드트리에는 업적 시스템이 있었는데, 코드트리 서비스 내에서 특정 활동을 기록하면 해제되는 형식이다. 게임의 시스템을 연상시키는데 현재는 열린 업적을 내 대표 업적으로 등록하는 것 말고는 특별한 기능은 없다.
개인적으로는 이 업적으로 언락하면서 느끼는 성취감이나, 동기부여 수준은 낮았다. 대표업적으로 등록하는 것에도 커다란 흥미가 나지 않았다.
그리고 업적의 해제조건도 꽤나 쉽진않아서
코드트리에서 총 600개의 문제 풀이
‘Novice Mid’ 문제집의 모든 문제를 해결
업적을 달성한 페이지가 떠도 해제조건에 비해 별다른 감흥이 나진 않았다.
차라리 해제한 업적만큼 적절한 멤버십 이용기간을 늘려준다거나, 업적으로 이용한 무료 기간을 유저들한테 보여주는 것이 더 효과적으로 동기부여되지 않을까싶다.
아니면 차라리 별도의 시스템을 두어 나와 비슷한 레벨의 사람들이 얼마만큼 잘 풀이해나가고 있는지 현황판을 보여주는게 동기부여 관점에서 좋을 것 같다.
코테 길드 😂
뭔가 게임적인 요소가 들어가 동기부여를 자극할 수 있는 기능이 필요하다면 코테 길드 기능이 있으면 어떨까 싶다. 비슷한 레벨의 유저들끼리 길드를 모아 일주일에 해결해야할 경험치를 달성하면 기여도만큼의 보상을 주어주는 시스템이면 긴장감도 있고 재미도 있을 듯하다. 서로 같은 문제에 대해 토론도 하며, 일종의 임시 코테 스터디처럼 기능할 수 있지않을까 상상의 나래를 펼쳐봤다 😄
정리하며
코드트리와 함께한지 벌써 한달여 시간이 흘렀다. 종합적인 개인 평가는 코딩테스트를 준비할 필요가 있고, 빠른 시간내에 원하는 목표치가 있고 이를 달성해야 하는 상황이라면 코드트리를 이용해보는 것을 추천한다.
한 달 정도 서비스를 이용하고 나름 꾸준하게 진행해본 결과 코딩테스트에 대한 심리적 접근성은 많이 높아진것 같다. 비슷한 유형이 나오면 풀었던 방식이 금방 떠올라서 풀이를 적용해보기도 하고, 확실한건 이전보다 코딩테스트 연습하는데 드는 시간적 비용이 많이 절약되었다.
실력 진단으로 보이는 지표도 코드트리를 접하기 전보다 확실히 우상향하고 있으며, 하루하루 문제푸는 것이 재미가 붙어가고 있다. 코드트리에는 기본 학습뿐 아니라 타이머나 릴레이 기타 훈련 섹션도 있는데 다음에는 학습 외적으로 다양한 컨텐츠들도 참여해보고 후기를 남겨보려 한다.
결국에 취업을 위한 코딩테스트도 그 가치가 있지만, 내가 꾸준히 알고리즘이나 문제해결 능력을 계속 기르고 나아가고 싶다면, 코딩테스트를 일종의 몰입활동으로 만들어 문제를 푸는 그 자체의 활동에 가치를 주어보는 것도 중요하다고 생각한다. 한달이 지난 후 또 다시 성장해있을 모습을 그려보며 후기를 이만 마무리하려 한다.