42Seoul 마지막 공통과제를 앞두고, 뼈문과 비전공자가 경험한 1년간의 회고록

42Seoul 지원과 La Piscine(1개월 집중교육) 까지

2019년 11월, 우연히 학교에서 이노베이션아카데미의 42Seoul 포스터를 보지 않았었다면, 지금 내 인생은, 개발자로의 길은 어떻게 되었을까 하는 생각을 가끔씩 하게 된다. 정말이지 답도 없고 길도 없고 막막한 순간들만 있진 않았을까…? 나에게 42Seoul은 참 좋은 동반자고 좋은 멘토였다. 나는 피아노를 전공하려고 했었던, 일반고등학교 문과 출신에 독어독문학을 전공한 뼛속까지 문과에 비전공자이다. 그런 내가 마지막 과제를 남겨두고 있는 지금, 지금까지의 과제들을 수행하면서 느꼈던 점들과 성장과정, 42Seoul에서의 생활들에 대해서 회고록을 작성해볼까 한다.

지금 생각해보면 참 까마득하다. 작년 11월, 아무것도 모르던 내가, 코딩을 업으로 삼을 것이라고 생각지도 못했던 내가 당당히 온라인 테스트에 합격하고 곧바로 체크인 미팅과 창의캠프, 그리고 한 달간의 La Piscine 까지, 본과정에 오기 위해 쉴새없이 달렸던 것 같다. 처음에는 그저 코딩이 유행하니까, 인공지능이 급성장하니까 호기심에 신청해보았다. 물론 그 호기심만으로 지원했던 것은 절대 아니다. 돈도 준다고 하지, 아이맥도 쓸 수 있다고 하지, 비전공자 생도, 졸업예정자가 아닌 일반 사람들도 지원가능하다 하지 조건이 너무 좋았다. 그렇게 나의 42 Life가 시작되었다. 이때까지만 하더라도 영국 엘리트 교육을 모방했네, 결국 헬조선화 되겠구나, 이런 부정적인 시선들의 입장도 들어왔었다. 한국에서, 특히 정부에서 주관하는데, 심지어 교육도 시켜주는 게 아니라 자기가 스스로 공부하는 시스템이기에 충분히 있을법한 이야기들이다. 그리고 나 역시 그런 입장들에 어느정도 동의했었다.

작년 12월, 이노베이션 아카데미 개소식에 참여할 수 있었다. 그 때 이민석 학장님의 말씀, ‘소프트웨어 개발자가 세상을 바꾼다.’ 이 한마디가 너무 좋았다. 단순하게 인공지능을 공부해보고 싶다던 비전공자 문과생이었던 내가, 세상을 바꿀 개발자가 되고 싶다는 생각을 하게 되기 까지는 그렇게 오랜 시간이 걸리지 않았다. 딱 저 한 마디, 대학입시에 합격했을 때보다 가슴뛰던 그 설렘은 정말이지 오랜만에 느껴보았던 것 같다. 그 한 마디가 42에 대한 온갖 부정적인 입장을 무너트려주었다. 그것이 내가 42Seoul에서 버틸 수 있었던 원동력이 되었던 것 같다.

온라인 테스트에 합격한 이후, La Piscine이 끝날때까지 참 많은 것이 변하고 바뀔 수 있는 시간이었던 것 같다. 특히 창의캠프를 갔다오고 나서 ‘왜 이렇게 퀄리티가 좋지? 3인실 호텔방을 그냥 숙소로 준다고? 정부기관은 역시 다르긴 다르구나’ 하면서 감탄했던 것, 첫 번째 과제를 마주하고 ‘아 xx,, shell이 뭐야 대체…’ 라며 욕을 했던 것, 첫 번째 시험에서 10분이 지나자 로그인 못 한 사람들을 불러모아서 “이렇게 저렇게 하면 될거에요~” 라고 알려주는 줄 알았으나 20분이 지나도 돌아오지 않던 사람들을 보면서 ‘뭐지…?’ 싶었는데 알고보니 집에 가라고 했던 충격적인 사실, 그 때 당시에는 매우 어색했으나 지금은 너무나도 당연해졌다. 이렇게 42 Seoul에, 42 Style에 나도 모르게 융화되고 적응되었다. 치열했던 1월의 La Piscine. 1월에 La Piscine을 할 수 있었던 건 나에게 매우 행운이었다. 코로나가 유행하기 전이었기 때문에 마스크를 착용하지 않았고, 매일 클러스터에 출석하며 눈치보지 않고 사람들과 대화할 수 있었으며, 오아시스에 모여 커피를 마시며 시험에 떨어졌다는 절망의 목소리도, 다양한 목소리들이 오고 갔다. 이것이 ‘한국에서 일어날 수 있는 일인가’ 라는 생각이 들었다.

