David의 개발 이야기!

42서울 9기 라피신 후기 본문

42서울

42서울 9기 라피신 후기

david.kim2028 2023. 3. 10. 03:24
반응형

이 글을 보는 독자분들은 아마, 필자는 누구이며, 라피신에는 어떤 마음가짐으로 임했고, 라피신 생활은 어떠한지, 그리고 어떻게 하면 합격을 하는지가 궁금해 할것으로 생각되어 해당 flow대로 글을 써보려고 한다. 이야기가 길어져서, 4, 5번은 다음글에 이어서 썼다. 

 

1. 라피신 참가전 필자의 상황 

2. 필자는 누구인가 

3. 라피신의 생활은?

4. 지나고 나서 보니 이렇게 하면 합격하는 것 같더라

5. 중요한 포인트들 

6. 필자의 라피신 기록들(성적, 시간등)

 

 

 

[ 1. 라피신 참가 전 필자의 상황 ]

42서울 9기는 크게 1, 2차 나뉘어서 선발했는데, 필자는 9기 2차에 참여했다. 42서울이 처음 생겼을때, 바로 온라인테스트를 봤던 터라, 체크인미팅만 할 준비를 했었는데, 높은 경쟁률로 신청을 하지 못하고 있었다. 그러던 어느날, 우연찮게 신청사이트에 한번 들어갔는데, 22년 12월 말에 체크인 미팅이 있었고, 9기 2차 라피신신청까지 할 수 있었다.

하늘이 도운것 같은 느낌으로 산뜻한 마음으로 시작할 수 있었다. )  

 

라피신 9기 2차는 2월 6일부터 3월 3일까지 총 26일간 진행되었다. 

 

22년 고생한 보람으로 23년 1월 18일부터 23일까지 말레이시아 여행을 다녀오고, 원래 계획대로라면, 1월 31일부터 2월 2일까지 교토여행을 떠나려고 했었는데, 주변에서 C언어와 기본적인 리눅스 지식을 알고 가야한다해서, 교토여행은 취소했다. ( 사실 말레이시아 여행을 다녀오고 열이 너무 났었는데, 코로나 인줄 알고 조마조마했었다. - 단순 몸살이었다 )  

 

그래서 1월 31일부터 2월 2일까지 생활코딩의 git 과 관련된 강의들과, 리눅스 관련 강의를 듣고, C언어는 간단하게 문법을 볼 수 있었다. 조금씩 진도가 밀려서, C는 포인터 전까지 보고 들어갔는데, 좀 더 빡세게 공부를 하고 라피신에 임했다면, 더 많은 것들을 배울 수 있지 않을까 하는 아쉬움이 2주차즈음 들었었다. 

 

 

 

[ 2. 필자는 누구인가? ] 

필자는 코딩공부를 해야지해야지만 생각하던, 공대도, 문과도 아닌, 산업공학도 2학년이었다. 창업을 준비해보면서, 코딩공부의 필요성을 절실히 느꼈었고, flutter 문법공부를 중간에 하다 말았고, 학교에서 데이터분석때 활용하는 python을 아주 조금 다룰수 있는 수준이었다.(게으름과 코딩과의 싸움에서 항상 완패했어서, 주변 전공자 친구들이 중간에 때려칠것이라고 모두 생각했다고 한다...ㅎㅎ)

  

비전공자고, 자료구조나 알고리즘, 코테 등의 준비를 한번도 안했었고, C언어는 피신기간에서 처음 접했었다. (정말 피똥싸는 경험이었다..)

 

본 글을 읽는 독자님께서 비전공자시라면, 저를 보며, 희망을 가지고 준비해보셨으면 좋겠고, 전공자시라면, 비교적 가벼운 마음으로 좀 더 자세히 공부해보겠다는 마음으로 임하면 좋겠다. 

 

[ 3. 라피신 생활 ]

라피신은 프랑스어로, 수영장이라고 한다. 수영장에 던져놓고 알아서 살아남기 위해 기어오르는 비유를 하고자 26일간의 과정이름을 라피신이라고 지었는데, 정말 찰떡궁합인것 같다. 첫째주에는 정말 수영장에 빠진기분이었고, 너무나도 정신적으로 힘들었다. 

 

라피신 과정에서 우리가 다룰 수 있는 것은 크게 4가지인데 4가지는 다음과 같다. 

 

1. Shell 00, 01 , C00 ~ C13 의 개인과제

2. RUSH 라 불리는 조별과제

