안녕하세요. 멘토 김수보입니다.
이 글은 2018년 “에꼴42” 실리콘밸리 캠퍼스에서
피씬에 참여했던 Mike Brave가 올린 글입니다.
“에꼴42″의 철학과 공부하는 방법,
“피씬”에 임하는 지원자들의 태도에 대해 잘 나와 있습니다.
“피씬”에 처음 참여하는 사람과
“본과정”을 시작하는 학생들을 위해
이 글을 번역해 보았습니다.
Mike Brave 는 원래 디자이너였는데
“에꼴42″과정을 통해 프로그래밍을 배우고
현재 실리콘밸리에서 게임개발자로 일하고 있습니다.
블로그 번역에 대해선 허락을 구했으며,
팬데믹이 풀리면 “42서울”에도 한 번 오기로 했습니다. (물론 상황이 되어야)
오게 되면 제가 마중나갈 예정이구요. 🙂
참고로, Mike 가 참여했던 “피씬”과 “본과정”은 “42 구과정”입니다.
현재의 “42서울”는 “신과정”이구요.
하지만 42의 철학과 공부방법 만큼은 다르지 않습니다.
현재 코로나가 길어지면서 집에서 우울증을 앓는 친구가 많은데요.
이 글을 보면서 다시 한 번 피씬 때의 열정을 회상하셨으면 좋겠습니다.
내용이 깁니다.
Section 1 : Mike 의 참가소감
Section 2 : 피씬에 대한 이해
피씬만 궁금하신 분들은 Section 2를 보세요.
- 원문 : 42피씬 한달, 내가 배운 것들
- 저자 : Mike Brave, https://michaelbrave.github.io/about/
Section1. 소개
도전했고 좌절했고 많은 걸 배웠고, 한 사람으로서 성장했다.
이 시간은 내 인생에서 가장 값지게 보낸 한달이었다.
1. 내 인생에서 가장 힘들고 보람찬 한달을 보내다.

나는 코딩을 배우는데 홀라당 한 달을 바치고선 이제서야 집으로 돌아왔다.
“코딩이 즐겁다는 사실을 깨달았을땐 정말 내가 뭔가 대단한 사람이 된 듯한 느낌이 들었다.”
그동안 “숲속에서의 생활”이라는 책을 흉내내느라
달랑 C++ 한권과 노트북만 달랑 들고,
진짜 숲속으로 들어갔던 건 정말 부끄러운 기억이었다.

그에 비해 피씬과정은 정말…
“마지막까지도 뭔가를 이해하고 배우느라 몰두해 있는 나 자신을 발견하게 되었다.
거기에는 좌절, 성공, 호기심, 그리고 기쁨의 순간들이 있었다.”
나는 친구를 만들었고 스킬skill을 배웠고 한 사람으로서 성장했다.
감사하고, 겸손하고 경외로운 그 모든 경험의 순간이 이젠 끝났지만,
거기에서 겪었던 경험들을 정리해 보고자 한다.
2. 42 란 무엇인가?

42는 무료 코딩스쿨이다.
파리에서 “자비에르 니엘”이 설립했다.
단순한 무료 코딩스쿨이 아니다.
기본 교육법으로 “동료학습”을 이용한 “핸즈온 프로젝트”를 수행한다.
이 과정은 매우 경쟁력이 있어, 카뎃(학생)들은 회사가 찾고자 하는 인재로 성장한다.
내가 피씬을 하는 한달 동안에도 이름 있는 기업들의 채용담당자들이 학교에 와있었다.
작은 스타트업들이긴 하지만 피씬이 끝나자마자 나는 몇군데로부터 제안을 받기도 했다.
(비록 코딩스킬이 아니라, 옛날 경력인 디자이너 및 기획자로서이긴 했지만)

