📁 회고

[부스트캠프 웹・모바일 8기] 부스트캠프 챌린지 준비 과정부터 수료 후기


챌린지 시작 전

머릿속에서 흩어져있는 내 지식들

컴퓨터공학부를 4학년 1학기까지 다니면서 다양한 크고 작은 프로젝트를 수행하며 여러 언어와 프레임워크를 다뤄보았습니다. 하지만 체계적인 학습 없이 프로젝트를 진행하고 필요한 지식을 그때그때 쌓아가다 보니, 지식이 흩어져 날아다니는 것 같은 느낌을 받았습니다. 그래서 CS 지식부터 React까지 다시 공부하며 학습 내용을 체계적으로 정리하고 싶었습니다. 이때 부스트캠프를 알게 되었고, React와 Node.js를 동시에 다룰 수 있어 흥미가 생겨 도전해보기로 했습니다.

자바스크립트로 코딩테스트 문제를 풀자!

신년 계획 2023년 신년 계획을 세울 때 부스트캠프 챌린지에 도전하기로 마음먹었습니다. 지금까지는 Python과 Kotlin을 섞어서 알고리즘 문제를 해결해왔지만, 프론트엔드 개발을 선택한 지금은 자바스크립트로 알고리즘 문제를 푸는 것이 더 나을 것 같아서 자바스크립트 언어를 사용해 기초부터 다시 연습했습니다. 프로그래머스 입문 100문제부터 시작하여 1레벨, 2레벨 문제를 차례대로 풀어나갔습니다. 겨울방학 초반에는 하루에 2시간 정도씩 문제를 풀었으나 후반부에는 졸업작품과 연구실 프로젝트로 인해 시간을 투자하지 못한 시기도 있었습니다.

챌린지 준비 기간동안 극복했던 시련들

2023년 신년 계획을 세울 때 챌린지에 도전하겠다는 결심을 했지만, 갑작스럽게 연구실 프로젝트에 투입되면서 어려움이 찾아왔습니다.
연구실 프로젝트에서는 React Native, BLE 통신, 아두이노, MQTT 통신 등 낯선 기술들을 익히고 프로젝트를 구현해야 했습니다.
처음 접하는 기술들이 많아 무엇부터 어떻게 해야 할지 막막했습니다.
게다가 이 시기에는 졸업작품 개발도 함께 진행해야 했는데 여기서도 한 번도 해보지 못한 Github Action, AWS, 빅스비 캡슐, Node.js 등을 익혀야했습니다.
할 일도 많은 데다가 전부 다 새로운 것들이라서 정말 두려웠고 압박감이 심했습니다.
이러한 상황에서 이 모든 것을 어떻게 끝내야 할까? 하는 불안감이 생겼고, 부스트캠프 준비에만 집중하고 싶은데 다른 프로젝트들이 길을 막는 듯한 느낌을 받았습니다.
하지만 챌린지를 마치고 돌아보니 이때의 생각은 완전히 사라졌습니다.

챌린지를 합격했지만 기쁨보다 걱정이 가득

챌린지 합격 소식을 듣고 기쁨보다는 걱정이 더 크게 다가왔습니다. 그동안 졸업작품, 연구실 프로젝트 등을 힘겹게 해내면서 많이 지쳐서 코딩 슬럼프에 빠진 시기였기 때문입니다.
수많은 챌린지 후기 글들을 읽어보면 다들 밤을 새울 정도로 열정적이었고 슬럼프는커녕 막 성장하고 있는 사람들을 보는 것 같았습니다.
너무 지친 저는 저렇게 열정적으로 생활할 자신도 없었고, 챌린지 기간을 거치면서 슬럼프가 더욱 심해져서 코딩이 싫어질까 봐 두려웠습니다.

챌린지 기간

나 생각보다 코딩을 좋아할지도?