C를 공부한다는 것은 소프트웨어 개발자라면 모두가 거쳐가야 할 필수관문이라고 익히 들어왔다. 하지만 나는 어차피 인공지능에 관심이 있었고 그러기 위해서는 Python을 필수적으로 익혀야만 했기에 당장도 급한데 내가 42 과정에 참여하면서 C를 공부해도 되는것일까? 싶은 걱정이 들었었다. 물론 그 당시야, 아무것도 몰랐을 때였고 42Seoul 도 자리를 잡기위해 시간이 필요했었으니 정보도 많이 없었다. 그렇게 혼자 끙끙대며 고민했었는데, 지금에서는 당당하게 말할 수 있을 것 같다. “Python을 주력으로 사용할 것이라도, Web 개발자가 될 것이기에 다른 언어와 프레임워크만을 사용할 것이라도, C를 요즘 누가 쓰냐고 왜 공부하냐고 욕을하더라도 42Seoul에 조금이라도 관심있으면 ‘무조건’ 참여하세요” 라고 말이다. 물론 본과정에 합격하고 공통과제에 집중하게 되면 당연히 다른 언어 사용할 기회는 없다고 봐도 된다. 하지만 C를 통해 진행하는 42의 커리큘럼은 그 모든 걱정거리들을 잠재울 수 있을 정도로 체계적이며, 단순히 ‘C 언어’ 만 공부하고 체득하는 것이 아니라 소프트웨어 개발자로서의 태도와, 학습방법을 스스로 체득하고 적용할 수 있는 ‘능력’, 그리고 ‘커뮤니케이션 능력’을 기를 수 있다.

가장 핵심적인 42Seoul의 시스템은 바로 교수와 선생이 없는 ‘동료 학습’이지 않을까 싶다. 이 시스템 속에서 옆에 있는 동료가 서로의 선생님이자 교과서가 되는 것, 또한 그 지식을 공유하는 과정에서 발생하고 향상되는 커뮤니케이션 능력과 학습방법은 어느 기업을 가더라도 필수적으로 지녀야할 핵심가치이자 유용한 태도라고 생각된다. 이것을 얻을 수 있다는 것만으로도 주력으로 하게 될 언어와 기술스택에 조금 멀리 돌아가게 되더라도 충분히 42의 일원이 될 필요성은 충분하다고 생각한다.


본과정 합격, 그 이후

42Seoul 본과정 합격 메일

2020년 2월 19일. 본과정에 합격하여 방방 뛰면서 온 집을 휘젓고 다녔었다. 대학 합격할 때보다 더 좋았다.. ㅋㅋ

그렇게 2월 24일부터, 42Seoul 에서의 본과정 생활이 시작되었다.

처음의 목표는 공통과정을 6개월만에 끝내는 것이었다. 그것이 42Seoul 측에서 예상한 서클 돌파 기간이기에. 하지만 얼마 지나지 않아 그것은 매우 어려운 일이라는 것을 깨닫게 되었다. 나는 정말 아무것도 아는 게 없었기 때문에. 본과정을 처음 대하는 나의 태도는 매우 자만스러웠다. Piscine도 통과했겠다 두려울 게 없었던 모양이다. 가파른 러닝커브를 그려야겠다며, 과제 뭐 대충대충 하고 빨리 넘겨야지 라는 하찮은 생각이며, 나조차도 42를 대하는 태도가 정립되지 않았었기 때문에 여기에서 무엇을 배워서 얻어야겠다기 보다는 그저 빨리 블랙홀을 넘겨야지, 빨리 월급들어왔으면 좋겠다 등 일상적인 고민과 바람에 홀려 절대적인 시간의 척도를 계산하지 못했던 것 같기도 하다.

코로나와 재택학습, 그리고 성장

지금와서 가장 기억에 많이 남는 과제는 무엇이었냐고 물어본다면, 나는 고민없이 ft_printf 과제를 가장 먼저 떠올릴 것이다. 이 과제는 정말 어려운 과제는 아니다. 물론 보너스에 도전한다면 난이도가 기하급수적으로 솟아오르긴 하지만. 하지만 나는 보너스도 안했으면서 이 과제에만 두 달이라는 시간이 걸렸다. 환경적인 문제도 있었다. 클러스터가 더 익숙해져 버린 나에게 코로나로 인해 집에서 과제를 한다는 것은 매우 어색했으며 힘든 일이었다. 물론 아이맥을 못쓴다는 이유도 크다. 또한 개인적으로 악재가 동시에 터졌기 때문에 마음이 정말 힘들었던 시간들을 보내야만 했다. ‘코로나 블루’ 라고 하는 우울감에 스스로에게 상처를 주고 갉아먹어가기도 했으며 모두가 그랬듯 제동이 걸린 삶이 너무나도 힘들었었기 때문이다.