3. 마지막주에 하는 BSQ

4. 매주 금요일마다 치는 시험

 

추가적으로 라피신에서 가장 중요한 것은, 동료평가이다.

모르는 것이 있으면 동료들에게 물어보고 배우는 것이며, 1의 개인과제들 또한 주변 동료들에게 코드리뷰를 받으며 평가를 받게 된다. 

 

위의 4 + 1 가지는 시간의 흐름대로 글을 작성하였는데, 읽다보면 무엇인지 알 수 있을 것이다. 

 

 

1주차 

첫날 딱가면, 무엇을 해야되는지 아무도 가르쳐주지 않는다. 맥북을 켜면 빈화면이 나오는데 뭘해야할까 한참 고민하는 시간을 가졌다. 42서울을 지원한 홈페이지도 가보고, 맥에 깔려있는 동영상도 봐보고 뭘해야될지 몰라 당황하며 속은 타들어가는 시간을 보내다보면, 다음 단계를 알 수 있다. 운이 좋게, 주변분들이 눈치를 채고 시작하게 되면 어떻게 시작하셨는지 여쭤보는것도 좋은 방법이다. 

 

인트라넷과, 환경에 적응이되면, 개인과제를 시작하게 되는데, 26일의 기간동안, 15개의 개인과제 (shell 00 , 01, C00 - 13) 를 풀게 된다. 

 

Shell00 - 01 은 리눅스 명령어를 익히는 과제이다. 필자도 리눅스 명령어 생활코딩 강의를 듣고 갔었었는데, 강의에서 나오는 거랑, 과제에서 나오는거랑은 달라서 많이 애먹었다. 보통 Shell00-01을 첫째주에 해결하는데, 리눅스 강의만을 들었었지, 맥에서 어떻게 리눅스를 다루는 지등은 잘 몰랐었어서, 주변분들이 하는 것을 많이 참조 했었다. 필자는 집에서 맥북과 IOS환경에 최적화된 사람이어서, 맥활용방법(ex 한영변환, 마우스 스크롤이 반대인것 등 ) 에 대해서는 익숙했는데, 윈도우만을 썼던 대부분의 사람들은 더욱이 막막했을 것 같다.(하지만 이부분은 금방 익숙해지니 너무 걱정 말자. ) 

 

리눅스 명령어와 관련된 과제를 마무리하고 나면, C언어를 활용한 과제들이 시작된다. 첫째주 금요일 시험에 C가 나오기때문에, 첫째주에 Shell00, 01과제를 빠르게 밀거나, 시험전날, 전전날에는 잠깐 멈추고 C과제를 공부하면 좋다. 필자는 주변 동료들의  많은 도움으로 Shell00, 01을 서둘러 마무리 지을 수 있었고, 시험전날엔 C00과제를 시작할 수 있었다. (시험에는 Shell00, 01 문제는 전혀 나오지 않는다. ) 

 

첫째주 금요일 첫 exam을 보게 되면, 많은 사람들이 응시조차 못하고 시험장을 나가게 된다. 42서울에서 안내한대로 로그인을 하면, 빈화면이 나오는데, 빈화면에서 어떻게 시작하는지를 피시너들이 스스로 찾아야한다. 총 4시간동안 시험을 보는데, 필자 또한 로그인을 하고 빈화면에서 어떻게 시험을 봐야하는지 찾는데만 1시간이 걸렸다. ( 이때 기억은 정말 잊을 수 없다. 한국 15년 학교생활을 하며 단련된 중간,기말, 모의고사 등등 시험장에서 시험문제 푸는 방식만에 특화되어있었는데, 시작조차 못하니, 온몸에 식은땀이 났고, 두려웠었다. ) 

 

시험을 어떻게 시작하는지는 찾아보지 말고, 직접 경험해보시는게 재미있을 것 같으니, 한번 부딪혀보시라.

( 참고로, 첫 시험은 전혀 의미 없다 ) 

