boostcampRetrospect

부스트캠프 웹·모바일 7기 챌린지 과정 회고

2022.08.12


부스트캠프?

개발자의 지속 가능한 성장을 위한 학습 커뮤니티, 성장하는 사람들을 위한 베이스캠프

  • 부스트캠프에서 추구하는 가치이다.

  • 부스트캠프는 네이버 커넥트 재단에서 운영하고 있으며, 웹/모바일 과정의 경우, 챌린지 4주, 멤버십 14주로 운영된다. 모든 과정을 수료한 후, 지속가능한 개발자로 성장할 수 있도록, 채용 연계를 지원한다. (네이버, 라인, 카카오 등 40여개의 파트너기업)

  • 6기 채용 결과 (출처 : 부스트캠프)

  • 이번 웹·모바일 7기 챌린지 과정의 경쟁률은 6기와 비슷한 경쟁률이었다고 한다.

  • 하루 일정 (출처 : 부스트캠프)

    (홈페이지에 나와있는 것과 실제 진행에는 약간의 차이가 존재하나, 대부분의 흐름은 동일하다.)

회고

전역 후, 개발자로 성장하고 싶은 마음이 있던 나에게, 인스타그램에서 부스트캠프 광고가 눈에 들어오게 되었다. 나는 8월 15일부터 있을 ECU 수련회에 꼭 참석해야했는데, 부스트캠프만이 겹치지 않는 일정이어서 지원했다. 하나님의 인도하심으로 서류, 1·2차 코딩테스트를 거쳐 챌린지 과정에 합격하게 되었다. 4주간의 챌린지 과정을 통해 많은 것을 배웠고, 멤버십에 들어갈 수 있을지는 모르겠으나 최선을 다했다.

챌린지 과정에서는 개발자라면 꼭 알아야하는 CS지식 위주로 학습이 진행되었다. 코어타임은 10:00~19:00로 지정되어있으나, 나는 09:20 부터는 동료들의 코드를 보며 피어세션을 준비했고, 대부분의 미션은 익일 새벽까지 진행했다. (몇몇 캠퍼분은 1주일 내내 08시에 커밋로그가 찍혀있었다....)

처음에는 19:00에 미션을 제출하는 것이 목표였다. 어쩌면 내 실력을 증명하고 싶었던 마음이 컸던 것 같다. 대부분의 캠퍼들이 19:00 제출을 정말 많이 신경썼다. 그러나, 마스터님께서 모든 캠퍼들에게 그 시간에 제출하는 것 보다는, "그날 학습해야할 내용을 정확히 학습했는가?"에 비중을 더 줬으면 좋겠다는 뉘앙스의 말씀을 들으며 처음 생각을 바꾸게 되었다. 그래서 2주차부터는, 19:00 전에 구현을 끝내더라도, 학습 정리와 함께 더 좋은 코드를 만들기 위한 리팩토링을 최대한 진행했다.

모든 미션에 TDD를 적용해보자는 것이 처음 챌린지에 임하는 마음가짐이었다. 그러나, 테스트 코드를 작성한다는 것은 리팩토링시 안심 된다는 점이 있으면서도, 하루라는 제한된 시간안에 모든 테스트를 작성한다는 것은 무리가 있었다. 스스로 많은 타협을 하면서 코드를 작성했던 것 같다. 테스트를 전혀 작성하지 못한 날도 있었다.

피어세션 간 만났던 캠퍼분들 중에는 SSAFY 진행 도중에 그만두고, 부스트캠프로 오신분들을 종종 볼 수 있었다. 왜 부스트캠프로 오게 되셨는지 물어보다보니, 부스트캠프는 멤버십 입교의 불확실성이 존재하지만, 전체 과정에 소요되는 시간이 SSAFY(1년)의 1/3 정도고, 교육생을 모두 비전공자라 가정하고 진행하는 SSAFY의 교육 진행속도에 답답함을 느꼈다는 공통점이 있었다. 42서울을 동시에 진행하시는 분들도 있었는데, 대단하다고 생각한다. 개인적으로, 다른 프로그램과 부스트캠프를 병행하는 것은 정말 힘들 것 같다. 매일 주어지는 미션을 통해 학습해야하는 주제의 범위가 상당히 넓고 깊어서, 하루안에 내 것으로 만들 수 있는 분량에는 한계가 존재했다. 학습을 진행하면서 잘 모르는 개념·단어를 만났을 때, 그 내용에 대해 검색을 하다보면 또다시 모르는 내용을 만나게 되는 상황이 반복되었는데, 끝까지 파기보다는 스스로 이해가 되는 시점에서 다음 단계로 넘어갔다.