여기엔 유럽, 미국, 오스트레일리아, 뉴질랜드, 아프리카, 캐러비안, 우크라이나 사람들이 있다.
적어도 매일 5개의 다른 나라말을 들을 수 있다.
42과정에 대한 정보를 가장 잘 알 수 있는 곳은 그냥 웹사이트이다.
안전하게 실패할 수 있는 곳.
부정행위를 해서는 경험을 쌓을 수 없는 곳.
사람들은 그런 곳이 있으면 좋겠다고들 말한다.
이곳에 오기 전 똑같은 교육모델과 교육방법을 시도하는 혁신학교들을 찾아보았다.
네덜란드, 남아프리카공화국, 러시아 등 많은 학교들이 있었다.
하지만 정리된 학교목록을 찾지는 못했다.
이제 그 목록을 찾게 된다면 거기에 꼭 “에꼴42″를 넣고 싶다.
3. 처음으로 42에 대해 듣다.
2013년 기사를 통해 나는 처음 “에꼴42″를 알게 되었다.
그리고 나중에야 실리콘밸리에 이 학교가 생긴다는 걸 알게 되었다.(2016년)
이후로 나는 수시로 이 학교에 입학하는 꿈을 꾸게 되었다.
내가 좀 더 어렸을 때 이 학교를 알았다면 좋았을텐데…
고등학교를 졸업하고 바로 이곳으로 오는 친구들은
아마 이런 기회를 가지게 된 게 얼마나 큰 행운인지 깨닫지 못할거다.

처음의 내 꿈은 파리에 살고 싶어하는 전형적인 미국인들과 비슷했다.
카페 한 구석에서 아침을 먹고, 프랑스 여자친구를 만들고, 프랑스어를 배우면서
시를 읊조리고, 박물관을 방문하는 등등의 그런 일들을 하고 싶었다.
이젠 멋진 친구들에 둘러싸여 코딩을 배우고,
직장을 얻어 유럽에 뿌리를 내리는 것까지 꿈꾸고 있다.

“에라이 한번 도전해보자!”
어느날 난 큰 결심을 했다.
내가 파리캠퍼스에 참여하지 못했던 건 세가지 이유 때문이었다.
첫째로 프랑스어를 배우면서 코딩를 배운다는 건 매우 힘든 일이다.
둘째로 파리에는 나이제한이 있는 것 같았다. 내 나이는 그 것보다 약간 위였다.
셋째로 파리캠퍼스엔 기숙사가 없다.
사실 메인문제는 프랑스어였고, 나머지 두가지는 나중에서야 알게 되었다.
암튼 실리콘밸리에 참여하게 된 건 영광이었다.
물론 파리생활을 해보지 않았기 때문에 그곳과 비교할 수는 없다.
하지만, 이 정도라도 충분히 좋다라고 나는 생각한다.
4. 피씬이 뭔데?