(첫 시험의 시험범위는 C00 ~ C05정도라, 필자또한 모든 문제를 풀지는 못했다. )

 

 첫 시험을 끝내고 나면, 18시에 Rush 라는 조별과제 팀원이 발표된다. 시험을 치고 클러스터(교육장)에 복귀해서 다시 공부를 이어가시는 분들도 많고, 집에가시는 분들도 많은데, 필자는 장기전이라고 생각했기에, 금요일 시험 이후에는 항상 집에가거나, 놀거나 했었다. 조별과제를 위한 단톡방이 만들어지고, 토요일 일요일에 조별과제를 함께 해결하게 된다. 조별과제는 개인과제보다 훨~씬 어렵게 나오기에, 못하지만 도전해보자 라는 마인드로 가져가면 좋다. 또, 잘 알다시피 조별과제는 운빨이기에, 좋은 팀원을 만나지 못하면 갈등만 생기기에 너무 큰 신경을 안쓰는게 좋다. ( 필자의 경우, 한분은 중간에 과정포기를, 한분은 다른분들과 다른길을 걷고 싶다며 독창적으로 하자고 강력히 주창하셔서 독창적으로 했다가 0점을 받게 되었다...ㅎㅎ Rush 를 하다보면, 어떤식으로 하면되는지 소문이 도는데, 그냥 소문대로 하는게 안전한듯 하다.)

 

조별과제를 마무리하면, 남은 주말시간에도 개인과제를 밀게 된다.

 

2주차 

 

2주차에 들어서면 몇몇분들이 안보이기 시작한다. 20명 정도 나간것을 확인할 수 있다. (우리때는 2주차 시험 신청한 사람수가 -20이었다) 또, 친해진 사람들이 생긴다. <- 이부분이 정말 중요하다. 필자의 경우, 코딩과의 싸움에서 항상 런각을 쟀었는데, 1,2주차 때 친해진분들덕분에 끝까지 완주할 수 있었다. (사람들과 친해지는 것이 부담이라면 걱정말자. 어쩔 수 없이 친해질 수 밖에 없는 환경이고, slack에서 같이 밥먹으로 갈사람을 항상 구하는 사람들이 있으니, 밥 몇번 같이 먹다보면 금방 친해진다. 필자는 처음에 주변에 계신 분들과 밥을 한번 먹고, slack에서 저녁에 맥도날드 갈 사람을 구해서 같이 갔다가, 맥도날드 팟의 사람들과 끝까지 친하게 지냈었다. 또, 학교 에타에 42서울 9기 2차하는 사람 손 했었는데, 많은 학우들이 함께하고 있음을 알게 되어, 금방 친해질 수 있었고, 나름의 카르텔(?), 무리(?) 를 만들 수 있었다. - 무리라고 해봤자, 같이 옆자리에서 공부하고, 같이 밥먹는 것이지, 부정적인 그런건 아니다. ) 

 

친해진 사람들과 함께 점심 저녁을 먹으면서 함께 과제를 밀게 되는데, 필자의 경우, 포인터, 동적할당, 재귀함수, 기타 알고리즘들에 대한 개념들이 전무했기 때문에 친해진 사람들중에서 전공자분들께 정말 많이 물어봤다. 상부상조를 할 수 밖에 없는 구조기 때문도 있고, 좋은 사람들을 만났기에 항상 친절하게 설명해주셨어서, 과제를 미는데 큰 도움이 되었다. 

 

또, C를 아무래도 처음 다루다보니, 왜 안되는지, 왜 에러가 나는지 전혀 감을 못잡을 때마다, 주변 동료들이 이렇게 하면 안된다 등, 저렇게 해봐라 라는 조언들이 큰 힘이 되었고, 덕분에 성장할 수 있었다. 과제를 수행하다보면, 제대로 만들었는지 확인을 위해 테스트케이스를 직접만들어서 돌려봐야되는데, 필자의 경우 테스트케이스를 만드는게 너무나도 시간이 오래걸렸고, 어려웠다. 슬랙에서 누가 올려주면 해당 코드를 복붙해 테스트를 돌려보기도 하고 친해진분들께 테스트케이스 어떻게 만들었는지도 많이 여쭸었다. 

 

C 05 까지 2주차에 마무리하면 정신건강에 좋은 것 같다. ( 필자는 뒤처지고 있다는 생각이 들면 힘이 빠지는 성격이기에 진도만큼은 뒤처지지 않기 위해 평균을 따라가기 위해 아등바등 했다. ) 보통 과제의 마지막 2문제가 정말 어려운데, 필자의 경우 위의 진도속도의 이유 및 시험에 나오는 진도를 맞추기 위해서 어려운것들은 다 건너뛰었다. 과제에 필요한 개념들을 숙지하기 위해서 친해진분들, 전공자분들께 여쭙고, 출퇴근하는 버스에서 해당 개념에 대한 유튜브 강의들은 대부분 찾아보아 부족한걸 채웠었다. 특히 포인터 개념은 몇번을 설명 들어도 몰랐는데, 강의를 쭉 들으니 왜 이렇게 말씀해주셨는지 확 와닿는 재밌는 경험이었다. 

 