위에서 느꼈던 걱정, 두려움, 심란함, 지침 이런 감정들은 갑자기 어디로 사라졌을까요? 챌린지가 너무 재미있었습니다.
놀이공원에서 롤러코스터를 타기 전에 약간 무섭지만, 막상 타면 너무나도 즐거운 것처럼 제겐 챌린지 기간이 보기엔 무섭지만, 막상 타면 재미있는 놀이기구를 타는 기분이었습니다.
매일 주어지는 과제들은 진짜 어려웠고 코딩테스트 문제처럼 요구사항이 명확하지 않아서 머리를 싸매고 고민해야했습니다.
하지만 챌린지 준비 기간 동안 졸업작품, 연구실 프로젝트를 진행하면서 갑자기 새로운 것들을 배우고 익혀서 구현해야 했던 시련을 미리 겪어서 그런지 챌린지 기간의 시련은 견딜 수 있을 정도의 시련이었습니다.
지금까지 갑자기 배워야 했던 기술들은 빅스비 캡슐, 아두이노 같은 제 진로와 상관없는 것이 대부분이라서 "내가 이걸 배워서 어디에 쓰지?", "이걸 익히는 게 취업에 도움이 될까?" 같은 스트레스를 받으면서 공부했습니다.
반면, 챌린지 기간의 과제는 하나같이 도움되는 내용들이라서 걱정 없이 학습할 수 있는 게 제일 재미있었습니다.
제가 12시만 되면 눈이 저절로 감기는 편이라서 새벽까지 코딩을 잘 못 합니다.
하지만 챌린지 기간 동안은 몰입해서 코딩을 하다 보면 어느새 새벽 4시가 되어있어서 정말 신기했습니다.

부스트캠프 캠퍼들

챌린지 기간 동안 가장 좋았던 것은 함께 학습하는 동료가 있다는 것이었습니다.
그동안 프로젝트를 할 때 제가 맡은 부분이 많아서 거의 혼자 하는 것 같은 프로젝트가 많았습니다.
그래서 동료의 중요성을 크게 느끼지 못한 채 살아왔습니다.
하지만 부스트캠프 챌린지 기간을 지내면서 동료가 얼마나 중요한지, 소통이 얼마나 큰 힘이 되는지 배우게 되었습니다.
만약 챌린지 과제들을 혼자서 해야 했다면 전부 완수하긴 힘들었을 것 같습니다.
하지만 나와 같은 과제를 수행하는 동료들이 있고, 문제의 요구사항에 대해 슬랙에서 끊임없이 토론이 열려서 학구열을 상승시켜줬습니다.
그리고 가장 좋았던 점은 피어 세션 시간에 코드리뷰를 할 수 있었다는 것입니다. 동료들의 코드를 보면서 유용한 팁을 많이 배울 수 있었고, 무엇보다 힘이 되었던 것은 서로 과제를 어떻게 수행했는지에 관해 이야기하며 동기부여를 얻을 수 있어서 유익했습니다. 챌린지 4일차에 과제가 너무 어렵고, 전날 수면시간 조절 실패로 과제를 완수하지 못한 채 포기하고 자고 싶었던 날이 있었습니다.
그때 내일 피어 세션에서 내 코드를 보게 될 동료들의 얼굴을 생각하니 차마 포기할 수 없어서 끝까지 정신을 붙잡고 과제를 수행했던 경험이 있었습니다.
그뿐만 아니라 열정적인 동료들에 의해 동기부여를 받았던 것, 빠르게 성장하는 동료들을 보며 자극을 받았던 것 등 제 성장의 원동력은 다른 캠퍼들이었습니다.

부스트캠프를 하면서 짜릿했던 순간들

우물안의 개구리가 아니라 강에서 바다로 헤엄쳐가는 개구리

컴퓨터공학부를 다니면서 괴물같이 코딩을 잘하는 동기들도 많이 봐왔고, 제 이해력과 두뇌 회전이 그다지 빠른 편은 아니라서 '내가 잘하고 있을까?', '나 같은 멍청이가 개발자를 해도 될까?' 하는 고민을 많이 했습니다.
그리고 코딩 실력에 대한 자신감도 아주 부족한 편이었습니다.
3학년 1학기 끝나고 쯤부터 동기들에게 잘한다는 소리를 몇 번 듣긴 했지만, 정말 그런 것이 아니라 우물 안의 개구리 혹은 그냥 하는 칭찬 정도라고 생각했습니다.
그래서 부스트캠프에서 내 현실을 제대로 직시하고 충격받은 후에 성장하려고 마음먹었습니다.
하지만 챌린지 기간 동안 생각보다 과제를 잘 끝마치고, 동료 캠퍼들에게 간간이 칭찬받기도 하면서 제 자신감이 점점 올라갔습니다.
'내가 최고야' 정도는 아니지만, '그래도 나 개발자의 길이 맞긴 하구나….', '나 지금까지 열심히 살아왔구나' 하고 확인받을 수 있는 시간이라서 너무 기뻤습니다.

혼자 성장하는 것은 없다. 무조건 다함께 성장한다.