카뎃이 되기 전, 한달 간의 “피씬” (수영장)이라는 과정이 있다.
소위 “Intensive basic training” 이라고 불리운다. (집중 기초훈련)
과정이 시작되면 매우 어려운 과제 속에 던져주고 아무것도 가르쳐주지 않는다.
오직 스스로, 또는 동료들과 그 문제를 해결하는지 지켜보기만 한다.
수영장에 사람을 빠뜨리고 스스로 헤엄칠 수 있는지를 지켜보는 교육철학때문이다.
(재미있게도 어린아이들이 이렇게 수영을 배운다고 한다.)
그들은 이렇게 이야기한다.
“다른 사람이 자전거 타는 걸 아무리 열심히 지켜보아도, 자전거 타는 법을 배울 수는 없다.”
나는 이 과정을 견뎌낸 사람들이 자랑스럽다.
실패를 계속하다보면 과거를 떨쳐버리기 힘들다.
그걸 극복하려면 나 자신과 자존심과 내려놓아야 한다.
나는 그런 걸 해내었다는게 정말 대단하다고 생각한다.
그냥 “치열하다”고 말하는 건 너무 부드러운 표현이다.
이 과정은 정말 사람이 변하는 경험이다.
(마치 탄소가 다이아몬드가 되는 것처럼 성격이 완전히 변한다.)
유사사례를 들자면 “해병대 훈련캠프”와 비슷하다.
단지 C 로 프로그래밍을 한다는 게 다를 뿐이다.
2/3 정도는 며칠안에 포기한다.
정확히 얼마나 많은 사람이 남게 되는지는 모른다.
하지만 확실히 50% 이하만 남는다.
혹자는 10%에 가깝다라고도 말한다.
내가 본 어떤 기사에선 1%라고 하기도 하는데, 그렇다면 하바드 합격률보다 낮은거다. (6%)
프로세스가 없어보이는 건 잘못된 게 아니다.
사람을 사귀고 질문을 하는 사람만 살아남고
그렇지 못한 사람은 도태되도록 설계된거다.
커리큘럼은 Unix 터미널에 익숙해지는 것부터 시작된다.
git 에 익숙해지고 loop 문을 이용해 간단한 프로그램을 만든다.
그리곤 Unix 함수와 C 라이브러리를 직접 다시 만들어본다.
결국에는 linked list, binary tree 같은 고급주제까지도 해보게 된다.
comprehensive list 와는 거리가 멀지만, 결국 그런 것까지도 관심을 가지게 된다.
좀 익숙해지긴 했지만,
여전히 나는 뒤쳐져 있는 것처럼 느껴지고 항상 따라잡기 바빴다.
하지만 사실은 이렇게 느끼도록 설계된 것이었다.
한 친구가 이렇게 말했다.
“아아. 내가 대학교 컴공과에서 2년동안 배운 걸 1주 안에 다 배운 것 같아.”
난 광고를 전공했기 때문에 진짜인지는 모른다.
하지만 그의 말을 믿을 수 밖에 없다.
정말 힘들었다. 아주 매우 매우 매우 엄청 힘들었다.
그럼에도 불구하고 난 내 인생 처음으로,
오랜동안 배울려고 애써왔던 것들을 드디어 배울 수 있었다.
(10년도 넘게 시도해 오던 것들이다.)
피씬은 우리 손에 뭔가 주어지는 게 아니라,
능동적이고 행동하고, 질문하고, 책임있게 행동하라고 가르친다.
아니 가르치는 것 그 이상이다.
“내가 뭘해야 하나요?”
이렇게 묻지 말고, 스스로 답을 찾으라고 한다.
입에 쓸지 몰라도 정확히 나에게 필요했던 약이다.
5. 내가 참여했던 이유
나는 12살 때부터 코딩을 배우고 싶었다.
하지만 난 어렸고 멘토나 선생님을 찾을 수도 없었다.
당시엔 유튜브도 없었고 구글도 충분하지 않았다.
사물을 이해하는 사람이 되는 것.
원하는 걸 프로그래밍할 때 미래가 창조된다는 것.
아직 존재하지 않는 것을 만들고,
예전에 만들어진 것에 의존하지 않는 것.
그렇게 되고 싶었다.
하지만 그걸 하기 위한 어떤 정보도 찾을 수 없었다.
나도 대학을 다녔고 온라인 교육도 받아보았고 책도 열심히 읽었었다.
하지만 나는 여전히 코딩하는 법을 알지 못했다.
노력이 부족했기 때문이 아니라 좋은 선생님이 없었고
혼자서 노력하는 스타일이기 때문이다.
그 노력이란 “hello world” 보다 한 단계 더 높은 걸 만들기 위한 것이었다.
뒤돌아보니 그게 핑계였다는 걸 알게 되었다.
나는 충분히 극복할 수 있었었다.
그걸 깨닫게 해준 것이 “피씬”이었고,
나는 훨씬 더 많은 걸 스스로 할 수 있게 되었다.
나에겐 html 이나 C 를 가르칠 수 있는 사람들보다,
포토샵을 가르칠 수 있는 사람들이 훨씬 더 많았었다.
나는 오랫동안 코딩을 배우고 싶었고 여러개의 부트캠프를 찾았지만 돈이 없었다.
보통 1천만원 이상의 돈이 들어간다.
돈을 내려면 일을 해야 하는데 함께 병행할 시간이 없었다.
파트타임 프로그램도 있었지만,
풀타임과 비교해서는 수준이 현저히 떨어졌다.
내 상황에 있는 사람들은 정말 선택권이 제한되어 있다.
나는 아마 운이 좋았던 것 같다.
나는 슈퍼코딩스쿨인 “파리”로 달려가는 꿈을 꾸었다.
하지만 결코 쉬운 결정이 아니었다.
언제든지 그만둘 수 있는 일을 구해야 하고,
생활환경이 변하는 것도 받아들여야 하고,
한곳에 얽매어 있지도 말아야 했다.
하지만 나는 그동안 저축을 좀 해온 게 있었다.
피씬에 지원하며 직장에 한달동안 쉬고싶다고 말을 꺼냈다.
회사가 쿨하게 허락해줄 수도 있고 아닐 수도 있었다.
아니라면 2주후에는 그만두어야 했다.
다행히 회사는 나를 붙잡아 주었고, 나는 정말 감사한 마음을 표했다.
목표를 위해 과감한 행동을 하는 것.
내 인생에서 가장 큰 해방감을 느낀 시기였다.
나는 “피씬” 동안 그 어떤 때보다 행복하게 잠을 잤었다.
뭔가를 찾아 방황하는 게 아니라,
미래를 향해 나아가고 있다는 확신 때문이었다.
6. 블로그에 모든 걸 기록하다.
피씬에 참여하기 전 힘들었던 건,
관련정보를 거의 찾을 수 없었다는 것이었다.
몇가지 찾긴 했지만 대부분 이런 것들이었다.
“피씬은 매우 힘들어요.”
“굳이 준비할 필요가 없어요.”
사실 도움되는 이야기는 없었다.
나는 블로그가 얼마나 내 지식을 견고하게 하는지,
다른 사람에게 얼마나 큰 도움이 되는지 잘 알고 있다.
나는 창업을 해본 적이 있고, 보이스카웃을 하기도 했다.
그래서 이런 생각에 익숙해져 있다.
“뭔가 있으면 좋겠다고 생각하면, 그냥 그걸 만들어라.”
“그리고, 항상 네가 찾는 것보다 더 나은 걸 만들어라.”
그래서 나는 매일의 경험을 블로그에 남기기로 했다.
내 팔로워들이 볼 수 있도록 !
누군가에게 도움이 되길 바랐던 것도 있지만,
결국에는 나에게 매우 큰 도움이 되었다.
나는 매일 하루를 뒤돌아보면서
내가 어디서 어려움을 겪고 있는지,
어디서 더 잘 배우고,
어디서 더 빠르게 성장하는지 느낄 수 있었다.
(“메타인지” 효과라고 한다.)
나는 지역신문을 발행하는 기분으로 글을 썼고,
덕분에 많은 동료들과 친숙한 관계를 맺을 수 있었다.
참고로 내가 새로운 “잡오퍼”를 받을 수 있었던 것도 블로그의 힘이 컸다.
시간을 쪼개어 작업하느라 내용이 좀 거칠긴 하지만,
나는 정말 사람들에게 도움이 되면 좋겠다.
특히 여기오면 어떤 걸 배울 수 있는지 몰라서 아직 결정하지 못했다면 더욱 더 말이다.
7. 캠퍼스 소개
(1) 시설
실리콘밸리 캠퍼스는 “디브라이 대학교”의 캠퍼스였다.
처음에는 최고수준의 리모델링을 계획했었다고 한다.
실제로 그렇게 되진 못했다고 한다.
하지만 내 눈에는 여전히 최고수준의 캠퍼스다.
가장 멋진 곳은 “Lab”실 (컴퓨터실)이다.
(2) The Lab, 컴퓨터실 = 클러스터
수백대의 컴퓨터가 진열되어 있고, “포스트잇”으로 만들어진 강아지,
그리고 창문너머로 아름다운 꽃들이 피어있다.

