지원 후기/42Seoul

[42Seoul] 전공자의 라 피신 1주차 후기

들어가기 전에

42서울 라피신에 대한 후기는 '전공자'의 입장에서 작성되었습니다.

글의 끝에 들어가는 팁들도 '전공자'의 입장에서 진행할 수 있는 팁들입니다.

저는 비전공자가 아니기 때문에 함부로 비전공자의 입장에서 말씀드릴 수는 없습니다.


 

 

 

내 현재 상황

  • 저는 현재 홍익대학교 컴퓨터공학과 3학년을 마치고 1년 휴학 후 스프링(자바)기반의 백엔드 공부를 혼자 해왔습니다.
  • 학교 다닐때는 학교 공부를 나름 열심히는 하지만 학점은 그렇게 높진 않은 평균이었습니다. (3.6~7)
  • 혼자 공부하고 혼자 프로젝트하는 기간이 길었고 팀원들과 같이 코딩을 해본 경험이 한번도 없습니다.
  • C언어는 5년전 1학년 수업때한번, 2년전 운영체제 수업때 과제로 사용했습니다.
    운영체제 과제할때 C를 이용해 OS의 (스케쥴러, 메모리스와핑, ls와 cd 명령어) 구현을 한 경험이 있습니다.

 

 

 

지원 계기

 

사실 작년 말부터 42seoul의 존재는 알고 있었습니다.

라피신을 신청하기 위한 온라인테스트도 미리 통과해 놓았었고 올해 초부터 매 기수 마다 라피신을 신청해왔는데 다 실패하고 이제야 신청이 성공해서 참여하게 되었습니다.

 

위에서 언급했듯 저는 팀원들과 같이 코딩을 해본 흔히 말하는 협업 경험이 없었기 때문에 협업 경험을 쌓기 위해 42seoul과 더불어 SW마에스트로, 부스트캠프 등 여러 프로그램을 동시에 지원해왔었습니다.

 

결정적인 42seoul의 지원 계기는 OP.GG 경진대회에서의 면접이었습니다.

OP.GG경진대회에서 면접을 볼 때 가장 키포인트의 질문이 '협업시에 어떠한 고난이 있었고 어떻게 극복했나' 였습니다.

저는 협업해본 경험이 없었기 때문에 제대로 답변하지 못했고 결국 탈락하게 되었습니다.

 

또 한가지는 이제 내년 복학전에 제가 만들고 싶은 서비스를 최대한 완성하고 싶은데, 혼자 힘으로 다 할 수는 없다보니 프론트엔드 개발자와의 협업이 필요합니다. 

42seoul에서 개발에 열정이 있는 동료를 찾으면 좋겠지만, 찾지 못하더라도 라 피신 한달간의 동료학습 경험이 결국에는 큰 도움이 될 것이라고 확신이 들었습니다.

 

 

 

 

 

 

1주차

 

월 (클러스터 출석)

코로나로 인해 300명의 인원이 1그룹, 2그룹 절반으로 나뉘어 격일로 클러스터에 나갈 수 있었습니다.

저는 1그룹이어서 월, 수, 금, 토 이렇게 출석할 수 있었습니다.

 

월요일에 피신 등록과정과 OT가 있었습니다.

이때 첫날이니 OT만 하고 끝나겠다고 착각을 해서 마음의 준비를 하고 있지 않았는데, OT가 끝난 오전 11시부터 바로 수영장에 던져졌습니다. OT에서 가장 인상깊었던 말은 '경쟁금지' 였습니다.

 

클러스터는 오후 10시까지 운영하고있었고, 첫날이지만 어쩌다보니 저는 10시까지 꽉 채우고 퇴근하게 되었습니다.

 

10시까지 꽉 채웠지만 알게된건 인트라넷이 어떤 구조인지..? 정도 겨우 파악했고 과제는 거의 진행도 못했습니다.

 

 

화 (온라인)

제가 백신 2차접종 받는 날이었습니다.

다행히 접종을 받아도 당일에는 그렇게 아프지 않아 본격적으로 개인과제를 수행하기 시작했습니다.

하지만 클러스터에 출근하지 않고 집에서 혼자 진행하니까 집중도 잘 안되고 익숙하지 않은 과제내용이라 진행이 더뎠습니다.

 

 

 