이 두 달의 시간을 정말 잘 이겨내주어서 지금의 내가 있었던게 아닐까 싶다. 돌이켜봤을 때 이 두달의 시간을 통해 매우 가파른 성장을 할 수 있었던 것 같다.

실질적으로 ft_printf 라는 과제에서 배울 수 있는 새로운 지식은 별로 없다. 물론 입출력스트림/가변인자 등 놓쳐서는 안 될 중요한 부분들이 있긴 하지만 그게 전부인걸. 이 과제를 통과하기 위해서는 그런 지식들을 기반으로 한 코딩보다는 TDD 방식의 테스터케이스를 얼마나 잘 맞추느냐가 관건이 된다. 그런 면 때문에라도 나는 이 과제를 별로 좋아하지 않았고, 테스트하기를 꺼려했으며, 아 이런 것까지 맞춰야돼? 싶을 정도로 욕을 많이 했다. 또한 42의 코딩컨벤션 규약도 맞추느라 진이 빠졌다. 그렇게 더러운 하드코딩들과 필수파트도 구현을 못하면서 보너스를 하겠다는 마음가짐이 겹쳐서 이도저도 아닌 코드들만 계속해서 생산해내게 되었다. 결국 구조를 바꾸고 또 바꾸고, 이해하지 못할 것들은 갈아치워버리고 과감하게 지우고, TDD 방식으로 코딩을 하고 다 갈아엎었다가 처음부터 다시 구조를 설계하고. 이런 작업을 두 달동안 하루에 두 세번씩 매일같이 했다. 마지막엔 결국 내가 지쳐서 보너스를 하지 않고 하루만에 처음부터 다시 짠 코드로 제출하여 통과했지만. 내 방식이 올바른, 또는 42에서 지향하는 방식이 아닐지도 모르겠다. 하지만 이렇게 내 코드에 정을 가지고 욕심을 가지고, 더 가독성 좋은 혹은 더 짧은 코드를 만들어내던 경험이 지금의 끈기와 열정을 가지게 해준 동력이 된 것 같다. 이렇게 두 달을 삽질하고 나서 받게 되는 동료평가는 너무나 달콤했다. ft_printf 과제는 권장기간이 1주일밖에 되지 않기에, 같은 차수 동료들을 보면 해당 서클 과제들을 모두 통과해놓은 시기였다. 그래서 그런지 평가를 해주신 분들 모두 이 과제를 끝낸 사람들이었는데, 그런 분들에게 내 로직을 설명하고, 틀렸는지 맞았는지 같이 논의하고 내 코드를 뜯어보고, 예외처리는 모두 잘 되었는지, 코드는 어떻게 다이어트 시켰는지, 함수 추상화정도를 살펴보고 잘 구현했다는 평을 들었을 때 그렇게 기분이 좋을 수가 없었다.

이 경험을 바탕으로 나는 다른 과제들에도 임하게 되었고, 속도가 붙어서 대부분 2주~1달 정도로 과제들을 하나씩 해결할 수 있었다. 물론 ft_printf 과제 말고도 기억에 남고 후기를 남기고 싶은 과제들도 매우 많다. 그것들은 추후에 하나씩 다시 정리를 해볼 생각이다.

사회적 거리두기가 완화되고 다시 클러스터에 출입할 수 있게 될 때까지 약 3개월 동안 집에서의 학습을 쾌적하게 하기 위해 4k 모니터와 모니터암을 구매하고, 기계식 키보드를 구매하는 등, 이 기간동안 점점 개발자다운 생활을 하게 된 것 같다. 그리고 이 글을 작성하는 지금, 클러스터가 문이 닫혀버렸다. 올해는 개포동을 가지 못하겠고만..ㅎ

재택학습했다가, 클러스터에 갔다가, 또 다시 재택학습을 했다가.. 나 말고도 대부분 비슷했을 것으로 생각이 든다. 그렇게 본과정을 시작한지 약 10개월이 채 되지 않은 지금, 대망의 마지막 과제만을 남겨두고 있다.

42 Holygraph

더욱 42 스럽게