잠이 오지 않을 때 달려가서 뭔가 할 수 있는 24시간 개방된 Lab 실이 있다는 건 정말 멋진 일이다.
여긴 학생들이 참여하고 있는 프로그램에 따라 구역이 나뉘는데,
“피씬”을 하고 있는 친구라면 그 구역에 있는 컴퓨터들만 사용할 수 있다.

새벽 3시에도 여전히 Lab은 활기차다.
항상 20명 남짓의 사람들이 모여서 모여서 일을 하거나,
개인 프로젝트를 하고 있다.
Lab 정문에 있는 나무 사이에는 축 늘어진 줄이 걸려 있고,
기숙사로 가는 길엔 농구코트가 있고,
기숙사 안에는 탁구대, 보드게임공간, 체육관이 있다.

휴게실, 정원, 로봇공학실험실, 음악실, 자전거주차장, 클럽 등이 있고,
아이들에게 코딩을 가르칠 수 있는 공간도 있다.
하지만 피씬 기간동안에는 휴게실이랑 정원만 오픈된다.
(3) 기숙사
기숙사는 큰 방이 하나 주어지는데, 내가 떠날 때까지 이 방에서 4명이 생활했다.
우리는 화장실을 같이 썼는데, 서로 다른 수면스케쥴 때문에 숙면을 취하기는 좀 힘들었다. (귀마개 추천)

