이 글을 작성한지 벌써 5개월이라는 시간이 흘렀다.
그동안 정말 바빴고 많은 일이 있었는데, 이러한 경험들도 시간이 지나면 언젠가 잊게 된다. 잊더라도 나중에 블로그에 들어와서 이 글을 읽으면 그런 일도 있었구나 라고 생각할 수 있도록 후기를 작성하려고 한다.
챌린지 시작😎
맴버십까지 모두 수료하고 난 뒤 챌린지 과정을 다시 생각해보면, 정말 이것들을 어떻게 했지? 라는 생각밖에 들지 않는다. 챌린지 과정의 일정은 다음과 같다.
- 평일 오전 10:00 체크인
- 10:00 ~ 12:00 피어세션
- 12:00 ~ 19:00 매일 주어지는 미션 확인 후 해결
- 18:00 ~ 19:00 체크포인트 공개 및 결과 제출
- 19:00 ~ 미셜 해설 공개 및 학습 정리
매일매일 오전 10시에 그날의 문제가 공개된다.(그리고 점심시간도 없이 19시 혹은 그 이후까지 문제를 해결한다..) 문제의 난이도는 날마다 달랐는데, Javascript로 작업을 하기는 했지만 특정 언어에 국한된 과제들은 아니었다. 크롤링, 리눅스, 운영체제, 네트워크 등등 다양한 CS 분야들에 대한 개념 설명이 간단히 되어 있고, 이를 직접 구현한다. 첫주는 꽤 괜찮았던 것 같은데, 두번째 주부터 슬슬 힘들어지고 세번째 주에 피크를 찍었던 것 같다. 갈수록 난이도가 어려워져서 정확히 기억은 나지 않지만 당시 대부분의 컴퍼분들이 지정된 제출 시간인 19시까지 제출하지 못했던 것 같다.
18시에는 그날 미션의 체크포인트가 공개된다. 체크포인트는 그날 미션에서 완료해야 하는 부분들이다. 부스트캠프 챌린지 과정을 거치다보면 느낄 수 있지만 미션이 가면 갈수록 추상적으로 바뀐다. 무엇을 공부하고 무엇을 만들어야 할지 되게 모호하게 알려준다. 그리고 18시에 체크포인트를 뒤늦게 공개해서 그날 핵심적으로 공부하고 구현했어야 하는 것들을 알려준다. 해당 체크포인트들에 대해서 각각 구현 했는지 아닌지 O 혹은 X 로 응답하고 코드를 Gist에 올려서 링크를 제출하게 된다.
19시(혹은 그 이후) 에 코드를 제출했다고 끝이 아니다. 그냥 공부한 것에 대해 정리하고 링크를 올려야 한다. 다른 캠퍼분들은 대부분 노션에 정리를 하시는 것 같아서 나도 노션을 파고 매일매일 정리하여 해당 노션 링크를 업로드했다. 이렇게 노션 링크까지 작업하고 나면 그날 19시까지 코드를 제출했다고 해도 최소 24시까지 정리를 하게 된다. 그리고 나면 뭔가 쉴 시간따위는 존재하지 않고 바로 잠에 들게 된다.
그리고 다음날 아침 10시에 피어 세션을 진행하는데, 이 피어 세션 시작 전에 이전날 미션을 진행한 다른 캠퍼의 코드를 확인하고, 해당 캠퍼가 구현한 내용이 체크포인트들을 만족하는지 설문조사지를 또 작성한다. 여기서 조금 아쉬웠던 부분이, 해당 조사지에 캠퍼가 코드를 최종 수정한 시간이 이전날 19시 이전인지를 묻는 선택지가 있다. 후술하겠지만 이 항목이 별로 긍정적인 결과를 가져오지는 않는 것 같다.
피어 세션에 들어가면 구체적으로 그 전날 미션에 대해 본인 제외 3명의 캠퍼분들과 이야기한다. 자신은 이 문제를 해결하기 위해 어떤 방법을 사용하였고, 이렇게 구현하니 어떤 이점, 단점이 있는지와 어떻게 하면 더 좋은 코드를 작성할 수 있었을지 이야기한다. 나는 항상 혼자 개발해 왔기 때문에 이런 경험은 내 코드 뿐만 아니라 다른 사람의 코드를 보고 리뷰할 수 있는 능력을 길러주어서 좋았던 것 같다.
릴레이 프로젝트♼
챌린지 기간 금요일에는 문제를 풀지 않고 릴레이 프로젝트를 진행한다. 이 릴레이 프로젝트는 매 주마다 다른 조의 프로젝트를 이어받아 구현하는 활동이다. 특이한 점은 새로운 기술(아마 처음 접해 보았을법한 기술)을 학습+사용하여 개발한다는 것이다.
첫주는 기획을 한다. 기획한다고 해도 내가 실제로 만들지는 않아서, 다른 캠퍼가 이 프로젝트를 성공시킬지 혹은 어디까지 구현할지 생각하면서 기획을 했다. 두번째 주부터는 무작위로 다른 프로젝트를 이어받아서 하루동안 개발을 한다. 최종적으로 마지막 주에 마무리 구현을 하고 부스에서 발표하는 시간을 갖는다. 살짝 내가 첫주에 기획한 프로젝트가 어떻게 구현되었는지 봤는데, 너무 장황하게 기획을 했는지 제대로 구현되어 있지는 않았다(...) 그래도 흔치 않은 신기한 경험이었다.
불안감😱
챌린지 기간을 표현하는 두 개의 단어가 있다면 하나는 '수면' 이고, 하나는 '불안' 이었을 것이다(적어도 나는 그랬다). 첫번째 단어는 챌린지 일정이 생각보다 빡셌기 때문이라고 충분히 추측해볼 수 있다. 그리고 두 번째 단어는 아마 다른 캠퍼분들, 특히 맴버십을 노리셨던 캠퍼분들은 충분히 공감하셨을 것이라고 생각한다. 챌린지 1개월 동안 열심히 과정을 따라가서 선택(?)받아야만 맴버십 과정에 입과할 수 있기 때문에, 항상 불안감을 가지고 있었다.
아까 제출시간을 묻는 항목이 있었다고 했는데, 이 항목이 생각보다 많은 불안감을 가지고 온다. 그날 미션이 어려워서 혹은 개인 사정으로 미션을 19시까지 제출하지 못하면, 그 다음날 피어 세션에서 X 가 찍힐 것이 분명하기 때문에 이게 어떻게 맴버십 합불에 영향을 줄지 알 수가 없다. 그래서 제대로 구현하지 못한 코드라도 꾸역꾸역 19시까지 제출하고 손대지 않는 경우를 피어세션 하면서 정말 많이 봤다. 이게 더욱 문제가 되는건 제출한 뒤에 뭔가 버그를 발견하고 19시 이후에 코드를 고치고 싶어도, 고치면 최종 시간이 19시 이후가 되버려서 이를 꺼리게 된다는 점이다... 운영진 분들께서는 학습이 더 중요하다고 하셨지만 캠퍼분들 마음속에는 학습도 학습이지만 맴버십 입과도 중요하기 때문에 발생한 문제라고 생각한다.
열정🎇
챌린지 과정을 참여하면서 느낀 것은, 정말 다른 캠퍼분들이 열정이 넘치신다. 참여하고 싶은 모든 사람이 들어오는 것이 아닌, 나름 서류와 코딩테스트를 통과하신 분들이 참여하실 수 있기 때문에 일단 어느정도 실력이 있는 분들이시고, 배우려는 열정으로 넘치는 분들이 아주 많았다. 그래서 만약 챌린지 과정에 참여하게 된다면 열정이 없었더라도(!) 옆 캠퍼 따라 함께 열심히 하게 될 것이다. 이렇게 열정이 전파되었기 때문에 챌린지 과정에서 모두가 많은 성장을 이룰 수 있었다.
챌린지 수료와 맴버십 합격❗️
한달간의 빡센 과정을 마치고, 맴버십 합격 소식을 들을 수 있었다. 발표 당일날 Gmail에 들어가서 새로고침만 하고있었던 기억이 난다. 챌린지 과정에서 총 20일간 미션을 풀었는데 그중 2번정도 19시에 제출하지 못했고, 거의 모든 체크포인트에 O 를 찍었었다(다른 캠퍼분들이 내 코드를 보고 O를 찍어주셨을지는 모르겠다). 맴버십 과정 슬랙에 들어가 보니 챌린지때 인원에서 70%정도는 왔던 것 같다. 생각보다 경쟁이 엄청 심하지는 않으니 혹시 이 글을 읽는 분들중 이후에 부스트캠프에 참여하시는 분이 계신다면 너무 불안해 하지는 말라고 조언해주고 싶다.
8주간의 학습 스프린트🏃🏻, 그리고 문제점😞
맴버십 과정에서는 먼저 학습 스프린트를 진행한다. 학습 스프린트에서는 격주마다 새로운 미션이 주어진다. 이 미션은 기능 요구사항과 디자인 요구사항에 맞춰서 웹 서비스를 개발한다. 이때부터는 그래도 챌린지 때보다는 여유가 생기게 된다. 무엇보다 맴버십에 합격해야 한다는 불안감이 없기 때문에 훨씬 스트레스를 덜 받으면서 진행할 수 있다.
주어지는 미션은 피그마를 통해서 요구사항을 확인할 수 있다. 격주마다 하나의 미션이 제공되니 총 4개의 프로젝트를 진행했었다. 매일 아침에는 챌린지 때와 비슷하게 피어 세션을 하는데, 이때는 그 전날 다른 캠퍼분들이 개발한 내용과 과정에 대해 이야기하고 서로가 어떻게 개발해야 좋을지 이야기하는 시간을 갖는다. 또한 마스터분들께서 정기적으로 마스터 클래스를 통해 프론트엔드와 백엔드 강의를 해주신다. 개인적으로 마스터 클래스가 알찬 내용들이 많아서 배우는 점이 많았던 것 같다.
학습 스프린트 두 번째 미션쯤부터는 리뷰어 분들이 참여해 주셨다. 리뷰어 분들께 매주 진행상황을 이야기하고 코드리뷰를 받을 수 있다. 여기서 정말 아쉬운 부분은, 백엔드 분야의 리뷰어 분들이 한 분도 없었다. 부스트캠프가 Javascript로만 진행되어서 그런지 리뷰어분들은 모두 프론트엔드 분들이었다. Javascript가 프론트에서만 쓰이는 언어는 아닌데... 우리나라에서는 아무래도 프론트쪽에서 많이 사용하니 리뷰어분들도 모두 프론트엔드분이셨던 것 같다.
부스트캠프를 진행하면서 가장 아쉬웠던 점이 여기서 드러난다. 바로 백엔드에 관련하여 상당히 지원이 부족하다는 점이다. 사실 리뷰어 문제도 그렇지만, 학습 스프린트를 통틀어서 모든 미션이 2주 내에 프론트엔드도 완벽하게 구현하기 힘들다. 보통 프론트엔드를 먼저 개발한다는 점을 감안하면, 대부분의 캠퍼분들은(나 포함) 모두 2주차가 끝날때 프론트엔드를 하고 있었다... 백엔드는 정말 최소한으로 메모리 DB를 사용해서 데이터만 뱉는.. 그런 경우가 많았던 것 같다. 나는 이전부터 백엔드를 지망하고 있었던 것을 생각하면 상당히 많이 아쉬운 점이었다.
물론 백엔드 개발자가 프론트엔드 지식이 필요하지 않은가? 라고 묻는다면 절대 아니라고 답하고 싶다. 그러나 부스트캠프에 지원한 분들은 대부분 취업이 목표이신 분들이라고 생각한다. 분명 지원 공고에는 웹 풀스택이라고 적혀있지만 막상 들어가면 프론트엔드를 정말 많이 하게 된다. 자신이 현재 정말 프론트엔드보다 백엔드에 많이 집중해야 하는 시점이고, 특히 Java/Spring을 위주로 공부하는게 최우선이라고 한다면 부스트캠프 지원에 대해서 다시한번 생각해보는 것을 추천한다. 하지만 백엔드 지망이고 아직 시간이 많다면 부스트캠프를 강력 추천한다. 여담으로 백엔드 마스터분은 정말 좋다.. 진짜로!!
6주간의 팀 프로젝트🤝
8주동안 총 4개의 프로젝트를 완료하고 그 다음주부터는 6주간의 팀 프로젝트에 들어갔다. 팀 배정은 사전에 4명이서 정해서 팀을 구성할 수도 있고, 아니면 그냥 랜덤으로 배정받기를 택할수도 있다. 나는 랜덤으로 배정받기를 택하여 팀을 구성했다. 이전 기수에서는 기업에서 과제를 주고 이를 구현하는 과제를 했던 것 같은데, 이번 기수에서는 완전 자유 주제로 주제 정하기부터 시작하여 기획/개발을 모두 진행한다. 우리 팀에서 주제 정하는 회의를 진행했었고, 우리 팀에서는 내 아이디어로 결정되어서 개발을 진행하게 되었다.
6주 중 첫 주는 아이디어 선정/기술 선정 등 기획을 한다. 그리고 두번째 주부터 다섯번째 주까지 총 4주동안 기능 개발을 하고, 마지막 주에 테스트 및 버그 수정을 진행하는것이 정해져 있었다. 물론 공개된 팀 프로젝트이기 때문에 마음대로 일정을 조정해도 된다. 다만 기술 스택은 react + nodejs 로 고정 정도는 되었던 것 같다. 다른 세 캠퍼분들은 모두 프론트엔드를 원하셨고 나 혼자 백엔드를 원했기에 자연스럽게 내가 백엔드를 주로 맡게 되었다.
개발 자체는 꽤 순조롭게 진행되었다. 사실 기술 선정이랑 기획 과정이 더 어려웠을 정도로 순탄했던 것 같다. 다만 다른 팀은 팀끼리 미팅도 갖고 좀더 원활한 소통이 가능했던 것 같은데, 우리 팀은 좀 그렇지 못한 것 같아 아쉬웠다. 막판에는 다른 팀원 분들도 일정이 있어서 정말 막판에 더 열심히 개발했던 것 같다. 만든 프로젝트 NullPointerException에 대한 이야기는 Github와 Github Wiki에 잘 정리해 놓았다. 내 블로그에도 개발하면서 생각했던 고민을 기록해 놓았다.
부스트캠프 수료, 네트워킹 데이🤗
팀 프로젝트 6주차 금요일에는 네트워킹 데이를 준비하는 마지막 리허설을 진행한다. 그리고 챌린지까지 포함하여 총 5개월간의 긴 여정을 마치고 부스트캠프를 수료하는 수료식을 진행한다. 수료식에서는 영상편지와 부스트캠프 갤러리, 롤링페이퍼도 작성한다. 나는 부스트캠프 내에서 상당히 아싸인 축에 속해서 아무도 안써주실 줄 알았는데 무려 여섯 분께서... 작성해주셨다. 정말 감사합니다 ㅠㅠㅠ
수료식을 진행하고 그 다음주 월요일에는 진짜 마지막으로 네트워킹 데이가 진행된다. 네트워킹 데이는 많은 기업 관련 관계자분들이 오셔서 부스트캠프에서 제작한 프로젝트의 발표를 보시고, 게더타운에 열린 다양한 부스에 참여하여 따로 관련 프로젝트를 볼 수 있다. 여기서도 조금 문제가 있는데.. 발표시간이랑 팀별 게더타운이 열리는 시간이 같아서 실질적으로 참여하신 관계자분들이 부스에서 많은 시간을 보낼 수가 없었다...
네트워킹 데이 오후 4시쯤 모든 조에 대한 발표가 끝나고, 이제는 기업측에서 부스를 열어서 기업에 대한 소식을 들을 수 있다. 카카오, 네이버, 그리고 수많은 스타트업이 참여했었다. 1:1 상담을 해주는 부스도 있었는데, 그런 부스는 사전에 예약을 받았다. 카카오, 네이버와 인기 스타트업에 예약이 몰리는 것은 어쩔 수 없는 것 같다. 어쨌든 나는 거기서 인프랩 부스와 휴먼스케이프 부스에 참여했었다. 개인적으로 엄청 존경하는 향로님을 줌으로 영접할 수 있어서 너무 좋았다... 인프랩이 역시 향로님 인기 덕분인지 웹 캠퍼가 120명 정도인데 40명정도가 인프랩 공개부스에 있었다.
네트워킹 데이까지 끝이 나고 슬랙에는 채용 공고가 올라온다. 채용 공고는 대기업에서는 부스트캠퍼 전형을 따로 열어주는 것 같다. 나는 사정상 대기업은 지원 불가이기 때문에 스타트업 공고를 눈여겨 보고 있다.
그 이후🤔
이렇게 챌린지~맴버십의 5개월을 6000자 정도에 요약했다. 결론적으로 지금 와서 부스트캠프를 통해 내가 처음에 얻고자 했던 '내가 지금
잘 하고 있는지'에 대한 답은 어느 정도는 얻을 수 있었던 것 같다. 그 전까지는 혼자 공부해서 막막한 점이 많았는데 부스트캠프에 참여하고 나서부터 개발에 대한 열망이 넘치는 분들이 이렇게 많다는 것을 느끼게 되었고, 그에 따라 나도 정말 열심히 공부하면서 훨씬 성장할 수 있었던 것 같다. 다시 할수 있나요? 라는 질문에는 '챌린지만 빼고요' 라고 답하고 싶다.
2021년 12월 13일 오전 6시에 이 글을 작성하고 있는데 몇 년 뒤에 이 글을 보면서 어떤 생각을 할 지 궁금하다. 그때는 지금보다 훨씬 성장한 개발자가 되어 있을까?
'Story' 카테고리의 다른 글
2021 부스트캠프 6기 지원부터 챌린지 합격까지 (0) | 2021.07.17 |
---|---|
[리뷰]스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (0) | 2021.01.05 |
엠포우 H20 헤드셋 리뷰 + 뚜렷한 단점 (0) | 2020.11.27 |
댓글