보통 개발자 하면 혼자 방구석에서 코딩하며 실력을 쌓는 모습을 상상하곤 합니다.
저 또한 그런 개발자들이 진정한 능력자라고 생각했습니다. 내가 공부한 것은 나에게만 도움 되고, 나만 성장한다고 생각했습니다.
그런데 부스트캠프에서는 모두가 각자의 깨달음이나 유용한 꿀팁, 생각 등을 슬랙에 공유했습니다.
처음에는 이런 공유 문화가 익숙하지 않았는데 점차 물들어갔습니다.
생각해보면 내가 배우고 익히는 내용도 결국 누군가의 결과물이나 기록물을 보고 하는 것이고, 혼자만으로는 아무것도 할 수 없다는 생각이 들었습니다.
그래서 챌린지 후반이 될수록 내가 아는 유용한 꿀팁들을 남에게 공유하려고 노력했던 것 같습니다.

챌린지 기간동안 제가 느꼈던 생각을 너무 잘 표현한 귀멸의칼날의 한 장면이 있어서 가져왔습니다 ㅎㅎ 귀멸의 칼날

챌린지가 끝나고

코딩 습관의 변화

챌린지 시작 전의 제 코딩 습관을 한마디로 표현하자면 "5분의 공식문서 읽는 시간을 아끼기 위해 6시간 동안 삽질한다." 였습니다.
무언가를 읽고, 익히는 것에 너무나도 서툴고, 문서를 읽고 구상할 시간에 빨리 코드를 완성하는 것이 더 이득이라고 생각했었습니다.
그런데 부스트캠프의 과제들은 생각 없이 구현하는 것으로는 도저히 해결할 수 없었습니다. 그러다 보니 꼼꼼하게 과제의 요구사항을 읽고, 과제에 필요한 지식에 대한 공식문서, 블로그 글을 읽고 정리하는 과정을 필수적으로 거쳐야 했습니다. 덕분에 구현 전 생각하는 능력을 기를 수 있었고, 후반에는 설계하는 것이 즐겁기까지 했습니다.

연구실 프로젝트를 끝마치다

2023년 동안 저를 제일 힘들게 했던 프로젝트인 연구실 프로젝트를 드디어 끝마쳤습니다.
부끄러운 이야기이지만, 챌린지 기간 전까지는 이 프로젝트가 너무나도 부담되고 하기 싫어서 어떻게든 기능만 동작하게 완성하고 끝내버리자고 생각했습니다. 그래서 못생기고 최적화도 되지 않은 앱을 결과물로 제출하려고 했습니다.
그런데 챌린지 과정을 통해 학습의 두려움도 극복했고, 설계의 재미도 알게 되어서 챌린지 기간이 끝나고 바로 다음 날부터 연구실 프로젝트 앱을 전면 리펙터링하기 시작했습니다. 챌린지 기간 동안 익힌 타입스크립트도 적용해보고, UI/UX도 개선하고, 앱 최적화도 했습니다.
분명 챌린지 기간 동안 React Native에 대해서는 아무것도 배우지 않았는데 챌린지 전과 후의 제 실력은 차원이 달랐습니다.
왜냐하면 챌린지를 통해 배운 것은 지식 그 자체가 아니라 학습하는 방법이었기 때문입니다. 덕분에 익숙하지 않은 기술에 대한 공식문서도 꼼꼼하게 읽고 구현할 수 있었습니다.
리펙터링을 하는 내내 제 마음가짐도 많이 달라진 것을 느꼈습니다.
챌린지 이전에는 "이 기능을 구현하기 위해 어떻게 해야 하지?" 였다면, 지금은 "이 기능을 구현하는 방법은 A, B, C가 있는데 어떻게 해야 더 사용자가 사용하기 편할까?"라는 고민하며 코드를 작성하는 개발자가 되었습니다. Before / After라는 부연설명이 없어도 어떤게 개선한 것인이 확연히 보이는 앱

마무리

부스트캠프 챌린지를 통해 개발자로서 계속 성장하는 데 정말 중요한 덕목인 "학습"에 대해 배울 수 있어서 정말 뜻깊은 시간이었습니다. 그리고 챌린지를 통해 동료와의 소통, 협력에 대해 배우며 사회에서 어떻게 나누고 배려하며 살아야 할지를 고민해봐야겠다는 철학적인 생각도 하게 되었습니다. 지금까지 인식하지 못했던 사회 속에서 살아가며 제가 누렸던 혜택들에 대해서도 고민하게 되었습니다.
이런 생각을 하다 보니 챌랜지 기간 동안 제가 온전히 집중할 수 있도록 해주신 부모님께 감사한 마음이 듭니다.
앞으로 이런 생각들을 잊지 않고 끊임없이 생각하고 성장하는 개발자가 될것입니다.