2주차 금요일이 되면 마찬가지로 시험을 보게되고, 주말도 Rush 를 하게 된다. 필자의 경우 2주차 금요일 시험이후에는 친해진 사람들과 "맥주 한잔만 먹고 돌아와서 공부하자" 했었었다. ( 그러나, 이는 불가능한것임을 맥주한잔을 먹고 모두가 깨달았다. 어느때보다 술이 달콤했고, 그 결과 2차에서 광란의 밤을 보냈다...ㅎㅎ ) 

 

2주차 Rush 부터는 문제 난이도가 정말 엄청나게 올라간다. 정말 잘하는 초고수님이 팀에 없다면 사실상 불가능의 영역이다. BFS, DFS, 백트래킹을 완벽히 숙지하고 있어야풀수 있는데, 필자의 경우 팀원모두 비전공자였고, 재귀함수도 아직 이해를 못한상황에서 해결해 낼수는 없었다. 할수 있는데 까지는 하고 제출한것에 의의를 두었다. 

 

 

3주차 

 

3주차가 되면 사람이 -50 정도 된다. 300명중 250명만 남게 되는데, 필자의 경우, 사람빠지는 모습을 보며 위안을 얻었다. (왜냐하면, 경쟁률이 3:1 에서 2.5 :1 이 된거니까...) 우스갯소리로 사람들마다 "경쟁자제거"이런 이야기를 하는데, 친해진 사람들과는 정말 함께 붙고 싶은 마음들이었으리라 생각한다. 정말 서로서로 의지하게 되니까 말이다. 

 

3주차가 되면 정신적으로도, 체력적으로도 피크이다. 앉아만 있어도 졸음이오고, 금방 피곤해진다. 하지만, 2주도 안남은 시기기에, 어느때보다 진도를 더 나가야하기에 시간이 정말 부족하다. 우리 사람들의 경우, 밥을 거르는 시도들이 있었다 ( 아점저 라고 아침점심저녁 한끼에 해결하겠다는 운동이 있었는데, 이틀째에 실패 .. 밥 먹고 살자고 하는건데, 밥은 제끼대로 잘 먹읍시다 ) 필자의 경우, 밥 양을 좀 줄이고 커피를 더 먹어서 버틸 수 있었던 것 같다. 

 

3주차 진도때부터 모르는 개념들이 왕창나와서 따라가는데 벅찼던 것 같다. 그 어느때보다 많이 주변 분들께 여쭸었고, 도움을 많이 받았다. 버스에서 강의를 듣고 집에와서 공부를 시작했고, 야식을 먹게 되었는데 그 결과 살이 엄청 쪘다. 필자의 목표는 3주차까지 모든 진도를 마무리 짓고, 4주차에 앞에 건너온 어려운 문제를 다시 보는 것이었어서, 스퍼트를 3주차에 냈었다. 그만큼 시간save를 하기 위한 부단한 노력들을 했고, 클러스터 있는 시간을 기존 9시부터 21시까지에서, 9시부터 23시 20분으로 늘렸다. 미친듯이 달렸고, 3주차까지 C11까지(C10) 을 제외하고 나아갈 수 있었다. 

 

진도를 다 마무리 지을 수 있었던 이유는 RUSH 02 는 시도조차 안했다. 참가신청에 의미를 두었었다. 이를 해결한 팀을 옆에서 지켜봤는데, 함수만 무려 120개가 나왔다... 또 다 비전공생들끼리 모인 팀이었기에 만장일치로 포기했다. 빠른 포기 덕분에 토요일 일요일 모두 개인과제에 집중할 수 있었다. 또, 3주차에 동료평가를 엄청 다녔었다. 앞에 하신 분들의 코드들을 눈으로 익히고, 집에서 개념을 잡고, 클러스터에서 직접 코드를 짜는 선순환을 만들어서 진도를 제시간에 뺐다. 

 

또, 3주차에는 스퍼트를 내기 위해서 잠깐 무리에서 벗어나 구석탱이에 앉아 아무말도 안하고 컴퓨터만 12시간 내내 쳐다보았다. 모르는것이 있을때만 새로운 옆의 분들이나, 친해진 분들께 다시 찾아가 여쭤봤었다. ( 그덕에 배신자라는 별명이 생겨버렸다....ㅎㅎ) 

 