그래서일까. “기숙사에 들어가지 못했더라도 괜찮다.”
어디선가 이런 글귀를 본적이 있지만 솔직히 이 정도까지는 아니다.
역시 멀리서 통학하는 친구들이 아무래도 좀 더 힘들다.
여기가 마치 집처럼 느껴져요.
피씬 참가자들은 대부분 1층에 배치되고 남은 사람들이 2층에 배치된다.
2층 이상 배치되는 일은 거의 없다.
각층마다 “전자레인지”가 있지만, 내 방이 그 근처에 잡힐 확률은 낮다.
요리는 금지되어 있는데 냉장고와 자판기는 있다.
좀 일관성이 없어 보이긴 하지만…
(4) 식당 / 카티나
식당은 꽤 좋은 편이다.
채식주의자를 위한 “비건 코너”가 있고, 알러지 음식을 가려주기도 한다.
종류는 딥샌드위치, 중국식볶음 등등 아주 다양하다.
가장 가까운 레스토랑이 걸어서 20분 걸리기 때문에 왠만하면 이 식당을 이용했다.

칸티나는 학교 카페테리아의 부잣집 버전처럼 보인다.
함부로 손을 올려놓기 그렇고 아쉬운 구석이 있긴 하지만 대부분 이 표현에는 동감할 것이다.
콜라 기계, 티백, 물, 샐러드 등이 있고, 그 위에 뿌려 먹을 수 있는 양념들이 주욱 진열되어 있다.
여기서는 웹으로 주문하고 카드결제를 해야 하는데,
은행계좌가 없는 친구들은 어려움을 겪기도 한다.
Lab 한 쪽에는 커피가 있었는데,
학생 자원봉사자가 시간 날 때마다 내려주는 거라
항상 마실 수 있는 건 아니었다.
그럼에도 불구하고 나는 이게 있다는 것에 만족했다.
Section2. 42 에 대해
8. 피씬에 대한 이해
피씬에서 가장 중요한 것은 우리가 계속해서 뭔가를 배운다는 것이다.
나는 “피씬” 기간 한달이 딱 한가지 측면에서 매우 특별하다고 생각한다.
“헌신적인 dedicated 사람과 아닌 사람을 걸러낸다.”

(1) 과제 subject
우리는 주로 Unix 터미널에서 git 과 C 만으로 모든 걸 했다. C++도 아니다.
프로젝트의 대부분은 Unix 명령어와 C 함수를 다시 만드는 것들이었다.
기본적인 방법은 튜토리얼 비디오를 듣는 것이었는데,
내용이 광범위해서 다 듣고 나면 항상 검색하고 공부해야 할 것들이 넘쳤다.
우리는 지침이 담긴 숙제를 pdf 로 받는데,
대부분 세부과제가 4~20개 정도 포함되어 있었다.
특별한 경우를 제외하면 이걸 하는데 보통 이틀이 걸렸다.
우리는 문제를 이해하기 위해 노력하고,
친구들끼리 의논하기도 하고,
구글링을 한 다음
다시 이해하려고 했다.
“아하 하는 순간”이 생기면 그 다음 숙제로 넘어간다.
만일 그런 순간이 오지 않으면,
그 순간이 올 때까지 반복한다.
나는 가장 크게 망했을 때 깨닫게 되었다.
가장 강력한 해결수단은 “동료들과 함께 의논하는 것”이었다.

놀랐던 건 그 좌절감이 실패가 아니라 배움이 되었다는 것이다.
나는 고민하고 좌절하고 헤매었던 시간들이 지식을 더 깊게 한다는 걸 깨달았다.
직접 겪어보지 않으면 절대 알 수 없는 것들이었다.
문제지의 서투른 설명은 원래 나를 속이기 위해 만들어진 느낌이었다.
피씬에서의 핵심은 코딩하는 능력이 아니라,
방향을 찾고 누가 말해주지 않아도 스스로 그 길을 찾아가는 능력이었다.
문서의 시작부분에 있는 지시사항을 찬찬히 읽어야 하고,
문서를 살펴볼 때 이걸 연상해야 하기도 하고,
스크린샷도 눈여겨 볼 필요가 있다.
어떤 날은 주어진 과제들을 다 끝내지도 못했다.
하지만 가능한 많이 이해하려고 노력했다.
과제를 제출하고 며칠이 지나도 개념이 이해되지 않는 경우가 많았다.
좋은 점수를 받지 못했더라도 여전히 배움은 계속되었다.
(2) 평가 Evaluation
평가시스템은 내가 그동안 보아왔던 것과 달랐다.
첫번째 과제를 통과하지 못하면, 나머지는 모두 빵점이었다.
계속 이런식인데, 두번째 과제를 통과하지 못하면 세번째 과제는 아예 시작할 필요도 없었다.
그래서 앞의 과제를 건너뛰는 것보다 제대로 끝내는게 중요했다.
그날의 과제는 가장 쉬운 걸로 시작해서 점점 어려워진다.
첫 과제를 풀지 못하면 두번째 과제에 정답을 썼더라도 빵점 처리된다.
즉 첫 문제를 이해해야 뒷문제를 풀 수 있도록 설계되어 있었다.
세상 모든 에러와 컴파일 오류, 잘못된 코딩스타일, 충분히 예제를 읽지 못한 것 등등.
이런 이유로 코드가 실행되지 않았다.
하지만, 구형난로의 사용법을 익힐 때처럼 나는 점점 더 실수를 줄여나갈 수 있었다.
(3) 시험 Exam