42Seoul에서의 생활은 정말이지 자유로움 그 자체였다. 고등학교를 졸업하고 갓 대학에 입학한 새내기들이 처음으로 밤새 술을 마시고 아무걱정없이 놀고 하고 싶은 동아리를 지원하며 틈틈이 공부하는 것처럼 새로운 클러스터에서 이야기하고 놀고 공부하고, 너무 재미있는 생활들이었다. 그런 생활적인 부분들을 공유하고 싶다. _나는 어떻게 놀았고 어떤 동아리를 했고, 어떻게 공부하고 진로를 탐색해 나갔는지_.

가장 최근의 이야기를 먼저 해볼까 싶다. 가장 최근에 진행한 과제는 5서클의 Webserv 과제이다. Socket Server를 만들고 Custom Nginx 를 구현하는 것으로, HTTP/1.1 의 RFC 문서를 달달달 읽어야 하는 규모가 어마어마어마무시한 과제이다. 이 과제는 세명이서 진행하는 프로젝트로 처음으로 Github의 프로젝트 관리의 필요성을 느꼈던 과제였다.

La Piscine을 다시 한 듯한 로그타임...

앞에도 말했지만 이전서클과 비교했을 때, Webserv는 규모가 너무너무 크다. 위 사진처럼 학습시간을 확보해내지 못했다면 아마 팀플에 지쳐 나가떨어졌을 것이다. 왜냐면 난 아직도 아는 것이 많지 않은 뼈문과 비전공자 개발자이기 때문이다. 하지만, 그런 내가 해내버렸다. 이렇게 할 수 있었던 가장 큰 이유는 너무 감사하게도 열정많고 좋은 팀원분들을 만나게 된 것이지 않을까 싶다. 우선은 아는 것이 많지 않다는 것에 자신없어 하는 것이 아니라 치열하게 알기 위해 노력하고 많은 시간을 할애한 것. 이것이 팀플을 알차게 해낼 수 있었던 버팀목이지 않았을까 싶다.

Webserv 과제를 시작하고 나서 가장 크게 달라진 것들은 다음과 같다. 처음으로 구글링만으로 해결되지 않는 지식의 갈망을 느껴서 책을 구매하기도 하고, 런타임 시 많은 시간이 걸려서 조금이라도 병목을 줄이기 위해 자료구조마다 시간복잡도를 고려하여 코딩을 하고, 다른 팀원들이 이해하기 쉽도록 더욱 가독성이 좋은 코드, 짧은 코드를 쓰기 위해 노력하고, 더 나은 소통을 위해 코딩컨벤션과 규약을 고민해보았다는 것. 또한 이제와서야 앞서 했던 프로젝트들을 왜 했는지 그 이유를 조금은 알 수 있을 것 같았고, 정말 체계적으로 커리큘럼이 이루어져있다는 것을 알게 되었다.

가장 크게 달라진 것들이라고 이야기를 했는데, 맞다. 나는 지금까진 구글링만으로 모든 지식을 커버했고, 그렇다보니 아는 것들은 있어도 체계가 잡혀있지 않았다. 또한 병목을 줄이기 위한 노력을 하지 않았고, 이정도면 디펜스하기에 충분하다 싶은 코드가 나왔을 때 더 발전시키기 위한 리팩토링을 전혀 하지 않았다. 그랬던 내가 이번 과제를 만나고 성격이 변한건지, 팀플의 힘인건지, 이것 역시 42의 교육 정책자들이 예상을 했던 것인지. 참 신기하다.

Webserv 과제를 시작하기 전까지 나와 비슷하게 공부를 했던 분들은 내가 너무 대충했고, 공부를 안했고에 대해서 너무 걱정하지 않으셔도 될 것 같다. 5서클에 오면 어차피 하게 된다. 어차피 이전에 짰던 코드를 리팩토링 하게 된다. 42의 커리큘럼은 잔머리가 통하지 않았다.

Webserv 과제에도 할 말이 너무너무 많다. 이것도 따로 블로그에 정리해야지..ㅋㅋㅋ

이렇게 공부했던 것과 더불어 진로에 대한 고민도 치열하게 했다.

학장님께 면담 신청!

멘토링을 받기도 하고 학장님께 조언을 드리기 위해 용기내어 DM을 보내기도 했다. 개인적인 이야기를 조금 보태자면, 나의 꿈은 ‘교수’가 되는 것이었다. 그렇기 때문에 내가 코딩을 시작하기 이전에도 나의 모든 커리어는 대학원에 맞추어져 있었다. 전산언어학을 전공하신 지도교수님 아래에서 유일한 학사 출신으로 정부 연구과제에 산학협력하여 참여하기도 하고, 지속적인 교수님들과의 컨택을 통해 대학원에 가는 것이 거의 확정과 다름이 없었다.

