다른 분들이 많이 보셨으면 좋겠어서.. 제목을 정직하게 지었다.
처음에는 시간이 정말 안 갔지만, 나날이 시간이 빨라지는 기분이었다.
후기를 빙자한 팁(훈수)을 한 번 써보자.
42서울..? 라 피신..?
42서울은 간단히 말하자면 이노베이션 아카데미 재단에서 운영하는 개발자 양성 프로그램이다.
프랑스에서 시작해서 전 세계에 여러 국가에서 진행되고 있더라.
(인트라에서 보고 깜짝 놀랐음.. 몇 개국에서 하는 거야 도대체)
피신이라는 선발과정과 본과정으로 나뉘어서 운영된다.
과기정통부(과학기술정보통신부)에서도 지원해주는 사업이라 시설도 빵빵하고 좋다.
싹다 고사양의 아이맥이어서 작업하는 데에 하드웨어 때문에 고생하지는 않는다.
물론 각 피시너마다 제한해놓은 용량(5GB)이 있긴 하지만..
키보드나 마우스, 패드 자체는 엄청 좋은 것은 아니지만 전혀 문제가 되지 않을 정도다.
화장실도 깨끗한 편이고, 근처에 먹을 곳도 꽤 많다.
'강남'을 느낄 수 있음.
구체적인 42서울자체에 대한 정보는 여러 글에도 써있고, 홈페이지에서 찾아보면 된다.
라 피신(la piscine)은 불어로 수영장이라는 뜻이다.
(la가 the, piscine이 pool인 듯)
혹시 예전에 유튜브에서 잠깐 유행했던 가짜 사나이를 기억하시는지..?
기존에 알던 수강방식의 강의, 교수, 수업료 등은 없다.
(간단한 강의는 있음. 물론 프랑스어로..)
개인과제와 팀 프로젝트, 그리고 시험을 치루는데,
이 모든 것에 대한 준비는 개인학습과 동료학습으로 이뤄진다.
동료학습이 가장 중요한 포인트다.
알고 있는 사람에게 내가 모르는 것을 물어보고,
모르는 사람에게 내가 아는 것을 알려줘야 한다.
반드시 그렇게 되게끔 시스템이 구성되어있기도 하지만, 그렇게 하지 않으면 제대로 살아남을 수 없다.
유대인들의 학습방법 중에는 하브루타라는 학습법이 있다.
서로가 공부한 것에 대해 질문하고, 대답하는 방식으로 공/수를 진행하면서 배우는 것이다.
42서울의 동료학습이 딱 이렇다.
본인이 제출한 과제에 대해서 설명하고, 상대방을 이해시켜야 한다.
상대방이 모르는 것이라면, 알게끔 설명해야하고, 충분하지 않다면 그 과제는 통과될 수 없다.
이러한 과정에서 얻게 되는 것은 다음과 같다.
1. 코드를 '잘' 설명/이해할 수 있는 능력
상대방을 이해시켜야하기 때문에, 어느 정도 정리된 설명이 필요한데,
본인이 알고 짠 코드를 다른 사람이 알아듣도록 설명하는 건 쉬운 일이 아니다.
그러다보니 디펜스를 진행하면서 미리 상대방이 질문할 부분의 논리가 부족하다면, 더 공부하게 되고,
이래저래 상대방의 질문에 대답하다가 술술 말하고 있는 자신을 발견하게 된다.
반대로 평가를 하러간 입장에서는 상대방의 코드를 보고, 이 사람이 제대로 알고 코드를 작성했는지 확인해야 한다.
그래서 당연히 평가자도 문제나, 코드를 보고 이해할 줄 알아야 하고,
자연스럽게 평가를 다니면서 코드를 보고 이해하는 능력과, 다른 사람들의 코드와 비교해서 어떤 것이 더 좋은지 보는 눈이 길러진다.
2. 내 코드에 대한 이해도
디펜스를 위해서 논리정연하게 쳐낼 수 있을 정도로 엄밀하게 공부를 하든지,
코드를 정말 정확하게 짜내든지 하게 되고, 이를 통해서 자연스럽게 잘 설명하게 된다.
그리고 한 과제에 대해서 두번의 동료평가를 받아야하고, 또 실패한 과제에 대해서 리트라이를 하다 보면
어느 순간 어떤 것이 부족한지, 어떤 방식이 더 좋을지에 대해서 고민하게되고
문제와 내 코드에 대해서 자연스럽게 이해력이 올라가게 된다.
실제로 나는 5트한 과제들이 있었는데, 거듭할 수록 점점 코드가 엄밀해지는 것을 보고 느끼는 점이 많았다.
3. 코드로 상대방과 대화하는 방법
평가 / 피평가의 입장에 놓이다보니, 자연스럽게 약간의 위계나 불편함이 느껴진다.
평가를 하는 기준 자체에도 결국 평가자의 마음이 절대적이기 때문에, 갈등이 빚어지는 일도 종종 있었다.
하지만, 그런 소수케이스를 제외하고는 서로가 부족한 점이 무엇인지, 잘한 점이 무엇인지 짚어주면서
어떤 식으로 말을 해야지 필요한 점들을 잘 짚어내고, 서로 피곤하지 않을 수 있는 지에 대해서 점점 알게된다.
4. 동료
피신을 진행하면서, 잘 하는 사람은 반드시 존재할 수 밖에 없다.
따라가지 못하는 사람이 못 난 것이 아니다. 당연히 그럴 수 밖에 없다. 세상이 원래 그렇다.
그 중에서도 평가를 진행하다보면 정말 의욕있고 열정을 활활태우면서 배우는 동료들도 있고,
그런 동료들에게 언제든지 도와주면서 함께 공부하는 동료들도 있다.
모든 사람이 이런 것은 아니지만 내가 느꼈던 피시너의 대부분은 서로 도움을 주고 받는 관계였다.
자연스럽게 평가를 진행하면서도 자신이 풀지 못했던, 풀지 않은 문제들에 대한 설명으로 도움을 받고,
지속적으로 관계를 이어가면서 좋은 동료관계를 형성하는 경우도 많았다.
나도 그런 케이스였고, 좋은 동료들을 만나서 피신을 행복하게 마칠 수 있었던 것 같다.
내 기준에서, 42서울의 가치는 동료학습이 9할이었다.
과정중에서 불친절하고, 이상한 면이 가끔씩 있다고 느껴지더라도
그것을 모두 극복할 수 있게끔 하는 것이 동료들과 동료학습이었다.
어쩌면 의도된 것이라는 생각이 피신을 진행하면서 종종 들었다.
어떻게 준비를 하면 좋을까?
42측에서는
'공부하고 오지 마세요'
라고 말한다.
대부분 피신을 진행하면서 이 얘기에 대해서 '너무하다', '통수 아니냐'라고 얘기하기도하고,
나도 어느 정도는 그렇게 생각한다. 그리고 권장하지는 않는다.
하지만, 본인이 정말 제대로 '피신 그 자체'를 느껴보고 싶다면 저 방법이 맞다고 생각한다.
공부한다고 제대로 된 피신을 하지 않은 것이라는 얘기는 아니고, 정말 동료학습을 통해서 배우는 느낌을 제대로 느낄 수 있지 않을까 싶다.
아무튼, 내 기준에서 어떤 것을 준비 하면 좋을 지는 다음과 같다.
(정말로 들어가서 배울 것에 대한 준비는 다른 곳에 많이 써있으니까.. 조금 다르게)
1. 멘탈
예상외로 중도에 포기하시는 분들이 많았다.
당장 첫날에 시작해보면 바로 느낌이 온다.
(진짜 해보면 아는 느낌임)
'아.. 이런 거구나..' 하면서도 제대로 시스템을 모르고, 주변 사람도 모를 때.
단체로 혼란을 겪다가도 먼저 나가는 사람을 보고 미묘한 감정이 들 때.
중간중간 공부하면서 잘하는 사람들에 대한 시기심과 나에 대한 아쉬움이 들 때.
영원히 못 풀 것 같고, 내 한계를 느낄 때.
'최대한 비교를 하지 않고, 나의 공부템포로 하되, 동료와 함께, 끝까지 학습하자'
는 마인드로 공부했었고, 나는 큰 도움이 됐었다.
나 말고도 잘하는 사람은 차고 넘친다.
그게 뭐가 문제지?, 그냥 물어보고 나는 도와줄 거 도와주고, 내 할 거 하면 된다.
과정 이후의 결과도 중요하지만, 당장은 그 결과보다 이 과정을 통해서 내가 얻을 수 있는 가치들에 집중하면 좋을 것 같다.
나는 끝까지 완주하는 것에 집중했고, 동료학습으로 얻을 수 있는 것들이 내가 얻은 가치들이었다.
2. 외향성
피신의 대부분은 동료평가로 시작해서 동료평가로 끝난다고 생각한다.
동료학습을 하려면 당연히 외향성(철판깔기)이 필요할 수 밖에 없다.
본인의 성격자체를 내성적이라고 못박고 시작하지 말자.
오히려 판이 깔려있고, 모두가 열린 마음인 곳이라, 생각했던 것 보다 힘겹지 않을 것이라고 생각한다.
간단하게 상대방과의 대화를 이끌고, 서로 존중하는 태도로 즐거운 분위기를 만들 수 있는 것이 중요하다.
여러 동료분들을 평가하고, 내가 평가를 받으면서, 초반에는 평가가 정말 부담되었지만
점점 어떤 방식으로 해야할 지 틀이 잡혔고, 시간이 지나면서 오히려 재밌는 일이 되었다.
(평가 더 다니고 싶었는데 너무 안 잡혔다..)
3. 간단한 프로그래밍 지식
당장 C언어 문법을 떼고.. 이런 것도 중요하지만,
내 입장에서는 두루두루 컴퓨터와 프로그래밍 자체에 대한 용어들을 익힌 것이 매우 도움이 되었다.
정말 두눈 뜨고 보고 있는데 무슨 말인지 모르겠는 것들이 마구마구 쏟아져 나올 때,
동료가 설명해주는 데 무슨 말을 하고 있는 건지 하나도 모르겠을 때,
어떤 지점에서 문장이 끊기는 지 정도는 알아야지 학습을 원활하게 할 수 있지 않을까?
4. 질문하는 방법과 검색하는 방법
우선 이 영상을 보시는 것을 추천한다.
(꽤 유명한 영상)
학습을 진행하다보면 물음을 받을 때도, 물어볼 때도 많다.
그 때마다 꼬리에 꼬리를 무는 '왜?'에 대해서 어떠한 방식으로 이 질답이 이어져야 하는 지에 대한 인식이 중요하다.
어디까지 어떻게 설명해야할 지를 생각하고난 다음, 묻거나 대답해줘야 한다는 것이다.
처음부터 끝까지 물어볼 수도 없고, 처음부터 끝까지 다 말해줄 수도 없다.
그래서, 질문하는 입장에서는 본인이 알아들을 수 있는 수준으로, 물어볼 사람이 알아듣게끔, 자신이 원하는 정보가 무엇인지
명확하게 물어봐야 서로 딱 떨어지게 질답이 이뤄질 수 있다.
또, 답해주는 입장에서는 물어본 사람이 알아듣게끔, 원하는 것이 이것이 맞는지 체크해가면서 말해주는 것이 좋다.
그렇지 않다면 서로 어느 순간 질문을 멈춰야 할 지 눈치를 보게되는 상황이 생길 수도 있다.
5. 본인만의 건강관리법
26일 내내 앉아서 코딩을 하다보면 건강관리가 필수다.
나는 중간중간 밤을 새기는 했지만, 꼭 충분한 휴식을 가졌었다.
이외에도 비타민.. 삼시세끼 꼬박꼬박 먹고.. 중간중간 당 떨어져서 사탕이나 초콜릿도 먹고..
음주는 2주차에 시험끝나고 한 번 했다.
(많이.. 먹었지 아마..?)
한 번 아프기 시작하면 눈치보이기도하고, 본인이 피신을 진행하는 데에 지속적으로 힘든게 누적되기 때문에,
원천차단할 수 있게끔 먼저 관리를 해주는 것이 좋다.
중간중간 스트레칭 매우 중요!!
내가 라 피신에서 배운 것
나는 원래 5월달에 막 시작한 비전공자였다.
이래저래 여러개 찍먹해보다가 문득 42서울에 도전을 한 것이었고,
애초에 지레 겁먹고 어디까지 할 수 있는지 테스트나 한번 해보자는 마인드였다.
(사실상 패배자 마인드였던 것 같다)
그런데, 예상외로 같이 고생하는 사람들과 같이 앉아서 같거나 비슷한 지향점으로 공부를 하다보니까, 자연스레 힘이 났었고
계속 챙기고 싶은 사람들, 날 챙겨주는 사람들에 대한 고마움과 즐거움이 생겨났었다.
하나하나 도전횟수가 쌓이고, 평가를 다니면서 여러 사람들과 코드리뷰도 재밌게 해보면서 배우는 재미를 알게 되고,
가장 크게 느꼈던, 한계점을 돌파하는 재미와 그 용기를 얻게 되었다.
나는 내가 도전하기 전에 미리 여러가지 경우의 수와 정보를 찾아서
최대한 예외적인 상황이 안 일어나게끔 쫄아있는 성격이다.
그래서 내가 본 글마다 매번 팀플은 첫 번째까지만, 최종과제는 하지마라 등의 글들을 봤었고,
개인과제도 밀기 힘든 데 무슨 팀플이냐 했었다.
그리고 시작할 때까지만 해도 나의 실력은 조악하기 그지 없었다.
그런데, 시간이 지나고 꾸준하게 하루하루 공부하다보니 예전의 내가 생각치도 못 할 정도로 긴 코드를 짜게 되고,
복잡한 로직이나 코드 구조에 대해서도 보고 이해하거나, 설명할 수 있게 되고
같이 고생해서 팀원들과 팀프로젝트를 완성해보는 경험을 하게 되면서 성장한 나를 발견하게 되었다.
꾸준히, 겁먹지 않고 도전하기에 대한 결과를 몇 번 얻고 나니까, 비록 실패하더라도 도전해 볼 용기가 생겨났다.
좋은 사람들과 함께 공부할 수 있는 환경이 매우 중요하고,
그 환경에서 일관성 있게 자신의 템포를 지키면서 공부하는 것이 중요하다는 것을 깨달았던 것 같다.
없으면 환경을 만들거나, 찾아내서라도.
'해보고 나니 별거 없더라'
라는 얘기를 하고 싶은 건 아니다.
다들 당연히 겁이 나기도 하고, 무서울 수도 있다.
그리고 실제로 그렇게 쉬운 과정도 아니고, 중간 중간 힘들 것이다.
그렇지만, 그렇게 겁 먹을 일까지는 아니다.
엄청 찾아보고 엄청 준비해서 들어와야 할 과정도 아닌 것 같다.
오롯이 들어온 다음에 집중해도 충분하다.
본인의 선택이니까.
다들 마음먹고 오는 만큼 너무 결과에 집착하지 말고 본인이 얻어갈 수 있는 것에 집중해서,
한 달을 재밌게 보내셨으면 좋겠다.
예비 피시너 화이팅!
'etc.' 카테고리의 다른 글
Cabi 서비스의 스프링 포팅과 DDD (0) | 2023.04.08 |
---|---|
(42 서울) 동료평가에 중용이 있을까? (0) | 2023.04.08 |
윈도우에서 cmd, Vim으로 C 경험하기 + 한글 (0) | 2022.07.18 |
VScode에서 Github에 간편하게 Commit, Push 하기 (0) | 2022.06.29 |