시험도 있고, 스페셜 프로젝트도 있고, 팀과제도 있다.
시험은 기억하고 있는 것 빼고는 아무것도 참고할 수 없는 환경에서 치러진다.
당연히 인터넷은 안된다.
다만 충분히 고민할 수 있도록 매우 긴 시간과 종이와 펜이 주어진다.
누군가 과제는 잘 했는데 시험을 잘 치지 못했다면,
그건 누군가 과제를 대신 해주었다는 뜻이다.
여기서 핵심은 다른 사람의 코드를 참고할 수 없다는 것이 아니라,
그 과제를 제대로 이해하지 못했다는 뜻이다.
(그게 시험이 주는 의미이다.)
우리는 종종 “대비했다”Ready는 것과 “익숙하다”는 것을 “알고 있다”고 착각한다.
(4) 그룹과제 Team Work
그룹과제는 팀으로 일해야 한다는 것과 시간관리를 잘해야 한다는 것을 보여준다.
개인프로젝트는 일반 과제보다 더 어려웠고 난이도도 높았다.
(5) 시간관리
나는 하루 14시간 동안 로그인 해 있었지만, 16시간씩 로그인해 있는 친구들도 보았다.
나는 피씬을 통과하려면 최소한 8시간 이상은 로그인 해 있어야 한다고 생각한다.
나는 먹고 자고 씻는 것 외에 하루종일 코딩을 했다.

정신을 제대로 유지하고 미치지 않으려면 종종 여기저기서 쉬어줄 필요가 있긴 하다.
하지만, 먹고 자면서 휴식하는 것 빼고는 대부분 Lab 실에서 시간을 보내길 추천한다.
일주일에 두어시간 정도 캠퍼스 밖에서 머리를 식히는 걸 추천한다.
하지만, 절대 하루를 통째로 비우진 마라.
짬짬히 바깥공기를 쐬러 나가는 건 괜찮다.
궁극적으로 피씬은 탄력적 사고를 유지하고,
감정을 통제가능한 상태에 두고,
우선순위에 맞추어 시간관리를 해야 하는 “전투”와도 같다.
(6) 내가 습득한 스킬 Skills
피씬을 통과하기 위해 가장 중요한 것은 “성장”이다.
나는 도대체 무엇이 최종점수에 반영되는지 알기 위해 피씬 기간 내내 신경을 썼다.
소요시간, 헌신, 팀워크, 코딩능력, 스킬레벨, 포인트 등등
모든 게 중요하다. 중요하지 않은 건 하나도 없다.
하지만 가장 중요한 건 “성장”이었다.

