[회고][42 Seoul] 라피신 후기 (feat. 본과정 D-1)

Gyuwon Lee·2022년 7월 4일
1

회고

목록 보기
2/5
post-thumbnail

지난 4월에 참여한 42서울 7기 1차 라피신에 대한 회고입니다.

신청 방법이나 과제에 대한 안내 등의 정보성 글이 아니라, 개인적인 감상을 남긴 글임을 미리 밝힙니다.

🏊 수영장에서 살아남기

라피신은 선발시험이기도 하지만, 사람에 따라 자기 자신과 마주하는 멘탈 싸움이 되기도 합니다. 한 달간 정해진 커리큘럼이나 레퍼런스 없이, 밀려드는 과제를 동료들과 함께 수행해나가야 하기 때문입니다.

shellC 기초 과제를 수행한 초반 2주 가량은 정말 2~3일에 한번 꼴로 집에 가서 눈물을 찔끔거렸을 정도로 힘들었습니다. 몸 말고 멘탈이요. 문제가 안 풀려서 속상했습니다. 정말 수영장이라는 이름처럼, 물에 빠진 것마냥 과제는 계속 밀려들어옵니다. 하나를 클리어하면 바로 다음 과제가 열립니다.

과제는 불친절하고, 그 와중에 평가도 해야 하고, 팀 과제도 있고, 시험도 있습니다. 하루에 2시간만 클러스터에 있든, 밤을 새서 클러스터에 살다시피 하든 본인의 선택이지만, 그렇기에 더 괴로웠습니다. 진도가 느린 게 오롯이 내 책임인 것 같으니까요.

경쟁하면 안됩니다. 정말로요!

이렇게 스트레스 받는 상황에서 가장 하지 말아야 할 것은 경쟁하는 것입니다. 타인의 진도에 계속 관심을 갖곤 "어떻게 저렇게 빠르지, 나도 서둘러야 하는데" 같은 생각이 한 번 시작되면 정말 힘들어집니다. 초조함은 걷잡을 수 없어지고, 문제는 여전히 어렵기 때문입니다.

초반에는 저도 무의식적으로 경쟁하고 있었고, 욕심을 부렸습니다. 분명 풀려야 하는데, 저 사람은 풀던데 왜 난 안 되지, 이런 생각을 하며 초조하게 하루를 시작하고 불안하게 하루를 마쳤던 것 같습니다.

라 피신에 조금 적응하고 나자 하루하루 최선을 다해서 공부하는 것만이 최선임을 깨닫고 주변을 둘러보기를 그만뒀습니다. 난생처음 하루 13시간 이상씩 터미널만 붙들고 있었습니다. 경쟁하거나, 본과정이라는 목표를 두고 이 과정을 수단으로 삼으면 힘들어집니다.

하지만 한 달간 원없이 코딩에 몰입할 수 있는 시간, 나와 같은 꿈을 가진 사람들을 만나 소통하고 함께 문제를 해결해나가는 경험의 기회로 삼는다면 정말 값진 것들을 얻어갈 수 있을 것입니다.

✏️ 누구보다 열심히 공부했습니다

당연히 라 피신을 1등으로 통과하지는 않았을 것이라고 생각합니다. 하지만 공부에 쏟은 열정으로는 1등에 가까울 것이라고 자부할 수 있습니다. 본과정이 아닌, 라 피신 자체를 목적으로 삼게 되자 '이 한 달 간 최대한 많은 성장을 해내겠다' 라는 열정이 솟았습니다. 문제 하나도 대충 풀지 않고, 아이패드에 최대한 모든 생각을 기록해가며 하루하루 발자취를 남겼습니다.

너무 낙서처럼 휘갈긴 페이지를 제외하고 나니 한 달 간 총 32페이지 분량의 필기가 남았습니다. 처음에는 떠오르는 생각을 아무 정제 없이 마구 적어가며 문제를 풀었지만, 매일 하루 끝자락에 혼자 피드백하는 시간을 가지며 "코드가 길어지거나 함수가 3개 이상 이어지기 시작하면 헷갈려한다"는 깨달음을 얻었습니다.

알고리즘 관련 글을 몇 개 정독해보니 구현력이 부족한 것 같다는 생각이 들었고, 이에 모든 문제를 아이패드에 적으며 논리를 먼저 말로 정리했습니다. 코드를 전부 손으로 쓴 다음에야 터미널로 옮겼습니다.

코드를 그냥 냅다 키보드로 한줄한줄 적다 보면, 전체 구조가 눈에 들어오는 게 아니라 지엽적으로 이해하게 됩니다. 아래로 내려갈수록 윗 내용이 기억이 안 나는 문제를 겪었습니다. while문 같은 것을 돌릴 때에도, 그냥 '이러면 되겠지~' 하고 넘어가는 부분 없이 정확히 어떤 인자가 어떤 과정을 거쳐 어디까지 돌게 되고, 어째서 이 형태의 인자여야 하는지 등등을 꼼꼼히 따져 가며 문제를 대하는 습관을 들였습니다.

