2021년 7월 19일부터 8월 13일까지 4주간 네이버 커넥트 재단에서 운영하는 부스트캠프 교육을 들었다. 짧지만 짧지 않았던 .. 치열했던 한 달이었는데 그 후기를 적어보려고한다.
지원과정
기억을 더듬어 6월로 거슬러 올라가 보자면, 학기가 끝나자마자 1차 코딩테스트를 쳤던 것으로 기억이 난다. 당시에 나는 아주 정신없는 삶을 살고 있었다.
6월 21일에 학기말 시험이 끝난다고 되어있는데 나는 인공지능 종합설계 과목의 마무리를 짓고 있었다. 진즉에 보고서를 썼어야 하는데 삼성 sds에서 주최하는 대학생 알고리즘 캠프에 참여하고 싶어서 코딩테스트에 시간을 쏟느라 보고서를 마감일이 되어서야 부랴부랴 써서 냈다. 6월 24일에 1차 코딩테스트 시험이 있었는데, 특별히 준비를 더 하지는 못하고 그냥 봤던 것 같다. 부스트캠프 교육을 지원했던 이유는 개발에 대해 더 공부해보고 싶었기 때문이다. 기계공학 본 전공에 인공지능 연계전공을 해서 코딩을 아예 안해본 것은 아니지만 그럼에도 코딩을 할 줄 안다고 하기에는 너무 아는게 없었다. 해본 것은 기계과에서 요구하는 C,매트랩 등을 이용한 문제풀이나 keras, tensorflow를 다루기 위한 약간의 파이썬 정도? 2020년에 참가했던 JUNCTION X SEOUL 해커톤에서 무능함을 느끼면서 '내가 하던 것은 개발이 아니었구나'라는 것을 뼈저리게 느꼈고, 진짜로 뭔가 만드는 개발에 대한 목마름이 있었다. 부스트캠프 웹 과정은 프론트도 백도 아닌 풀스택 과정이었기 때문에 더욱 매력적으로 다가왔다. 코딩테스트 시험이 어땠느니 하는 내용은 기밀이기 때문에 언급하지 않겠다. 다만 기업의 정규직 채용 코딩테스트보다는 쉬운 내용이지 않았나 하고 생각한다. 그렇다고 해서 내가 쉽게 풀었다는 것은 아니다..! 코딩테스트를 치루면서도 나 자신의 부족함을 많이 느꼈다.
1차 코딩테스트가 끝나고, 결과 메일이 날아왔다.
세상에, 합격이잖아? 기분이 좋았지만 그것도 잠시, 2차 코딩테스트를 어떻게 준비해야할 지 막막했다. 1차 합격 발표 다음날 바로 sds 알고리즘 캠프 결과가 나왔는데, 그것도 합격을 했다. 그래서 네이버 부스트캠프에 최종 합격해서 알고리즘 캠프 교육 듣고, 부스트 캠프 교육도 들을 수 있으면 정말 좋겠다고 생각했다. 2차 시험은 7월 3일에 치뤄졌다. 2차 시험의 경우 1차 시험보다 더 요구사항이 많았던 것으로 기억된다. 그런데 재밌는 것은 1차 시험 때 한 문제를 못풀었는데 2차 시험때는 다 풀었다는 것이다. 오픈된 테스트 케이스는 모두 정답이었다. 당시 조기 발표가 있다는 소문이 있어서 조마조마하면서 기다렸는데, 결과적으로는 정해진 시각에 결과가 발표되었다.
발표 메일 제목이 바로 최종 합격자 등록이어서.. 메일을 열어보기 전에 결과를 바로 알 수 있었다..ㅋㅋ 기분이 좋아서 그 날 족발튀김과 맥주를 먹었던 기억이 난다. 아주 맛있었다.
합격 후 교육 시작 전에
웹 모바일 과정에서는 자바스크립트를 공부하게 될 것이었기 때문에, 자바스크립트 책부터 구매했다. 검색해보니 JavaScript Deep Dive라는 책이 가장 내용이 방대하고 좋아보였다. 초심자가 읽기에는 내용이 많을 수 있다는 내용을 뒤로하고(…) 구매했다. 결과적으로는 챌린지 과정이 끝난 지금까지도 1회독을 못하고 있다.. 그러나, 책 내용은 아주 좋다. 한 권만 있으면 자바스크립트를 90% 이상 학습할 수 있다. 다만 합격 발표일과 챌린지 시작 기간 사이에 5일 정도 있었던 것과, 아직 SDS에서 교육이 끝나지 않았던 상황이었기 때문에 나름대로 공부를 하긴 했지만 거의 못하고 들어갔다.
4주 간의 챌린지
그렇게 준비가 덜 된 채로 나는 챌린지 과정에 임하였다. 챌린지 과정에 대해서는 아주 하고싶은 말이 많다!
부스트캠프 웹모바일 6기 설명회 영상을 보면 알 수 있듯이, 챌린지 과정에서는 매일매일 강도 높은 미션이 진행된다. 자바스크립트를 거의 모르고 들어간 나에게는 챌린지 과정이 알파벳을 모르는데 수능 영어 문제를 풀어야 하는 정도의 느낌이었다! 1,2주차에는 그래도 어느 정도는 따라가면서 했던 것 같은데 3,4주차에는 7시까지 손을 대지 못했던 미션도 종종 있었다.
미션을 진행하면서 제일 힘들었던 것은 잠을 잘 못자는 것이었다. 후반부로 갈수록 새벽이나 아침까지 미션을 붙들고 있는 경우가 생겨서, 전날의 피로가 다음날로 중첩되는 식으로 평일이 진행됐다. 그래서 금요일 아침에는 금요일 오후 시간을 보내는 것이 참 길게 느껴질 정도로 힘들었다. 3, 4차에는 평균적으로 3~4시간 정도 잤던 것 같다.
또 다른 힘든 점은 다른 동료들을 볼 때 생기는 자괴감인데, 동료 분들 중에 잘하시는 분들이 너무나도 많았다. 내 코드를 보면 자괴감이 느껴질 정도로. 고통 없는 성장은 없는 것일까? 그래도 나는 좌절을 딛고 자라고 싶었다. 동료들의 코드를 볼 때 제일 실력이 느는 느낌이 체감된 것 같다. 몇몇 분들은 정말로 코드가 풍성하다는 느낌이 들 정도로 내용일 알차기도 했다. 그런 분들을 보면서 정말 대단하다는 생각이 많이 들었고, 나도 그렇게 되고 싶었다.
챌린지를 통해 배운 점
챌린지를 통해 배운 점은 아래와 같다. 사실 나열하자면 끝도 없겠지만, 크게 4가지로 정리할 수 있다.
- 어떤 개념이 아예 모르는 것이어도 너무 겁먹지 말자. 새로운 것을 익히는 것을 즐기자. 개념을 익힐 때는 기초부터 천천히 익히는 것이 좋고, 공식문서를 정독하는 습관을 들이자. 대부분의 블로그도 공식문서에서 파생된 것이며 영어로 자료를 찾아보면 훨씬 풍부한 정보를 얻을 수 있다.
- 코드를 쓸 때 우선 설계에 충분한 시간을 들이고, 자신이 쓸 수 있는 가장 깔끔한 형태로 코딩하자. 코드는 자신이 싼 똥이다(…) 이왕 싸는 김에(?) 이쁘게 싸자. 적어도 내 눈에는 코드가 예뻐야지 이미 쓴 코드를 아끼게 되고, 그래야 코딩이 재밌어지고 내 코드를 자주 들여다보게 된다. 또 구현 시에는 단지 그 문제를 해결하기 위한 구현이 아닌, 확장이 가능한 형태로 구현을 하자.
- 사람과 소통할 때 내가 무엇을 모르는 지 적극적으로 어필하자. 대부분의 경우에 할 수 있는 게 없어서 멀뚱멀뚱 거리는 것은 도움이 되지를 않는다. 나의 상태를 상대한테 지속적으로 update하고, 상대의 상태도 주기적으로 체크하자. 그래야 협업이 원활하게 이루어질 수 있다.
- 나를 믿자. 세상에 뛰어난 사람이 정말 많은데, 그로 인해 기죽고 움츠러들면 나만 손해다. 남과 나를 비교하는 것이 아니라, 어제의 나, 저번주의 나, 저번 달의 나, 1년 전의 나와 오늘의 나를 비교해 보자. 그리고 어제의 나보다 한 걸음 더 성장할 수 있는 오늘의 나를 만들자. 최선을 다하는 것은 어떻게 보면 단순하다. 먹고 자고 씻는 시간 외에 그것만 하면 된다. 그러면 엄청 빨리하려고 애쓰지 않아도, 저절로 하루에 많은 일을 할 수 있게 된다. 시간 낭비를 줄이자.
글을 마치며
챌린지 기간이 끝나고 멤버쉽에 합격할 수 있을 지는 잘 모르겠다. 사실 큰 기대를 하고 있지는 않다. 멤버십에 합류하지 못한다면 취준을 위해 프로젝트를 하면서 공부도 계속 해야할 것이다. 학교도 졸업하고 이제부터는 본격적으로 취업이라는 망망대해 위에 몸을 싣게 되는 기분이다. 그런데 그 속에서 내가 할 수 있는 것은 챌린지 기간에 해왔던 일과 별로 다르지 않다는 생각이 든다. 그저 하루하루 묵묵하게 최선을 다해서, 시간을 남김 없이 쓰면서 공부하는 것이다. 그러다 보면 언젠가는 좋은 결과가 있지 않을까?