챌린지 과정이 꽤나 힘들어서 중간에 '포기할까' 하는 생각이 들기도 했었다. 그러나, 팀원들과 함께 학습을 진행해서 그런지, 그런 생각은 잠깐이었다. 모든 과정이 비대면으로 진행되어서 실제로 만나지는 않았지만, 줌 화면을 통해 팀원들을 만나 미션에 대한, 학습에 대한 어려움을 토로하다보면 다시금 새로운 미션을 마주할 힘이 났다. 열정 넘치는, 실력있는 개발자들을 많이 만날 수 있다는 것은 부스트캠프의 굉장한 장점이라고 생각한다.

피어세션 시간을 통해 팀원들은 어떻게 설계했고, 코드의 구조는 어떠한지, 내가 어려움을 겪은 부분을 어떻게 해결했는지 뜯어보는 것은 상당히 흥미로웠고, 많은 자극을 받았다. 나의 코드에 대해 설명하고, 다른 사람의 코드에 대해 피드백하는 시간은 개인과 동료의 성장이 함께 이루어지는 시간이었다.

"Don't Dissect a Frog, Build One."

챌린지 과정 전/후의 모습을 비교해보았을 때, 가장 성장했다고 느끼는 부분은 CS 기초 지식이다. 개구리가 어떻게 움직이는지 알기 위해 개구리를 해부해서 보는 방식이 아닌, 개구리 비슷한 친구를 직접 만들어보며 팔, 다리는 어떻게 움직이고 숨은 어떻게 쉬는지 알아가는 방식으로 학습이 진행되었다. 예전에는 그저 흘러가던 단어들이 이제는 특정한 느낌으로 다가온다.

개발하면서 가장 많이 하게 되는 것 중 하나가 관련 내용에 대한 구글링이다. 나는 구글링하면서 공식문서보다는 블로그에 정리된 글에 우선순위를 참고하는 경향이 있었다. 미션 내용을 구현하기 위해서는 블로그에 있는 내용을 참고하는 것 만으로는 부족했다. 한달간의 미션을 진행하면서, 블로그에는 결코 찾을 수 없던 내용들을 공식문서에서는 찾아볼 수 있었다. 공식 문서/블로그에 나와있는 내용을 재구성하면서 나의 것으로 만들고, 그것을 공유하며 특정 내용에 대한 서로의 이해를 돕는 과정이 굉장히 만족스러웠다. 앞으로의 블로깅도 비슷한 맥락에서 진행할 것 같다.

성장을 원하는 주니어 개발자들에게 부스트캠프를 강력하게 추천하고 싶다.

TMI

  1. 4주간 미션을 진행하면서 생성한 gist들을 github subtree를 활용(참고)하여 private repository의 하위 repository로 다 가져와보았더니, 총 387개의 커밋이 생성됐다.

  2. 캠퍼분들 중 WakaTime을 활용해서 어느정도의 시간을 개발하는데 사용했는지 확인하는 분들이 있었다. 2주차를 넘어가면서 부터 wakataime을 활용해봤다. 챌린지 기간 중, 매일 학습에 할애했던 순공시간은 평균 13~14시간 정도 였다.(사진은 마지막 주차 코딩 시간)

  3. 커피를 마시지 않다보니 새벽 4시가 넘어가면 잠을 주체할 수 없어서, 최소 4시간 이상은 꼭 숙면을 취했다.

  4. 주말에는 다음주를 위해 완전한 휴식을 취했다.

  5. 부스트캠프와 함께 크로스핏을 처음 시작했는데, 한 달 동안 크로스핏을 간 날은 8일이다. (많이 갔다..고 생각한다.)

참고