수 (클러스터 출석)

아침에 몸이 괜찮아 점심먹고 클러스터에 출석했습니다.

근데 도착과 동시에 두통이 왔습니다.

그래도 다행히 저녁먹고 약먹으니 좀 괜찮아져 10시까지 개인과제 수행하다가 퇴근했습니다.

 

 

 

 

목 (온라인)

이제 좀 뭐가뭔지 알게돼서 빨리빨리 진행을 해야겠다고 마음먹고 집에서 열심히 과제를 진행했습니다.

그러다 저녁에 슬랙으로 동료분이랑 다음날 있을 시험 얘기를 하다가 지금까지 한 시험공부가 잘못되어있다는 것을 깨닫고 부랴부랴 시험준비를 했습니다.

 

 

 

 

금 (시험)

라피신 과정 4주의 매주 금요일마다 시험이 있습니다.

 

첫 시험은 절반 이상이 시험 시작도 못하고 나가게 된다는 악명을 들었지만 제가 대비할 수 있는건 없었습니다.

 

시험은 간단하게 말하면 시험이 시작되고 10분안에 앞에있는 IMac에서 무언가를 해서 시험시작을 해야했습니다.

이 무언가에 대한 것은 어느 누구도 알려주지 않고 본인이 찾고 깨달은 후 시작해야합니다.

5기 이후 피시너들을 위한 작은 팁을 드리자면, 'docs' 이 단어를 기억하세요.

 

시험 내용은 비전공자들에게는 악랄한 그런 시험 내용이었습니다.

물론 전공자라고 해도 시험에 대한 정보를 미리 조금이라도 파악하지 않았다면 풀 수 없을 지도 모를 것입니다.

 

게다가 첫날에 서버가 터져 문제를 풀던 도중 시험이 중단돼 푼 데 까지만 점수를 받았습니다.

 

왜 점수 분포가 0(대부분), 100(소수), 50(나머지) 인지 알 것 같은 시험내용과 방식이었습니다.

 

아, 참고로 더 팁을 드리자면 시험은 신청하지 않으면 시작조차 하지 못해 0점입니다.

신청은 아래 두 개를 다 해야 신청됩니다.

  1. subscribe
  2. 일정등록

 

 

 

토 (클러스터 출석, RUSH)

42seoul에서는 매주 주말 RUSH라는 (팀원랜덤매칭)팀프로젝트를 신청할 수 있습니다.

저 또한 라 피신에 참여하기 전에 첫주 러쉬는 꼭 신청해라 라는 후기를 많이봐서 신청했습니다.

 

rush 또한 시험신청과 마찬가지로 '신청'을 해야합니다.

rush는 subscribe만 하면 됩니다.

 

첫 rush는 저의 개발인생에 터닝포인트가 될만큼 뜻깊은 팀플이었습니다.

 

저는 비전공자 두분과 팀매칭이 되었습니다.

한 분(A)은 C언어를 4일정도 공부하셨고, 다른 한 분(B)은 C언어는 한번도 해본 적 없지만 정처기 필기는 따신 분이었습니다.

다행히 열정적인 분들이라 그나마 전공자인 제가 이끌어갈 수는 있었습니다.

 

특히 rush는 평가를 받을때 가장 설명을 못한 팀원의 기준으로 점수가 매겨지는 시스템이었습니다.

그래서 팀플진행을 기초부터 천천히 진행해야겠다고 생각했습니다.

 

일단 C언어를 해보지 않은 B분과 전담마크 과외에 들어갔습니다.

일단 함수가 어떻게 생겼는지, 어떤 의미인지 부터 시작해 main함수를 알려드린 후 앞으로 우리가 짜야할 새로운 함수의 구조를 스스로 짜볼 수 있도록 유도했습니다.

B분이 혼자서 함수의 구조를 짜보시는 동안 A분과 rush과제의 알고리즘구조에 대한 회의에 들어갔습니다.

최종과제를 구현하기 위해 3단계의 구현으로 나누었고 1, 2단계까지 A, B 두분이서 짤 수 있도록 옆에서 도왔습니다.

초보자라면 당연히 실수하는 ';'세미콜론 실수와