한 문제를 풀더라도 최대한 많은 것을 얻어 가려고 노력했습니다. 그저 묵묵히 공부하는 것이 저였음을, 언제나 바닷속에 돌멩이 하나씩 던지듯 기초부터 시작하는 것이 옳다고 믿어 왔음을 상기했기 때문입니다.

📢 협력하고, 소통하세요

시험을 잘 봤다고, 과제를 많이 수행했다고 라 피신을 통과하는 건 아니라는 점은 이미 많이 알려져 있는 사실입니다. 그 기준은 아무도 모르지만, 분명한건 소통과 협력을 엄청나게 강조하는 과정이라는 점입니다.

제가 필기에 집착한 것과 비슷한 맥락으로, 코드를 그냥 한 줄 두 줄 작성해 내려가다 보면 정답을 맞출 수는 있겠지만 그것이 내가 코드를 100% 이해했다는 보장이 되지는 않습니다. 라 피신은 설명할 수 있는 코드를 작성하고 동료와 끊임없이 소통하고 토론할 수 있는 아주 좋은 기회입니다.

모든 코드의 배경에는 이유가 있어야 합니다. 아무리 구글링도 능력이라지만, 하다못해 어째서 그 레퍼런스를 긁어 왔는지라도 설명할 수 있어야 합니다. 동료평가를 주고받다 보면 아직 해당 과제를 진행하지 않으신 분이 평가자로 매칭되는 경우도 잦습니다. 이러한 상황에서 코드를 온전히 설명하려면 관련 개념부터 로직 구성에 대한 배경까지 종합적인 전달이 필요합니다.

한 달간 이런 평가를 수십 번 주고받게 되는데, 이렇게 최선을 다해 평가를 준비하고 내 코드를 설명하며 동료를 납득시키는 경험이야말로 앞으로 코드를 어떻게 공부하고 작성해야 하는지에 대한 값진 소득을 남긴다고 생각합니다. 저는 이 과정을 통해 앞으로 코딩을 어떻게 공부해야 할지 큰 깨달음을 얻었기 때문입니다. 그 깨달음을 줄이자면 개념, 공유, 실습 입니다.

💬 공유는 수영장을 들썩이게 한다

본 회고의 최상단에 있는 이미지는, C09 과제를 진행하며 makefile의 원리를 이해하기 위해 GNU 공식문서를 읽고 간단히 정리한 내용입니다. 평가를 다니다 보니 다른 과제와 달리 C09는 개념박치기라서 시작이 막막하다는 말들을 많이 듣곤, 정리한 내용을 슬랙에 공유하면 도움을 드릴 수 있지 않을까 싶어 random 게시판에 올렸습니다.

많은 분들이 격려와 감사를 보내주신 덕분에 참 뿌듯했습니다. 저 역시 개인적으로 공부하는 것과는 또 다르게, 공유를 하기 위해서는 정말 이 정보에 틀린 내용은 없는지, 이 내용을 처음 읽는 사람도 무리없이 이해할 수 있도록 조리있게 작성했는지 등등 다시 한 번 검토하고 정제해야 했습니다. 이 과정에서 또 한번 개념을 다듬고 학습할 수 있었습니다.

따라서 중요한 것은 개념을 익히고 꼼꼼히 정리한 다음, 한 번 공유해보는 것입니다. 공유하기 위해서는 반드시 정리하고 기록해야 합니다. 머릿속에 뭉게뭉게 떠다니는 개념을 잡아다 글이나 말로 표현하려 하면 의외로 잘 되지 않는 경우가 많습니다. 따라서 학습의 목적을 공유하는 데 두다 보면 보다 신중하고 꼼꼼하게 공부할 수 있게 되는 것 같습니다.

🎊 마무리

결과적으로 저는 7기 1차 라피신에 합격해서 본과정 시작을 앞두고 있습니다. 하지만 강조하고 싶은 것은 라피신에서 과제를 많이 통과하는 것이 전부는 절대 아니다 라는 점입니다.

저는 한 달 간 경쟁하지 않고 스스로의 성장에 집중하는 법, 이유를 설명할 수 있는 코드를 작성하는 법, 나와 다른 사람들을 만나 소통하고 협력하는 법, 코드를 작성하기 전 신중하게 생각하고 논리를 세우는 법 등등 정말 많은 것들을 깨우쳤습니다.

본과정에서는 또 어떤 사람들을 만나 어떤 일들을 하게 될 지 기대가 됩니다. 정말 값진 한달이었습니다!

profile
하루가 모여 역사가 된다

0개의 댓글