반응형

4주차

 

4주차가 되면 최종 시험을 신청한 사람을 볼 수 있는데, 우리 때는 300명 238명이 신청했다. 생각보다 많아서 근심이 많아졌었던 것 같지만, 앞에 남겨뒀던 과제들, 그리고 목요일 전까지 평가까지 받아야하는 bsq덕에 고민할 겨를도 없었다. bsq는 Rush 와 마찬가지로, 조별과제이나, Rush 는 랜덤하게 뽑힌 3명과 하게 되고, bsq는 내가 원하는 팀원 1명과 함께 하게 된다. <- 이때 잘하는 사람의 몸값은 올라간다. 미리미리 친해지고 미리미리 같이하자고 해두자... 필자는 친해진 잘하는 사람이 팔려가서 맘고생을 좀 했었다. 

 

마지막주에 다시 앞선 과제들을 보면 신기한 일이 일어나는데, 예전엔 막막해보였던 것들이 적어도 어떻게 풀어나가야할지 길은 보이게 된다. 동료평가를 하면서 다른 사람들의 풀이도 보고, 그리고 그만큼 또 성장한 덕에 도전해볼 용기가 생기는데, 도전해보면 풀리게된다. 성장의 힘을 믿게 된 계기였다. 개인적으로 가장 어려웠고, 와닿지 않은 C05의 마지막 문제는 친해진 분을 붙잡아두고 7번 정도 여쭤봤었고 조금은 내적친밀감이 해당 문제와 생겨서, 해결이 되었다. 

 

이렇게 C11전까지 모든 과제를 마무리 짓게 되면 bsq를 하게 되는데, bsq는 Rush 와 다르게 해볼법하다. 우리는 친하게 지냈던 모든 분들과 합심해서 문제를 나눠서 풀게 되었는데, 이 경험이 너무나도 재밌었다. 새벽까지 같이 토의하면서 문제를 풀어나가는 경험 그리고 풀었을때 하이파이브 치는 경험은 잊을 수 없을 것 같다. 아쉽게도, 평가에서 Norme 오류에서 걸려서 0점처리 되긴했지만 재미난 경험이었다. 

 

마지막주 목요일에, bsq를 평가를 받고, 사람들과 저녁을 먹으며 마지막 final exam 을 잘봐서 모두 본과정에서 꼭 보자는 다짐을 한채로 헤어지는데 final exam은 자신이 풀고 있던 과제를 기준으로 문제가 나오게 된다. 가장 중요한 것은, 과제 때 통과했는데, 혹은 지난 시험에서 통과했는데, 틀리면 선발될 가능성이 사라진다는 것이다. ( 나보다 훨씬 잘하던 분이 마지막 시험에서, 어처구니없게 막혀서 뒷문제를 못푸셨는데, 떨어졌다.  ) 그만큼 앞에 과제들에 대한 복습과, 컨디션 관리가 필수다. 8시간을 시험을 보는 만큼, 막혔을때 어떻게할지, 어떻게 멘탈을 잡을지에 대한 고민들도 해나가면 좋다. exam들은 앞에서 문제가 막히면 뒷문제부터 못푼다. 앞에게 반드시 통과되어야뒷문제를 풀 수 있으며, 틀릴 경우, waiting시간이 길어지는 penalty가 부여된다 ( 최대 4시간 ) 

 

필자의 경우, 카마도 탄지로를 계속 생각하며 틀릴경우 멘탈을 붙잡았다...

 

그렇게 final exam을 submit하면, 그렇게 26일간의 피신생활은 막을 내리게 된다.

 

 

 

 

뒷내용 4,5,6이 궁금하다면 

https://david-kim2028.tistory.com/entry/42%EC%84%9C%EC%9A%B8-%EB%9D%BC%ED%94%BC%EC%8B%A0-%ED%95%A9%EA%B2%A9-%EA%BF%80%ED%8C%81

 

42서울 라피신 합격 꿀팁

이 글을 보는 독자분들은 아마, 필자는 누구이며, 라피신에는 어떤 마음가짐으로 임했고, 라피신 생활은 어떠한지, 그리고 어떻게 하면 합격을 하는지가 궁금해 할것으로 생각되어 해당 flow대로

david-kim2028.tistory.com

 

 

 

 

반응형

'42서울' 카테고리의 다른 글

42서울 라피신 합격 꿀팁  (4) 2023.03.10
Comments