초보자라면 당연히 어려울 수 있는 2중반복문에 대한 개념이해등 여러가지를 잡아나갔습니다.

 

1, 2단계가 완성된 후 과제의 완성단계인 3단계를 다같이 짜봤고, 오히려 제가 짠 코드보다 A분이 짠 코드가 더 깔끔해 A분께 설명을 듣고 그 코드를 발전시켰습니다.

 

맨 처음 완성된 코드는 당연히 처음보는 사람은 이해하지 못하는 스파게티 코드였습니다.

그래서 저는 이 코드를 기능단위로 최대한 함수로 빼내려는 시도를 했습니다.

처음에 함수로 뺄 것이라고 말씀 드렸을때 A, B분들은 이해를 못하셨습니다.

 

그래서 한 함수에 모든 것이 모여있는 코드보다 각자 하나의 기능을 하는 여러개의 함수를 이용해 구성하는 것이 훨씬 좋다는 것을 이해시켜드렸고, 직접 함수로 계속 구분하며 리팩토링 했습니다.

함수로 나눈 리팩토링이 끝나고 코드를 보자마자 팀원분들은 왜 이렇게 나눴는지 바로 이해가 됐다고 말씀해주셔 뿌듯했습니다.

 

그리고 이제는 변수명과 함수명들을 정리해나갔습니다.

처음에는 a, b, q, w 같은 의미없는 변수명을 사용했었습니다.

이때도 완성했는데 수정을 해야하냐는 팀원분들의 말씀이 있었지만, 당연히 고쳐야 하는 것이라고 말씀드렸습니다.

의미없는 알파벳 변수명들이, position, size, side_check, edge_check 등 여러가지 의미 있는 이름들로 바뀌어 가는 모습을 보며 팀원분들이 또 바로 이해가 됐다고 말씀해 주셨습니다.

 

결국 완성된 코드는 처음 보는 사람도 주석없이 구조, 변수명, 함수명으로 충분히 쉽게 읽고 유추할 수 있게 만들어져 있었습니다.

솔직히 다른 팀들의 코드를 봤을때도 저희 코드가 제일 깔끔하다고 자부했습니다.

 

그리고 A, B 분들이 충분히 이 코드를 누군가에게 설명하는 것처럼 설명연습도 해보았는데 다들 잘 하셨습니다.

 

채점은 아직 받지 않았지만 설령 실수가 있어 만점을 받지 못하더라도 뜻깊은 러쉬였습니다.

 

 

 

일 (온라인)

제목엔 온라인이라 썼지만 약속이 있어 학습을 못했습니다...

그래도 버스안에서 다음 과제 눈코딩도 좀 하고 이렇게 블로그에 라 피신 1주차 후기도 작성하고 있습니다.

 

 

 

 

 

 

 

종합적인 1주차 후기

누군가 1주차가 끝났는데 느낌이 어떻냐고 물어본다면..

힘들지만 재밌어...근데 힘들어...근데 재밌어...근데 힘들다고 말할 것 같습니다.

 

비전공자 분들은 마음 단단히 먹고 오셔야합니다.

열심히하시고 저보다 잘하는 비전공자분들도 당연히 많이 계셨지만, 어려워하시는 비전공자 분들이 정말 많이 계셨습니다.

제가 코딩을 안해본 비전공자였다면 99%확률로 첫주에 빤스런 했습니다.

 

컴공3년 전공자가 봤을때 첫주차 과제와 시험 난이도는 '할만한데?' 느낌이었습니다.

시간만 있으면 다 풀어낼 수 있는 느낌입니다.

 

이제 이 느낌이 주차가 지날수록 어떻게 바뀔진 모르겠지만 자만하지 않고 최선을 다해 끝까지 살아남을 것입니다.

 

 

 

2021.09.19 - [지원 후기/42Seoul] - [42Seoul] 전공자의 라 피신 2주차 후기

 

[42Seoul] 전공자의 라 피신 2주차 후기

들어가기 전에 42서울 라피신에 대한 후기는 '전공자'의 입장에서 작성되었습니다. 글의 끝에 들어가는 팁들도 '전공자'의 입장에서 진행할 수 있는 팁들입니다. 저는 비전공자가 아니기 때문에

ksabs.tistory.com