네이버 부스트캠프 웹·모바일 9기 챌린지 회고

이지호·2024년 12월 24일
0
post-thumbnail

네이버 부스트캠프 전체를 회고하다가, 멤버십 입과 전까지의 이야기가 너무 길어지는 것 같아 이 포스트로 분리하게 되었다. 챌린지는 어떤 태도로 임했는지, 무엇을 배웠는지를 기록해보려고 한다.

챌린지 과정이란?

네이버 부스트캠프의 멤버십에 참여하기 위해서는 먼저 챌린지라는 4주간의 관문을 통과해야 했다. 이 과정은 매일 아침 10시부터 오후 7시까지 진행되며, 컴퓨터 공학 지식을 활용한 프로그래밍 미션이 주어졌다. 단순한 코딩 문제가 아닌, 운영체제, 네트워크, 자료구조와 같은 CS 지식을 실제 프로그래밍으로 구현하는 과정이었다.

하루의 일과는 '피어 세션'으로 시작됐다. 오전 10시부터 12시까지는 전날 수행한 미션에 대해 서로의 해결 방법을 공유하고 토론하는 시간이었다. "이런 방식으로도 문제를 해결할 수 있구나", "저는 이 부분에서 막혔는데 어떻게 해결하셨나요?"와 같이 다양한 관점을 나누며 함께 성장하는 시간이었다.

12시부터는 본격적인 미션 수행 시간이다. 컨텐츠 보호 수칙상 구체적인 미션 내용은 공개할 수 없지만, 이론으로만 접했거나 처음 마주하는 컴퓨터 공학 개념들을 실제 코드로 구현하게 됐다. 미션은 개인별로 수행하기도 하고, 과정 후반부로 갈수록 페어 프로그래밍 방식으로 진행되기도 했다.

오후 7시는 미션 마감 시간이었다. 주어진 체크포인트들을 확인하며 하루의 미션을 마무리했다. 대부분의 캠퍼들이 정해진 시간 내에 모든 체크포인트를 완료하기는 어려웠고, 많은 분들이 비공식적으로 늦은 시간까지 학습을 이어갔다.

1~4주차 돌아보기

챌린지 동안 꾸준히 회고를 작성했는데, 이 회고를 기반으로 챌린지 전반을 돌아보려고 한다.

학습과 구현의 밸런스 찾기

챌린지 초반에는 구현 완성에 집착했다. 매일 12시에 미션이 공개되면 그걸 수행하고, 오후 7시에 미션 관련 체크포인트를 작성해야했다. 체크 포인트에 있는 기능 하나라도 더 완성했다고 표시하고 싶어 '일단 구현'을 했던 것 같다.

하지만 이는 학습 부채로 돌아왔다. 구현만 하고 이해 없이 넘긴 개념이 다음 날 미션에서 다시 등장하면, 또 한번 모르는 채로 구현만 하거나 학습 시간을 마련해야 했기 때문이다. 당장 오늘 학습해야할 것도 많다보니 전날 미룬 공부를 하는 게 꽤나 죄책감으로 다가왔다. 그렇다고 주말에 몰아서 학습 부채를 청산하자니 체력적으로 벅찼다.

이를 해결하기 위해 많은 시행착오를 거쳤다. 학습 정리를 먼저 하고 구현을 시도하는 날도 있었고, 구현을 완성 못하더라도 목표한 시간에는 깔끔히 구현을 포기하고 학습 정리에 시간을 투자해보기도 했다. 계속 회고하고 밸런스를 수정하다보니 어느새 챌린지가 끝나 있었다.

멤버십을 끝낸 지금도 여전히 이 학습과 구현의 밸런스에 대해 단언하기는 어렵다. 다만 두 가지 깨달음이 있다. 하나는 매주 회고를 통해 아쉬운 점을 보완하며 밸런스를 맞춰나가는 것이 핵심이라는 점이고, 또 하나는 시간이 유한하기에 100% 완벽할 순 없다는 점이다.

어떻게 학습정리를 해야 좋을까?

매일의 미션에 대한 학습정리를 제출하는 것이 필수였다. 형식은 자유로웠기에 처음에는 노션에 하루치 학습 내용을 순차적으로 정리해 제출했다. 그러나 2주차를 지나며 여러 한계점이 드러났다.

우선 페이지가 지나치게 길어졌다. 일자별로 정리하다 보니 특정 개념을 찾아보기도 어려웠고, 비슷한 내용이 중복되거나 개념 간 의존성이 생기는 문제도 있었다. 가령 이전에 정리했던 내용이 다시 필요할 때면 어느 날짜에 정리했는지 찾아야 했다.

전환점은 다른 캠퍼의 학습 정리를 보면서 왔다. 주제별 데이터베이스화라는 아이디어를 떠올린 것이다. 주말을 투자해 그간의 학습 내용을 주제별로 재구성했다. 각 개념을 독립된 페이지로 만들고, 연관된 개념들을 서로 연결했다.

먼저 다음과 같이 주제별 분리를 했다.
주제별 분리

새로 배운 내용은 '학습 내용'란에, 이전에 정리해둔 연관 개념은 '관련 내용'란에 정리하며 지식의 맥락을 만들어갔다.