하지만 학장님과의 면담 이후로 이상주의적이었던 내가 보다 현실을 바라볼 수 있게 되었다. 그리고 결과적으로 대학원 진학을 포기했다.

내가 그간 느꼈었던 대학원에 대한 회의도 물론이거니와 기업에서의 연구가 학계보다 훨씬 더 진보해있다는 것, 내가 추구했던 가치들을 기업에서도 충분히 느낄 수 있다는 것 등이 이유가 될 것 같다.

보다 자세한 이야기를 하기에는 너무 글이 길어질 것 같아서,,, 이 글을 본 42Seoul 본과정생, 혹은 42를 새로 시작하려는 학생들 중에 나와 비슷하게 진로에 대한 고민을 하고계신 분들이라면 주저말고 학장님께 조언을 구해보길 강력하게 추천한다.

또한 42Seoul에서 나와 비슷한 관심사를 가지고 계신 분들과 스터디를 진행하고 공모전에 나가기도 했다.

자연어처리 스터디 모집

42NLP - 팀노션

정말 무슨 배짱이었는지, 슬랙에서 스터디원들을 모집하고 해외 논문이나 자연어처리에 대한 공부를 했었다. 코로나로 인해 더이상 진행할 수가 없어서 일단락되긴 하였지만, 이렇게 42Seoul은 자유롭게 사람들을 모집하고 공부를 할 수 있다!!! 이게 장점이라면 엄청난 장점이 아닐까 싶다.

42place에 게시된 국어정보처리시스템 경진대회 참가후기 (https://42place.innovationacademy.kr/archives/2669)

42NLP 팀원들과 공모전에 나가기도 했다. 아쉽게 탈락해버렸지만(진짜?) 처음으로 42Seoul 카뎃분들과 진행한 사이드프로젝트였고, 이 과정에서 정말 배운 것이 많다. 그리고 무엇보다 재밌었다. 이렇게 나는 42Seoul 과제만 한 것이 아니라 내가 하고싶은 공부도 병행하고, 프로젝트도 하면서 목표에 한 발짝씩 다가설 수 있었던 것 같다.

이쯤되면 아니 얘는 뭐 공부만 했나? 라고 생각하실 분들이 계실 것 같다… ㅋㅋㅋㅋㅋ 하지만 42Seoul 내에는 공부뿐만 아니라 노는 동아리도 있다.

42밴드 합주

나는 42Band에서 키보드를 맡고 있으며, 코로나가 심해지기 전에는 매주 합주를 하며 즐거운 시간들을 보냈다. 악기를 처음 배워보는 분도, 노래를 처음 해보시는 분도 계셨지만 어느정도 합주가 이루어진다는 게 너무 신기했던 경험이다. 진짜,, 합주하는 시간만큼은 엄청난 힐링이었는데 코로나 진짜 ㅠㅠ 조금 완화되면 온라인 스트리밍으로 공연도 진행할 예정이다!


마치며

42Seoul에서의 약 1년간의 경험은 나중에도 잊지 못할 추억으로 남을 것 같다. 빡세게 공부하는 것은 물론 너무 좋은 동료들과 이야기하는 것도 정말이지 즐거운 일이기 때문이다.

물론 아쉬운 일들도 정말 많다. 애초에 처음부터 제대로 공부를 했으면 어땠을까 혹은 더 많은 활동들을 했으면 어땠을까 싶기도 하다. 하지만 이너서클 돌파를 앞두고 있는 지금, 그런 아쉬움보다는 42에 대한 감사함이 더 크게 느껴진다. 이게 없었다면 나는 여전히 허우적거리고 있었을 것이며 이상과 현실속에서 터무니 없는 고민들만 하고 있었을 것 같다.

내 회고록이 예비 42분들, 또는 이미 본과정을 진행중이신 분들께 어떤 생활과 공부를 해야할 지, 또는 42를 선택하는 것에 있어서 많은 도움이 되었으면 좋겠다.

한 가지 당부드리고 싶은 것은, 42에서는 누구도 알려주지 않는다는 것이다.

본인이 스스로, 본인의 가치를 창출할 수 있도록 최선의 노력을 다했으면 좋겠다.

42Seoul에 대한 질문거리나 궁금한 점들이 있으시면 댓글로 남겨주시면 감사하겠습니다.

긴 글 읽어주셔서 정말 감사합니다.

42Seoul 마지막 공통과제를 앞두고, 뼈문과 비전공자가 경험한 1년간의 회고록

https://l-yohai.github.io/42-Seoul-One-year-Memoirs/

Author

Yohan Lee

Posted on

2020-12-06

Updated on

2021-08-22

Licensed under

댓글