떠도는 이야기는 모두 소문일뿐이다.
물론 어떤 게 도움이 될지는 안다.
더 높은 점수, 더 높은 협업정신, 더 높은 포인트, 동료를 도와주는 것 등등.
분명 이것들은 통과에 도움이 된다.
하지만, 전체적으로 아는 사람은 진짜 아무도 없다.
단지 어느 정도의 헌신과 노력을 보여줘야 하며,
최종적으로 달성해야 할 “스킬” 의 기준치가 있다는 건 느낄 수 있었다.
나는 어느날 (솔로과제임에도 불구하고) 협업해야 했던 일을 혼자 처리하려고 했다.
다른 사람에게서 도움을 구하지 않았던 그 날이 가장 실패했던 날이었다.
왜냐하면 나는 자신감이 생겼고 충분히 똑똑해졌다고 생각했기 때문이다.
물론 그게 내가 했던 행동 중 가장 멍청한 행동이었다는 걸 나중에 알게 되었다.
나열되지 않은 항목들은 신경쓸 필요가 없냐?
그렇지 않다.
적어도 형편없이 망가지지는 말아야 한다.
예를 들어 당신이 다른 사람들을 돕고 싶어 하지 않는다면,
그건 떨어지기 위해 애쓰는 것이다.
당신이 조용히 혼자서 문제를 풀고 모습을 드러내지 않는다면,
그것도 떨어지기 위해 애쓰는 거다.
과제는 열심히 하지만 시험을 치지 않는 것도 부정행위이다.
오늘 아침 다른 친구와 함께 이런 이야기를 했다.
“다른 사람들은 잘 가는데, 나만 못따라가는 것 같아.”
그 친구가 이렇게 이야기 했다.
“여기선 다른 사람과 비교하는 게 아니라, 나 자신의 변화를 측정해야 하는 것 같아.”
계속 시도해보고, 계속 배우는 거.
그래서 바보가 되지 않는 거.
오직 성장만이 최종목표다.
9. 지원자에 대한 당부
(1) 코딩경험이 없는 사람에게
힘들거다. 배우는 모든게 어려울 거다.
나는 loop 문이 어떻게 동작하는지 들어보긴 했지만 코딩을 어떻게 하는지는 몰랐다.
여기에선 그 “반복”이라는 작업을 구현하기 위해
process와 system을 어떻게 만들어야 할지 새로운 방식으로 생각해야만 한다.
내가 코드를 보고 이해할 수 있게 되자,
마치 내가 슈퍼파워를 얻게 된 것 같았다.
계속 시도하고 노력하는 것.
새로운 언어를 배운다는게 그런 것 같다.
종종 충분히 문제에 노출이 된 후에야,
좌절할 때까지 스스로를 밀어붙인 후에야
“아하” 하고 깨달음이 오기도 한다.
(2) 코딩경험이 있는 사람에게
코딩경험이 있는 사람이라면 나쁜 습관을 잊어야 한다.
아마 알고 있는 대부분의 명령어는 사용이 금지되어 있을 거다.
과제에 사용하면 부정행위로 간주되어 “마이너스 점수”를 받게 된다.
(printf, clang, cout 등등이 부정행위로 간주된다.)
가이드라인을 준수하며 코딩하는 건 매우 힘들지만,
주어진 명령어를 새로 만드는 작업은 분명 재미있는 일이다.
경험자라면 분명 문제를 더 빨리 풀 수 있다.
남는 시간에 지식과 경험을 나누다보면 천재로 추앙받기도 한다.
여전히 문제가 어려워서 겸손하게 느낄 수도 있지만,
그냥 있는 그대로 받아들이는 것도 좋다.
컴공과 학사 친구들은 대부분 이렇게 말했다.
“학교에서 배웠던 건 첫주에 피씬 분위기를 좀 더 빨리 파악하는데만 도움이 되더라.”
(3) 내가 배운 것들
우리는 “매우 겸손해지는 법”과 “필요한 것을 얻는 방법”을 배우는 중이다.
우리는 스스로 모자란 점을 발견하게 되지만, (그래서 고통스럽다)
생각보다 잘 해낼 수 있다는 것도 알게 된다.성공하든 아니든 기꺼이 다른 사람에게 도움을 요청해야 한다는 걸 배운다.
스스로 생각하고, 스스로 답을 찾기 위해서
다른 사람이라는 “지식과 경험의 리소스”를 충분히 활용해야 한다는 걸 익히게 된다.
“피씬”은 분명 코딩을 배우는 과정이다.
하지만, 코딩을 배우기 위해
나 자신을 어떻게 다루어야 하는지 알게 되는 것,
나 자신을 어떻게 개발해야 하는지 알게 되는 것,
그게 더 중요한 거라고 생각한다.
코딩을 배운다는 건 분명 멋진 일이다.
하지만, 더 중요한 건 코딩을 배우기 위해
어떤 태도를 가져야 할지,
어떤 환경을 만들어야 할지
알게 되는 것이다.
호기심을 더 자극하고, 인내심을 더 발휘하고, 학습그룹을 만들고,
시간을 적절히 관리하고, 문제가 뭔지에 집중하고,
자존심을 내려 놓는 것.
이 경험은 가치를 매길 수 없는 것들이고,
내가 평생동안 한 번은 겪어봤으면 하는 것들이었다.
그걸 이 과정에서 배울 수 있었다.
“에꼴42″의 목표는
“코딩”이라는 걸 배운 상태로 만드는 게 아니라,
“코딩하는 사람”이 되게 하는 것이다.
즉, 기본철학이 “코드를 배우는 것”이 아니라 “코드로 가득찬 삶”이다.
그래서 어떤 언어든 쉽게 배우고,
무언가를 만들 수 있게 하는 사람이 되게 하는 것이다.
나 역시 코딩을 배웠다.
하지만, 나는 그게 즐거운 일이라는 걸 깨달았다는 것이 더 큰 의미였다.
코딩을 배운다는 건 내 인생의 꿈이었는데,
비로소 여기서 그 첫걸음을 떼었다.
10. 피씬을 어떻게 준비해야 할까?
어차피 전부를 다 준비할 수 없기 때문에,
조금 준비한다고 해서 크게 달라지진 않는다.
일을 시작하기 전에 충분한 분석을 하거나
100권의 책을 읽는 타입이라고 한다면 그냥 와서 부딪혀 보라고 말해주고 싶다.
여기는 준비한 것으로부터 배우는 게 아니라, 실패함으로써 배우기 때문이다.
여기서 “실패”란 “돌아가지 않는 코드” 같은 걸 말한다.
(1) 굳이 뭔가를 준비해야 한다면
- 호기심을 극대화시키기 – 저게 작동하는 원리가 뭘까?… 이런
- 포기하지 않고 끈질기게 도전하기
- 실패해도 흔들리지 않기, 아주 많이 실패할테니까.
- 다른 사람과 나를 비교하지 않기 – 아무런 도움이 되지 않는다.
- 도움을 요청하고 도와주는 것에 아주 익숙해지기
- 소셜해지기, 더 많이 친해지고 알아가기
- 더 많이 알고 있다면 친절하게 가르쳐주기
- 시간관리는 매우 중요함
- 프로젝트의 우선순위 가리는 것도 매우 중요함
- 당면한 일에 시간을 할애하고 집중할 것
- 문제를 더 작은 단위로 쪼갤 수 있을 것
- C 를 아는 것이 확실히 도움이 되긴 함. 하지만 아주 약간만 도움이 됨
- 배울 준비가 되어 있을 것
(2) 42과정에 오면 안되는 사람
- 시키는 대로 하는 걸 좋아하거나 통제받는 걸 좋아하는 사람
- 내 실패에 대해 남탓하는 사람
- 사람들과 함께 어울려서 뭔가 하는 걸 싫어하거나 좋아하지 않는 사람
- 기술 자체를 싫어하는 사람
- 이해하는 과정 자체를 짜증내거나 싫어하는 사람
- “사람”으로서 성장하거나 배우는 것에 관심이 없는 사람
11. 교훈
내 실력이 성장하는 것에 대해서만 집중하라.
그 기술을 배우는 게 목표가 아니다.
실력을 키우기 위한 수단으로 그 기술을 배우는 거다.
피씬을 통과하는 게 목표가 되면 안된다.
피씬은 “제품 craft”을 뜯어보고 이해하는 과정이다.
그 과정을 통해 이해의 폭을 넓히고, 즐거움을 느끼는 게 핵심이다.
42 과정은 “커뮤니티”다.
커뮤니티에 소속되어 서로에게 기여하고 도와주는 사람이 더 멀리 간다.
아주 더 멀리 멀리 갈 수 있다.
힘들더라도 별다른 지침없이 어렵게 배우다 보면,
자연스레 동료로부터 도움을 받아 지식을 구축하는 법을 알게 된다.
시간을 투자하고 뉴런이 형성되고,
잠도 충분히 자고 이리저리 노력하다보면
어느 순간 이해할 수 있게 된다.
노력은 배반하지 않는다.
12. 마무리하며
“카뎃이 되었음을 축하드립니다.”
나를 아직 “프로그래머”라고 부를 수 있을지는 모르겠다.
하지만, 이게 긴 여정의 시작점이라는 건 알고 있다.
그리고, 이제부터 나를 가르치는 책임이 나자신에게 있는 것도 잘 알고 있다.
피씬은 시작일 뿐이고, 정말 쉬운 부분이었다.
난 정말 훌륭한 프로그래머가 될거다.
나는 이제 곧 42 본과정을 시작한다.
그리고, 동시에 작은 스타트업에도 입사를 했다.
블로그를 통해 나의 성장과정을 기록한 것이 큰 도움이 되었다.
내 삶은 한달 전과 비교해서 확실히 더 나아졌다.
나에겐 이제 기술도 있고, 기회도 있고, 친구들도 있다.
그리고, 어떤 길로 가야할지도 알게 되었다.
나는 흥분된 마음으로 겸손한 마음으로 한걸음씩 앞으로 나갈거다.
From @mbrave (Mike Brave, at 42SiliconValley)