주제별 학습정리의 학습 내용

주제별 학습정리의 관련 내용

나중에 알고 보니 옵시디언의 그래프 뷰를 활용했다면 이런 지식의 연결을 더 시각적으로 표현할 수 있었을 것 같다.

물론 이 방법에도 아쉬움이 남는다. '나만의 언어'로 정리하지 못한 점이다. 정리들은 보통 아티클을 읽거나 영상 및 서적을 요약한 학습이었다. 그러나 내가 이해한 내용을 백지 복습하듯 정리하거나, 나만의 시행착오를 적었다면 더 효과적이었을 것 같다.

동료와의 토론 준비

처음엔 동료와 기술적인 이야기를 하는 것 자체가 큰 도전이었다. 내가 구현한 내용을 논리적으로 설명하는 것도, 다른 사람들의 기술적인 이야기를 듣고 의미 있는 질문을 하는 것도 어려웠다.
전환점은 2주차부터 시작한 의식적인 훈련이었다. 매일 인당 3개의 질문을 노션에 미리 준비하고, 피어 세션에서 적극적으로 질문을 던지는 연습을 했다. 이런 의도적인 노력 덕분에 후반부로 갈수록 따로 준비하지 않아도 그 순간에 자연스럽게 기술적인 대화를 이어갈 수 있게 됐다.

제한된 시간 동안 동료의 코드를 이해해서 질문 거리를 만드는 것도 극복해야 할 과제였다. 30분 안에 다른 사람의 코드를 모두 이해하기는 불가능했기에, 전략적인 접근이 필요했다. 내가 미션을 수행하면서 어려워했거나 집중적으로 고민했던 부분을 중심으로 살펴보는 방식을 택했다. 이렇게 하니 코드 리뷰도 더 효율적이고 깊이 있게 할 수 있었다.

시간 관리, 체력 관리, 멘탈 관리

챌린지 초반에는 '밤을 새면 된다'는 안일한 생각으로 시작했다. 시간이 무한한 것처럼 생각했지만, 밤을 새우면 다음 날 컨디션이 나빠지는 악순환이 반복됐다. 이를 깨닫고 취침 시간을 정해 지켜보고자 했다. 물론 욕심을 내려놓는 게 쉽지는 않았다. 그래도 하루 정도는 늦게 자더라도 다른 날에는 충분히 잠으로써 금요일까지 완주할 수 있도록 하려고 노력했다.

집중이 안 될 땐 차라리 운동을 다녀왔다. 러닝을 보통 많이 했는데, 긍정적인 노래를 들으면서 땀 흘리고 오면 더 집중이 잘 되는 기분을 받았다. 체력 관리도, 정신적인 리프레시도 되어 되게 좋았다.

또 항상 감사함을 잊지 않으려고 노력했다. 고도로 설계된 미션들, 배울점 많고 친절한 동료들, 밀도있는 스케줄과 풍성한 커뮤니티 내에서 이렇게 몰입할 수 있는 경험을 하는 것 자체가 행운임을 계속 떠올렸다.

물론 4주차엔 조금 슬럼프가 오기도 했다. 그러나 후회없이 끝내자는 생각으로 임했고, 또 마음 맞는 동료와 페어 프로그래밍을 하게 되어 힘을 얻어 완주할 수 있었다.

3차 문제 해결력 테스트와 그 이후

긍정적인 마음으로 챌린지를 완주했으나, 3차 문제 해결력 테스트를 보고 참 많이 좌절했던 기억이 난다.

3차 문제 해결력 테스트는 워낙 정보가 없었기에 어떠한 준비를 해가기 어려웠다. (물론 당장의 챌린지 미션을 하는 것도 벅차서 알았더라도 준비하기 어려웠을 것 같다.)

돌아보면 간단한 구현 실력, 구현 내용을 말로 설명하는 능력, CS 지식, 챌린지 동안 해오던 문제 해결 능력을 종합적으로 확인했던 것 같다.

짧게 느껴지는 제한 시간과 긴장감 때문에 제대로 집중하기도 어려웠던 기억이 난다. 특히 다른 분들과 비교되어 자신감이 떨어졌다. 게다가 특정 문제에서 console.log를 남긴 채 제출한 것을 뒤늦게 발견했을 때는 멤버십에 대한 희망이 완전히 꺾였다.

힘든 챌린지 과정이 끝난 후, 문제 해결력 테스트를 망친 것 같아 썩 기쁘지 않은 마음으로 쉬는 시간을 보냈다. (사실 그냥 열심히 놀다보니 아쉬움도 잊었다.) 어차피 나는 이제 3학년 1학기를 끝냈으니, 내년에 다시 지원해볼 땐 이런 점을 보완해서 도전해봐야겠다는 생각을 하곤 했다. 아쉬움을 내려놓고 다음학기 수강신청도 하며 결과 메일을 기다렸다.

끝으로

반전으로 멤버십 입과 메일을 받았다...!! 이 날 정말 기뻐서 여기저기 자랑했던 기억이 난다.

그렇게 일주일 간의 휴식을 마치고, 멤버십을 시작하게 됐다.

email

0개의 댓글

관련 채용 정보